11#if !defined(ALIB_C20_MODULES) || ((ALIB_C20_MODULES != 0) && (ALIB_C20_MODULES != 1))
12# error "Symbol ALIB_C20_MODULES has to be given to the compiler as either 0 or 1"
95template<
typename TChar>
142 namespace APPENDABLES {
375 namespace strings {
namespace compatibility {
namespace std {
391 if (
string.IsNotEmpty() )
392 stream.write(
string.Buffer(),
string.Length() );
407 stream->write(
string.Buffer(),
string.Length() );
485 if (
string.IsNotEmpty() )
487 #if ALIB_CHARACTERS_NATIVE_WCHAR
488 stream.write(
string.Buffer(),
string.Length() );
525 string << alib::strings::compatibility::std::TISReadLine<alib::nchar>( &stream,
544 if (stream !=
nullptr)
545 string << alib::strings::compatibility::std::TISReadLine<alib::nchar>( stream,
569inline std::basic_istream<wchar_t>&
operator>>( std::basic_istream<wchar_t>& stream,
572 #if ALIB_CHARACTERS_NATIVE_WCHAR
573 string << alib::strings::compatibility::std::TISReadLine<wchar_t>( &stream,
578 converter << alib::strings::compatibility::std::TISReadLine<wchar_t>( &stream,
580 string.Reset( converter );
599inline std::basic_istream<wchar_t>*
operator>>( std::basic_istream<wchar_t>* stream,
604 if (stream !=
nullptr)
622template<
typename TAppendable>
625std::ostream&
operator<<( std::ostream& stream,
const TAppendable& appendable )
647template<
typename TAppendable>
650std::ostream*
operator<<( std::ostream* stream,
const TAppendable& appendable )
652 if (stream !=
nullptr)
669template<
typename TAppendable>
672std::wostream&
operator<<( std::wostream& stream,
const TAppendable& appendable )
674 #if ALIB_CHARACTERS_NATIVE_WCHAR
699template<
typename TAppendable,
typename TAllocator>
702std::wostream*
operator<<( std::wostream* stream,
const TAppendable& appendable )
704 if (stream !=
nullptr)
712 }}
namespace APPENDABLES {
TAString & _(const TAppendable &src)
void DbgDisableBufferReplacementWarning()
constexpr integer Length() const
constexpr bool IsNotEmpty() const
constexpr const TChar * Buffer() const
::std::istream * GetStream()
compatibility::std::TISReadLine< nchar > readOp
void SetStream(::std::istream *is)
void Read(NAString &target)
void Read(WAString &target)
NAString converter
The string buffer used for conversion.
StringReader()
Constructor.Invokes SetStream passing std::cin.
NAString converter
The string buffer used for conversion.
void SetStream(::std::ostream *os)
ALIB_DLL integer WriteAndGetWideLength(const NString &src)
ALIB_DLL integer WriteAndGetWideLength(const WString &src)
ALIB_DLL void Write(const WString &src)
::std::ostream * GetStream()
ALIB_DLL void WriteChars(const nchar fillChar, integer count)
ALIB_DLL void Write(const NString &src)
#define ALIB_ASSERT_WARNING(cond, domain,...)
#define ALIB_STRINGS_SUPPRESS_STD_OSTREAM_OPERATOR(TYPE)
@ Keep
Chooses not no clear existing data.
@ Clear
Chooses to clear existing data.
ALIB_EXPORT std::istream & operator>>(std::istream &stream, alib::NAString &string)
ALIB_EXPORT std::ostream & operator<<(std::ostream &stream, const alib::NString &string)
strings::TAString< wchar, lang::HeapAllocator > WAString
Type alias in namespace alib.
strings::compatibility::std::TISReadLine< wchar_t > ISReadLineW
Type alias in namespace alib.
strings::compatibility::std::TISReadLine< char > ISReadLineN
Type alias in namespace alib.
strings::compatibility::std::TISReadLine< character > ISReadLine
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
strings::TString< nchar > NString
Type alias in namespace alib.
strings::TAString< nchar, lang::HeapAllocator > NAString
Type alias in namespace alib.
strings::TString< wchar > WString
Type alias in namespace alib.
characters::nchar nchar
Type alias in namespace alib.
strings::TLocalString< xchar, TCapacity, lang::HeapAllocator > XLocalString
Type alias in namespace alib.
strings::compatibility::std::StringWriter StringWriter
Type alias in namespace alib.
strings::compatibility::std::StringReader StringReader
Type alias in namespace alib.
NLocalString< 256 > NString256
Type alias name for TLocalString<nchar,256>.
strings::TLocalString< wchar, TCapacity, lang::HeapAllocator > WLocalString
Type alias in namespace alib.
void operator()(TAString< TChar, lang::HeapAllocator > &target, const compatibility::std::TISReadLine< TChar > &reader)
lang::CurrentData TargetData
::std::basic_istream< character > * IStream
TISReadLine(::std::basic_istream< TChar > *istream, lang::CurrentData targetData=lang::CurrentData::Clear, integer bufferSize=256, integer maxLineWidth=4096)