ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
tastring_ca_impl.inl.inl
1// #################################################################################################
2// ALib C++ Library
3//
4// Copyright 2013-2025 A-Worx GmbH, Germany
5// Published under 'Boost Software License' (a free software license, see LICENSE.txt)
6// #################################################################################################
7#if !DOXYGEN
8
9#if !defined(ALIB_STRINGS_TASTRING_INSTANTIATION)
10# error "ALib sources with ending '.inl' must not be included from outside."
11#endif
12
13// #################################################################################################
14// #################################################################################################
15// This inlined compilation unit is to be included by compilation that specialize template
16// type "strings::TAString" in respect to its two template parameters TChar and TAllocator.
17// For this, before inclusion two preprocessor symbols have to be specified:
18// - ASTR_TCHAR_SPEC The character type
19// - ASTR_TALLOC_SPEC The allocator type
20// At the end of this header, both symbols will be set undefined, to allow a next invocation
21// with new symbols (and to enforce the right usage).
22//
23// With "tastring_ca_decl.inl", the corresponding declarations are to be made.
24// #################################################################################################
25// #################################################################################################
26#if !defined(ASTR_TCHAR_SPEC)
27# error "Preprocessor symbol ASTR_TCHAR_SPEC has to be given as ALIB_CHAR_TYPE_ID_XYZ before invoking this .INL"
28#endif
29#if !defined(ASTR_TALLOC_SPEC)
30# error "Preprocessor symbol ASTR_TCHAR_SPEC has to be given as ALIB_CHAR_TYPE_ID_XYZ before invoking this .INL"
31#endif
32
33#if ASTR_TCHAR_SPEC == ALIB_CHAR_TYPE_ID_N
34# define TCHARNAME nchar
35#elif ASTR_TCHAR_SPEC == ALIB_CHAR_TYPE_ID_W
36# define TCHARNAME wchar
37#elif ASTR_TCHAR_SPEC == ALIB_CHAR_TYPE_ID_X
38# define TCHARNAME xchar
39#else
40# error
41#endif
42
43
44
45namespace alib::strings {
46#if ALIB_DEBUG_STRINGS
48#endif
56
57
58#if ALIB_DEBUG
60#endif
61#if ALIB_EXT_LIB_THREADS_AVAILABLE
63#endif
67
68
74template void AppendableTraits<TDec <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TDec <TCHARNAME>& );
75template void AppendableTraits<TTab <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TTab <TCHARNAME>& );
76#if !ALIB_BOXING
77template void AppendableTraits<TField <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TField <TCHARNAME>& );
78#endif
79template void AppendableTraits<TEscape<TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TEscape<TCHARNAME>& );
80template void AppendableTraits<TBin <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TBin <TCHARNAME>& );
81template void AppendableTraits<THex <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const THex <TCHARNAME>& );
82template void AppendableTraits<TOct <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TOct <TCHARNAME>& );
83template void AppendableTraits<TFill <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TFill <TCHARNAME>& );
84
85} // namespace [alib::strings]
86
87
88#undef TCHARNAME
89#undef ASTR_TALLOC_SPEC
90#undef ASTR_TCHAR_SPEC
91
92#endif //if !DOXYGEN
93
ALIB_DLL integer SearchAndReplace(TChar needle, TChar replacement, integer startIdx=0, integer endIdx=strings::MAX_LEN)
ALIB_DLL void SetBuffer(integer newCapacity)
ALIB_DLL integer TrimAt(integer idx, const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces())
ALIB_DLL TAString & Trim(const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces())
ALIB_DLL void GrowBufferAtLeastBy(integer minimumGrowth)
Case
Denotes upper and lower case character treatment.
lang::integer integer
Type alias in namespace alib.
Definition integers.inl:149
void operator()(TAString< TChar > &target, const TAppendable &src)