rapidyaml
0.16.0
parse and emit YAML, and do it fast
Loading...
Searching...
No Matches
doxy_common.hpp
Go to the documentation of this file.
1
namespace
c4
{
2
namespace
yml
{
3
4
5
/** @defgroup doc_quickstart Quickstart
6
*
7
* Example code for every feature.
8
*/
9
10
11
/** @defgroup doc_parse Parse utilities
12
* @see @ref sample_parse_in_place()
13
* @see @ref sample_parse_in_arena()
14
* @see @ref sample_parse_file()
15
* @see @ref sample_parse_reuse_tree()
16
* @see @ref sample_parse_reuse_parser()
17
* @see @ref sample_parse_reuse_tree_and_parser()
18
* @see @ref sample_location_tracking()
19
*/
20
/** @defgroup doc_parse_in_place__with_existing_parser Parse in place with existing parser
21
* @ingroup doc_parse
22
*/
23
/** @defgroup doc_parse_in_place___with_temporary_parser Parse in place with temporary parser
24
* @ingroup doc_parse
25
*/
26
/** @defgroup doc_parse_in_arena__with_existing_parser Parse in arena with existing parser
27
* @ingroup doc_parse
28
*/
29
/** @defgroup doc_parse_in_arena__with_temporary_parser Parse in arena with temporary parser
30
* @ingroup doc_parse
31
*/
32
/** @defgroup doc_event_handlers Event Handlers
33
*
34
* Policy classes to use with the @ref ParseEngine, to create
35
* side-effects from YAML events.
36
*
37
* @ingroup doc_parse
38
*/
39
/** @defgroup doc_event_handlers_tree Tree Event Handler
40
* @ingroup doc_event_handlers
41
*/
42
/** @defgroup doc_event_handlers_ints Ints Event Handler
43
* @ingroup doc_event_handlers
44
*/
45
46
47
48
/** @defgroup doc_node_type Node types
49
*/
50
51
52
/** @defgroup doc_tree Tree utilities
53
* @see @ref sample_quick_overview()
54
* @see @ref sample_iterate_tree()
55
* @see @ref sample_create_tree()
56
* @see @ref sample_tree_arena()
57
*
58
* @see @ref sample_static_trees()
59
* @see @ref sample_location_tracking()
60
*
61
* @see @ref sample_docs()
62
* @see @ref sample_anchors_and_aliases()
63
* @see @ref sample_tags()
64
*/
65
66
67
/** @defgroup doc_node_classes Node classes
68
*
69
* High-level node classes.
70
*
71
* @see @ref sample_quick_overview()
72
* @see @ref sample_iterate_tree()
73
* @see @ref sample_create_tree()
74
* @see @ref sample_create_tree_style()
75
* @see @ref sample_tree_arena()
76
*/
77
78
79
/** @defgroup doc_emit Emit utilities
80
*
81
* Utilities to emit YAML and JSON, either to a memory buffer or to a
82
* file or ostream-like class.
83
*
84
* @see @ref sample_emit_to_container()
85
* @see @ref sample_emit_to_stream()
86
* @see @ref sample_emit_to_file()
87
* @see @ref sample_emit_nested_node()
88
* @see @ref sample_style()
89
*/
90
91
/** @defgroup doc_emit_to_buffer Emit to a memory buffer
92
* @ingroup doc_emit
93
*/
94
/** @defgroup doc_emit_to_buffer_from_root Emit full tree
95
* @ingroup doc_emit_to_buffer
96
*/
97
/** @defgroup doc_emit_to_buffer_from_node_id Emit from nested node id
98
* @ingroup doc_emit_to_buffer
99
*/
100
/** @defgroup doc_emit_to_buffer_from_noderef Emit from ConstNodeRef
101
* @ingroup doc_emit_to_buffer
102
*/
103
104
/** @defgroup doc_emit_to_container Emit to a container
105
* Overloads to emit to contiguous memory container of char like std::string or std::vector<char>
106
* @ingroup doc_emit
107
*/
108
/** @defgroup doc_emit_to_container_from_root Emit full tree
109
* @ingroup doc_emit_to_container
110
*/
111
/** @defgroup doc_emit_to_container_from_node_id Emit from nested node id
112
* @ingroup doc_emit_to_container
113
*/
114
/** @defgroup doc_emit_to_container_from_noderef Emit from ConstNodeRef
115
* @ingroup doc_emit_to_container
116
*/
117
118
/** @defgroup doc_emit_to_file Emit to file
119
* @ingroup doc_emit
120
*/
121
/** @defgroup doc_emit_to_file_from_root Emit full tree
122
* @ingroup doc_emit_to_file
123
*/
124
/** @defgroup doc_emit_to_file_from_node_id Emit from nested node id
125
* @ingroup doc_emit_to_file
126
*/
127
/** @defgroup doc_emit_to_file_from_noderef Emit from ConstNodeRef
128
* @ingroup doc_emit_to_file
129
*/
130
131
/** @defgroup doc_emit_to_ostream Emit to an STL-like ostream
132
* @ingroup doc_emit
133
*/
134
135
/** @defgroup doc_writers Writer objects to use with an Emitter
136
* @ingroup doc_emit
137
*/
138
139
140
141
/** @defgroup doc_serialization Serialization/deserialization
142
*/
143
/** @defgroup doc_serialization_using How to use (de)serialization
144
*
145
* Shows basic use of the calls to serialize and deserialize.
146
*
147
* @ingroup doc_serialization
148
* @see @ref sample_serialize_basic()
149
* @see @ref doc_serialization_user_types to implement for user types
150
*/
151
// don't wrap markdown links! doxygen won't render them.
152
/** @defgroup doc_serialization_user_types Serialization of user types
153
* @ingroup doc_serialization
154
*
155
* Shows how to implement serialization for custom user types.
156
* rapidyaml provides a serialization implementation for all
157
* fundamental types, and optionally for some STL containers. To
158
* enable use with any type, rapidyaml uses
159
* [ADL to dispatch to type-specific](http://en.cppreference.com/w/cpp/language/adl)
160
* function overloads. For serializing or deserializing custom user
161
* types, you only need to provide the appropriate overloads, which
162
* are explained here.
163
*
164
* @see @ref doc_serialization_overview to find how the user-provided functions fit into rapidyaml's serialization pipeline.
165
*/
166
/** @defgroup doc_serialization_overview Serialization overview
167
* Shows how user-provided functions fit into ryml's structure.
168
* @ingroup doc_serialization
169
*/
170
171
/** @defgroup doc_serialization_tree Serialization for Tree
172
* Shows ryml's default implementation of tree serialization
173
* @ingroup doc_serialization
174
*/
175
/** @defgroup doc_serialization_tree_read Read from Tree
176
* Implementation of deserialization from a tree
177
* @ingroup doc_serialization_tree
178
*/
179
/** @defgroup doc_serialization_tree_write Write to Tree
180
* Implementation of serialization to a tree
181
* @ingroup doc_serialization_tree
182
*/
183
/** @defgroup doc_serialization_tree_write_arena Arena utils
184
* Implementation utils for serializing scalars in a tree's arena.
185
*
186
* These functions are implementation helpers used by @ref
187
* Tree::to_arena() and @ref NodeRef::to_arena() to grow the tree
188
* arena as needed and serialize scalars in it. There should be no
189
* reason to call these functions directly.
190
*
191
* They can be overriden by the user to customize behavior for a user
192
* type, but generally there should be no reason to do so -- if you
193
* think there is, please open an issue in github.
194
*
195
* @ingroup doc_serialization_tree_write
196
*/
197
198
/** @defgroup doc_serialization_node Serialization for nodes
199
* Shows ryml's default implementation of node serialization
200
* @ingroup doc_serialization
201
*/
202
/** @defgroup doc_serialization_node_write Write to NodeRef
203
* @ingroup doc_serialization_node
204
*/
205
/** @defgroup doc_serialization_node_read Read from ConstNodeRef
206
* @ingroup doc_serialization_node
207
*/
208
209
210
/** @defgroup doc_ref_utils Anchor/Reference utilities
211
*
212
* @see @ref sample_anchors_and_aliases()
213
* @see @ref sample_anchors_and_aliases_create()
214
* */
215
216
/** @defgroup doc_tag_utils Tag utilities
217
* @see @ref sample_tags()
218
*/
219
220
/** @defgroup doc_file_utils File utils
221
*
222
* Functions for loading/saving a file from/to disk.
223
*/
224
225
226
/** @defgroup doc_scalar Scalar utilities
227
*/
228
/** @defgroup doc_scalar_style Scalar style helpers
229
* These functions are used by the emitter to choose a scalar style when a scalar does not have it set.
230
* @ingroup doc_scalar
231
* @ingroup doc_emit
232
*/
233
/** @defgroup doc_scalar_charconv Scalar charconv helpers
234
* These functions are used by the parser and emitter to convert scalars to and from chars.
235
* @ingroup doc_scalar
236
* @ingroup doc_emit
237
* @ingroup doc_parse
238
* @ingroup doc_serialization
239
*/
240
/** @defgroup doc_scalar_filter Scalar filter processors
241
*
242
* These are internal utilities used by @ref ParseEngine to filter
243
* YAML scalars; normally there is no reason for a user to be manually
244
* using these classes.
245
*
246
* @ingroup doc_scalar
247
* @ingroup doc_parse */
248
249
250
/** @defgroup doc_error_handling Error handling
251
*
252
* Utilities to report handle errors, and to build and report error
253
* messages.
254
*
255
* @see @ref sample_error_handler()
256
*/
257
258
/** @defgroup doc_callbacks Callbacks for errors and allocation
259
*
260
* Functions called by ryml to allocate/free memory and to report
261
* errors.
262
*
263
* @see @ref sample_error_handler()
264
* @see @ref sample_global_allocator()
265
* @see @ref sample_per_tree_allocator()
266
*/
267
268
269
// document macros for doxygen
270
271
/** define this macro with a boolean value to enable/disable
272
* assertions to check preconditions and assumptions throughout the
273
* codebase; this causes a slowdown of the code, and larger code
274
* size. By default, this macro is defined unless NDEBUG is defined
275
* (see C4_USE_ASSERT); as a result, by default this macro is truthy
276
* only in debug builds. */
277
# define RYML_USE_ASSERT
278
279
/** (Undefined by default) Define this macro to disable ryml's default
280
* implementation of the callback functions. See @ref doc_callbacks. */
281
# define RYML_NO_DEFAULT_CALLBACKS
282
283
/** (Undefined by default) When this macro is defined (and
284
* @ref RYML_NO_DEFAULT_CALLBACKS is not defined), the default error
285
* handler will throw exceptions. See @ref doc_error_handling. */
286
# define RYML_DEFAULT_CALLBACK_USES_EXCEPTIONS
287
288
/** Conditionally expands to `noexcept` when @ref RYML_USE_ASSERT is 0 and
289
* is empty otherwise. The user is unable to override this macro. */
290
# define RYML_NOEXCEPT
291
292
/** (Undefined by default) Use shorter error message from
293
* checks/asserts: do not show the check condition in the error
294
* message. */
295
# defined RYML_SHORT_CHECK_MSG
296
297
298
}
// namespace yml
299
}
// namespace c4
c4::yml
Definition
doxy_common.hpp:2
c4
Definition
doxy_common.hpp:1
doxy_common.hpp
Generated by
1.15.0