## Struct serializer

zeep::xml::serializer

## Synopsis

    // In header: </home/maarten/projects/libzeep/zeep/xml/serialize.hpp>

    struct serializer {
      // construct/copy/destruct
      serializer(container *, bool = true);

      // public member functions
      template<typename T>
        serializer & operator&(const boost::serialization::nvp< T > &);
      template<typename T> serializer & serialize(const char *, const T &);

      // public data members
      container * m_node;
      bool m_make_node;
    };

## Description

All serializers and deserializers work on an object that contains a pointer to the node just above the actual node holding their data. If any.

This means for the serializer that it has to create a new node, set the content and add it to the passed in node. For deserializers this means looking up the first child matching the name in the passed-in node to fetch the data from.

### `serializer` public construct/copy/destruct

1.     serializer(container * node, bool make_node = true);

### `serializer` public member functions

1.     template<typename T>
         serializer & operator&(const boost::serialization::nvp< T > & rhs);

2.     template<typename T> serializer & serialize(const char * name, const T & data);