8#ifndef HPP_ALIB_STRINGS_FWDS
9#define HPP_ALIB_STRINGS_FWDS 1
11#if !defined(HPP_ALIB_CHARACTERS_CHARACTERS)
20# define ALIB_STRING_DBG_CHK(instance) \
22 (instance)->dbgCheck(); \
25# define ALIB_STRING_DBG_CHK(instance)
32namespace alib {
namespace strings {
34 template<
typename TChar>
class TString;
35 template<
typename TChar>
class TSubstring;
38 template<
typename TChar,
integer TCapacity>
class TLocalString;
61 template<
typename TFrom,
64 typename TEnableIf =
void>
74using String = strings::TString <character>;
164template<
integer TCapacity>
168template<
integer TCapacity>
172template<
integer TCapacity>
176template<
integer TCapacity>
180template<
integer TCapacity>
184template<
integer TCapacity>
340#if !ALIB_CHARACTERS_WIDE
341# define ALIB_STRINGS_TO_NARROW( src,dest,bufSize ) decltype(src)& dest(src);
342# define ALIB_STRINGS_TO_NARROW_ARG( src,bufSize ) src;
343# define ALIB_STRINGS_TO_WIDE( src,dest,bufSize ) alib::strings::TLocalString<wchar,bufSize> dest(src);
344# define ALIB_STRINGS_TO_WIDE_ARG( src,bufSize ) alib::strings::TLocalString<wchar,bufSize>(src);
345# define ALIB_STRINGS_FROM_NARROW( src,dest,bufSize ) decltype(src)& dest(src);
346# define ALIB_STRINGS_FROM_NARROW_ARG( src,bufSize ) src;
347# define ALIB_STRINGS_FROM_WIDE( src,dest,bufSize ) alib::strings::TLocalString<nchar,bufSize> dest(src);
348# define ALIB_STRINGS_FROM_WIDE_ARG src,bufSize ) alib::strings::TLocalString<nchar,bufSize>(src);
350# define ALIB_STRINGS_TO_NARROW( src,dest,bufSize ) alib::strings::TLocalString<nchar,bufSize> dest(src);
351# define ALIB_STRINGS_TO_NARROW_ARG( src,bufSize ) alib::strings::TLocalString<nchar,bufSize>(src);
352# define ALIB_STRINGS_TO_WIDE( src,dest,bufSize ) decltype(src)& dest= src;
353# define ALIB_STRINGS_TO_WIDE_ARG( src,bufSize ) src;
354# define ALIB_STRINGS_FROM_NARROW( src,dest,bufSize ) alib::strings::TLocalString<wchar,bufSize> dest(src);
355# define ALIB_STRINGS_FROM_NARROW_ARG( src,bufSize ) alib::strings::TLocalString<wchar,bufSize>(src);
356# define ALIB_STRINGS_FROM_WIDE( src,dest,bufSize ) decltype(src)& dest= src;
357# define ALIB_STRINGS_FROM_WIDE_ARG( src,bufSize ) src;