ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
lang/format/fwds.hpp
Go to the documentation of this file.
1//==================================================================================================
2/// \file
3/// This header file is part of sub-namespace #alib::lang::format of module \alib_basecamp of
4/// the \aliblong.
5///
6/// \emoji :copyright: 2013-2024 A-Worx GmbH, Germany.
7/// Published under \ref mainpage_license "Boost Software License".
8//==================================================================================================
9#ifndef HPP_ALIB_LANG_FORMAT_FWDS
10#define HPP_ALIB_LANG_FORMAT_FWDS 1
11#pragma once
14
16
17namespace alib { namespace lang { namespace format {
18
19 //==============================================================================================
20 /// This interface class exposes interface method \c Invoke which writes the content of the
21 /// box to the given \b %AString object in accordance with \c formatSpec.
22 ///
23 /// \see
24 /// For more information about this class see chapter
25 /// \ref alib_basecamp_format_custom_types "4.3. Formatting Custom Types" of the
26 /// \ref alib_basecamp_format "Programmer's Manual" of module \alib_basecamp_nl.
27 //==============================================================================================
28 struct FFormat
29 {
30 /// Signature of the invokable function.<br>
31 /// Implementations write the content of \p{box} to the given \b %AString object \p{target} in
32 /// accordance to the type-specific format specification \p{formatSpec}.
33 ///
34 /// @param self The box that the function was invoked on.
35 /// @param formatSpec The specification of the format (type specific). If empty, a default
36 /// specification string might have to be chosen.
37 /// @param nf A copy of the number format of the formatter (allowed to be modified).
38 /// @param target The AString object receiving the formatted string.
39 using Signature = void (*) ( const Box& self, const String& formatSpec, NumberFormat& nf,
40 AString& target );
41 };
42
43
44
45 // #################################################################################################
46 // Forwards
47 // #################################################################################################
48
49 class Formatter;
52 class Paragraphs;
53
54} // namespace alib::lang[::format]
55
56namespace basecamp { class BaseCamp; }
57
58} // namespace alib[:lang]
59
60
61// #################################################################################################
62// Alias types in namespace #alib.
63// #################################################################################################
64/// Type alias in namespace \b alib.
66
67/// Type alias in namespace \b alib.
69
70/// Type alias in namespace \b alib.
72
73/// Type alias in namespace \b alib.
75
76/// A shared pointer to instances of \alib{lang::format;Formatter;standard formatters}.
77/// \see Static member \alib{lang::format;Formatter::Default}.
79
80} // namespace [alib]
81
82
83#endif // HPP_ALIB_LANG_FORMAT_FWDS
84
#define ALIB_ASSERT_MODULE(modulename)
Definition alib.hpp:223
Definition alib.cpp:69
void(*)(const Box &self, const String &formatSpec, NumberFormat &nf, AString &target) Signature