#include <string>
#include <list>
#include <map>
#include <stdexcept>
#include <s11n.net/s11n/s11n_debuggering_macros.hpp>
#include <s11n.net/s11n/phoenix.hpp>
#include <s11n.net/s11n/io/strtool.hpp>
#include <s11n.net/s11n/classload.hpp>
#include <s11n.net/s11n/algo.hpp>
#include <s11n.net/s11n/serialize.hpp>
#include <s11n.net/s11n/traits.hpp>
#include <s11n.net/s11n/io/data_node_io.hpp>
#include <s11n.net/s11n/io/FlexLexer.hpp>
#include <s11n.net/s11n/factory.hpp>
#include <s11n.net/s11n/factory_reg.hpp>
Include dependency graph for data_node_format.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | s11n |
namespace | s11n::io |
namespace | s11n::io::Private |
Classes | |
class | s11n::io::tree_builder |
tree_builder exists mainly so some lex-based code can get access to a non-templated type (so we don't have to hard-code the parsers to a node_type). More... | |
class | s11n::io::tree_builder_context< ContextT > |
tree_builder_context is a helper for accessing some template-dependent code from non-template-aware lexer code. More... | |
struct | s11n::io::tree_builder_context< ContextT >::lexer_metadata |
This is intended for direct access by a lexer associated with this context, and ONLY by such lexers. More... | |
class | s11n::io::data_node_tree_builder< NodeType > |
data_node_tree_builder is a helper class for building trees from deserialized data, designed particularly for use with lex/callback-based tree builders. More... | |
class | s11n::io::tree_builder_lexer< NodeType, LexerSharingContext > |
tree_builder_lexer is a type intended to ease the implementation of lex-based node tree parsers. More... | |
class | s11n::io::key_value_serializer< NodeType > |
A helper for serializing properties to a stream. More... | |
struct | s11n::io::node_child_simple_formatter< SerializerT > |
A helper functor to loop over serializable children of a node from within a Serializer implementation. More... | |
Defines | |
#define | IFNOLEXER(RET) if( lmap().end() == lmap().find(lexer) ) return RET; |
#define | S11N_FACREG_TYPE s11n::io::tree_builder |
#define | S11N_FACREG_TYPE_NAME "s11n::io::tree_builder" |
#define | S11N_FACREG_TYPE_IS_ABSTRACT 1 |
Typedefs | |
typedef std::map< std::string, std::string > | s11n::io::entity_translation_map |
A typedef representing a map of tokens used for "entity translations" by s11n parsers/serializers. | |
Functions | |
int | s11n::io::Private::lex_api_hider_yylex (FlexLexer *, std::istream &) |
A helper to hide FlexLexer subclasses from needing to be included in header files. | |
template<typename NodeType, typename BuilderContext> | |
NodeType * | s11n::io::deserialize_lex_forwarder (const std::string &lexerClassName, std::istream &src) |
This function exists for a really long, strange reason involving accessing templatized types from template-free code (FlexLexers). |
#define IFNOLEXER | ( | RET | ) | if( lmap().end() == lmap().find(lexer) ) return RET; |
Definition at line 236 of file data_node_format.hpp.
Referenced by s11n::io::tree_builder_context< ContextT >::add_property(), s11n::io::tree_builder_context< ContextT >::change_node_class(), s11n::io::tree_builder_context< ContextT >::close_node(), s11n::io::tree_builder_context< ContextT >::node_depth(), and s11n::io::tree_builder_context< ContextT >::open_node().
#define S11N_FACREG_TYPE s11n::io::tree_builder |
Definition at line 844 of file data_node_format.hpp.
#define S11N_FACREG_TYPE_IS_ABSTRACT 1 |
Definition at line 846 of file data_node_format.hpp.
#define S11N_FACREG_TYPE_NAME "s11n::io::tree_builder" |
Definition at line 845 of file data_node_format.hpp.