algo.hpp File Reference

#include <string>
#include <algorithm>
#include <s11n.net/s11n/s11n_debuggering_macros.hpp>
#include <s11n.net/s11n/serialize.hpp>
#include <s11n.net/s11n/traits.hpp>
#include <s11n.net/s11n/type_traits.hpp>
#include <s11n.net/s11n/algo.tpp>

Include dependency graph for algo.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::Detail
namespace  s11n::debug

Classes

struct  s11n::object_deleter
 Deletes an object passed to it. More...
struct  s11n::object_reference_wrapper< T >
 object_reference_wrapper is a type for giving access to T objects via their dot operator, regardless of whether they are pointers or not. More...
struct  s11n::object_reference_wrapper< T * >
 A specialization to wrap pointers to (T *) such that they can be accessed, via this wrapper, using a dot instead of ->. More...
struct  s11n::const_object_reference_wrapper< T >
 const_object_reference_wrapper is identical in usage to object_reference_wrapper, except that it deals with const objects. More...
struct  s11n::const_object_reference_wrapper< T * >
 A specialization to wrap pointers to (T *) such that they can be accessed, via this wrapper, using a dot instead of ->. More...
class  s11n::Detail::child_pointer_deep_copier< ListType >
 child_pointer_deep_copier is a functor to deep-copy a list of pointers into another list. More...
struct  s11n::Detail::same_name< NodeT >
 Functor to return true if given NodeT objects match a certain name. More...
struct  s11n::subnode_serializer_f< NodeType >
 A helper functor to loop over serializable children. More...
struct  s11n::streamable_type_serialization_proxy
 A Serializable Proxy for streamable types. More...
struct  s11n::serialize_subnode_f
 A functor which simply forwards its arguments to s11n::serialize_subnode(). More...
struct  s11n::deserialize_subnode_f
 A functor which simply forwards its arguments to s11n::deserialize_subnode(). More...

Defines

#define s11n_net_s11n_v1_1_ALGO_HPP_INCLUDED   1

Functions

template<typename DataNodeType, typename SerializableT>
bool s11n::serialize_subnode (DataNodeType &target, const std::string &nodename, const SerializableT &src)
 Serializes src to as a subnode of target, named nodename.
template<typename DataNodeType, typename DeserializableT>
bool s11n::deserialize_subnode (const DataNodeType &src, const std::string &subnodename, DeserializableT &target)
 If a child named subnodename is found in src then this function returns deserialize( child, target ) and returns it's result, otherwise it returns 0.
template<typename DataNodeType, typename DeserializableT>
DeserializableT * s11n::deserialize_subnode (const DataNodeType &src, const std::string &subnodename)
 If a child named subnodename is found in src then this function returns the result of deserialize(child), otherwise it returns 0.
template<typename InputIt, typename OutputIt, typename UnaryPredicate>
OutputIt s11n::copy_if (InputIt first, InputIt last, OutputIt result, UnaryPredicate pred)
 For each item in [first,last), copies the item to OutputIt if pred(*item) returns true.
template<typename IterT>
void s11n::delete_objects (IterT begin, IterT end)
 For each item in [begin,end) object_deleter()(*item) is called.
template<typename NodeType, typename ChildType>
void s11n::add_child (NodeType &parent, ChildType *ch)
 Adds ch as a child of parent.
template<typename NodeType>
NodeType & s11n::create_child (NodeType &parent, const std::string nodename)
 Creates a new node, named nodename, as a child of parent.
template<typename NodeT, typename DestContainerT>
size_t s11n::find_children_by_name (const NodeT &parent, const std::string &name, DestContainerT &target)
 Each child in parent.children() which has the given name is copied into the target container.
template<typename NodeT>
const NodeT * s11n::find_child_by_name (const NodeT &parent, const std::string &name)
 Finds the FIRST child in parent with the given name and returns a pointer to it, or 0 if no such child is found.
template<typename NodeT>
NodeT * s11n::find_child_by_name (NodeT &parent, const std::string &name)
 A non-const overload of find_child_by_name().
template<typename NodeT>
void s11n::debug::dump_node_structure (const NodeT &n, int indentlv=0)
 Dumps a tree-like view of n's structure, excluding properties, to cerr.


Define Documentation

#define s11n_net_s11n_v1_1_ALGO_HPP_INCLUDED   1

Definition at line 2 of file algo.hpp.


Generated on Sun Apr 27 11:48:21 2008 for libs11n-1.2.6 by  doxygen 1.5.3