Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

data_node_format.hpp File Reference

#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
 convenience typedef

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 Documentation

#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.


Generated on Sat Dec 10 13:38:40 2005 for libs11n-1.2.1 by  doxygen 1.4.4