ALib C++ Framework
by
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
strings_appendables.inl
Go to the documentation of this file.
1//==================================================================================================
2/// \file
3/// This header-file is part of the \aliblong.
4/// With supporting legacy or module builds, .mpp-files are either recognized by the build-system
5/// as C++20 Module interface files, or are included by the
6/// #"alib_manual_modules_impludes;import/include headers".
7///
8/// \emoji :copyright: 2013-2025 A-Worx GmbH, Germany.
9/// Published under #"mainpage_license".
10//==================================================================================================
11#if ALIB_STRINGS
12
13ALIB_EXPORT namespace alib::strings {
14// Faking all template specializations of namespace strings for doxygen into namespace
15// strings::APPENDABLES to keep the documentation of namespace string clean!
16#if DOXYGEN
17namespace APPENDABLES {
18#endif
19
20//##################################################################################################
21// AppendableTraits<boxing::Enum>
22//##################################################################################################
23#if ALIB_ENUMRECORDS
24/// Specialization of functor #"AppendableTraits" for type #"boxing::Enum".
25/// @tparam TChar The character type of the target \b %Astring.
26/// @tparam TAllocator The allocator that the target \b %AString uses, as prototyped with class
27/// #"lang::Allocator".
28template<typename TChar, typename TAllocator>
29struct AppendableTraits<boxing::Enum, TChar,TAllocator>
30{
31 /// Writes the given boxed object. This is done by invoking box-function
32 /// #"FAppend" on box \p{value}.
33 ///
34 /// @param target The \b AString that \b Append was invoked on.
35 /// @param value The enum-box to its contents to \p{target}.
36 void operator()( TAString<TChar,TAllocator>& target, const boxing::Enum& value ) {
38 }
39};
40#endif // ALIB_ENUMRECORDS
41
42//##################################################################################################
43// AppendableTraits<Box>
44//##################################################################################################
45
46/// Specialization of template functor #"AppendableTraits" for type #"Box".
47/// @tparam TChar The character type of the target \b %Astring.
48/// @tparam TAllocator The allocator that the target \b %AString uses, as prototyped with class
49/// #"lang::Allocator".
50template<typename TChar, typename TAllocator> struct AppendableTraits<boxing::Box, TChar, TAllocator>
51{
52 /// Writes the given boxed object. This is done by invoking box-function
53 /// #"FAppend" on box \p{value}.
54 ///
55 /// @param target The \b AString that \b Append was invoked on.
56 /// @param box The box to its contents to \p{target}.
59};
60
61#if DOXYGEN
62} // namespace alib::strings[::appendables]
63#endif
64} // namespace [alib::strings]
65#endif // ALIB_STRINGS
#define ALIB_EXPORT
Definition alib.inl:562
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) Call(TArgs &&... args) const
Definition box.inl:971
boxing::Box Box
Type alias in namespace alib.
Definition box.inl:1135
boxing::Enum Enum
Type alias in namespace alib.
Definition enum.inl:211
Box & CastToBox()
Definition enum.inl:124
void operator()(TAString< TChar, TAllocator > &target, const boxing::Box &box)
void operator()(TAString< TChar, TAllocator > &target, const boxing::Enum &value)