ALib C++ Framework
by
Library Version: 2605 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
strings_appendables.hpp
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/// Copyright 2013-2026 A-Worx GmbH, Germany.
6/// Published under #"mainpage_license".
7//==================================================================================================
8#if ALIB_STRINGS
9
10ALIB_EXPORT namespace alib::strings {
11// Faking all template specializations of namespace strings for doxygen into namespace
12// strings::APPENDABLES to keep the documentation of namespace string clean!
13#if DOXYGEN
14namespace APPENDABLES {
15#endif
16
17//##################################################################################################
18// AppendableTraits<boxing::Enum>
19//##################################################################################################
20#if ALIB_ENUMRECORDS
21/// Specialization of functor #"AppendableTraits" for type #"boxing::Enum".
22/// @tparam TChar The character type of the target #"^AString".
23/// @tparam TAllocator The allocator that the target #"%AString" uses, as prototyped with class
24/// #"lang::Allocator".
25template<typename TChar, typename TAllocator>
26struct AppendableTraits<boxing::Enum, TChar,TAllocator>
27{
28 /// Writes the given boxed object. This is done by invoking box-function
29 /// #"FAppend" on box \p{value}.
30 ///
31 /// @param target The #"%AString" that #"%Append(const TAppendable&)" was invoked on.
32 /// @param value The enum-box to its contents to \p{target}.
33 void operator()( TAString<TChar,TAllocator>& target, const boxing::Enum& value ) {
35 }
36};
37#endif // ALIB_ENUMRECORDS
38
39//##################################################################################################
40// AppendableTraits<Box>
41//##################################################################################################
42
43/// Specialization of template functor #"AppendableTraits" for type #"Box".
44/// @tparam TChar The character type of the target #"^AString".
45/// @tparam TAllocator The allocator that the target #"%AString" uses, as prototyped with class
46/// #"lang::Allocator".
47template<typename TChar, typename TAllocator>
48struct AppendableTraits<boxing::Box, TChar, TAllocator>
49{
50 /// Writes the given boxed object. This is done by invoking box-function
51 /// #"FAppend" on box \p{value}.
52 ///
53 /// @param target The #"%AString" that #"%Append(const TAppendable&)" was invoked on.
54 /// @param box The box to its contents to \p{target}.
57};
58
59#if DOXYGEN
60} // namespace alib::strings[::appendables]
61#endif
62} // namespace [alib::strings]
63#endif // ALIB_STRINGS
#define ALIB_EXPORT
decltype(std::declval< typename TFDecl::Signature >()(std::declval< Box & >(), std::declval< TArgs >()...)) Call(TArgs &&... args) const
Definition box.hpp:964
DOXYGEN.
Definition box.cpp:17
boxing::Box Box
Type alias in namespace #"%alib".
Definition box.hpp:1128
boxing::Enum Enum
Type alias in namespace #"%alib".
Definition enum.hpp:210
Box & CastToBox()
Definition enum.hpp:123
void operator()(TAString< TChar, TAllocator > &target, const boxing::Box &box)
void operator()(TAString< TChar, TAllocator > &target, const boxing::Enum &value)