ALib C++ Library
Library Version: 2510 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
tastring_ca_decl.inl.inl
Go to the documentation of this file.
1//==================================================================================================
2/// \file
3/// This header-file is part of module \alib_strings of the \aliblong.
4///
5/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
6/// Published under \ref mainpage_license "Boost Software License".
7//==================================================================================================
8#if !defined(ALIB_STRINGS_TASTRING_INSTANTIATION)
9# error "ALib sources with ending '.inl' must not be included from outside."
10#endif
11
12
13// #################################################################################################
14// #################################################################################################
15// This inlined header 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_impl.inl", the corresponding implementations are to be made.
24// #################################################################################################
25// #################################################################################################
26
27#if !defined(ASTR_TCHAR_SPEC)
28# error "Preprocessor symbol ASTR_TCHAR_SPEC has to be given as ALIB_CHAR_TYPE_ID_XYZ before invoking this .INL"
29#endif
30#if !defined(ASTR_TALLOC_SPEC)
31# error "Preprocessor symbol ASTR_TCHAR_SPEC has to be given as ALIB_CHAR_TYPE_ID_XYZ before invoking this .INL"
32#endif
33
34
35#if DOXYGEN // strangely needed for doxygen
36#elif ASTR_TCHAR_SPEC == ALIB_CHAR_TYPE_ID_N
37# define TCHARNAME nchar
38# define TCHAR2 wchar
39# define TCHAR3 xchar
40#elif ASTR_TCHAR_SPEC == ALIB_CHAR_TYPE_ID_W
41# define TCHARNAME wchar
42# define TCHAR2 nchar
43# define TCHAR3 xchar
44#elif ASTR_TCHAR_SPEC == ALIB_CHAR_TYPE_ID_X
45# define TCHARNAME xchar
46# define TCHAR2 nchar
47# define TCHAR3 wchar
48#else
49# error
50#endif
51
52
53ALIB_EXPORT namespace alib { namespace strings {
54
55
56
57//! @cond NO_DOX
58
59// #################################################################################################
60// member implementations
61// #################################################################################################
62
63// instantiations
71#if ALIB_DEBUG_STRINGS
73#endif
74
75// #################################################################################################
76// AppendableTraits implementations
77// #################################################################################################
81#if ALIB_DEBUG
83#endif
84#if ALIB_EXT_LIB_THREADS_AVAILABLE
86#endif
90
91extern template ALIB_DLL void AppendableTraits<TDec <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TDec <TCHARNAME>& );
92extern template ALIB_DLL void AppendableTraits<TTab <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TTab <TCHARNAME>& );
93extern template ALIB_DLL void AppendableTraits<TEscape<TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TEscape<TCHARNAME>& );
94extern template ALIB_DLL void AppendableTraits<TBin <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TBin <TCHARNAME>& );
95extern template ALIB_DLL void AppendableTraits<THex <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const THex <TCHARNAME>& );
96extern template ALIB_DLL void AppendableTraits<TOct <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TOct <TCHARNAME>& );
97extern template ALIB_DLL void AppendableTraits<TFill <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TFill <TCHARNAME>& );
98
99#if !ALIB_BOXING
100extern template ALIB_DLL void AppendableTraits<TField <TCHARNAME>, TCHARNAME, ASTR_TALLOC_SPEC>::operator()( TAString<TCHARNAME, ASTR_TALLOC_SPEC>&, const TField <TCHARNAME>& );
101#endif
102
103
104//! @endcond
105
106}} // namespace [alib::strings]
107
108#undef TCHARNAME
109#undef ASTR_TALLOC_SPEC
110#undef ASTR_TCHAR_SPEC
111#undef TCHAR2
112#undef TCHAR3
113
114
115
116
117
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)
#define ALIB_DLL
Definition alib.inl:496
#define ALIB_EXPORT
Definition alib.inl:488
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)