## Struct template type_serializer<std::optional< T >>

zeep::xml::type_serializer<std::optional< T >>

## Synopsis

    // In header: <zeep/xml/serialize.hpp>

    template<typename T>
    struct type_serializer<std::optional< T >> {
      // types
      typedef T                             value_type;
      typedef std::optional< value_type >   container_type;
      typedef type_serializer< value_type > type_serializer_type;

      // public static functions
      static constexpr const char * type_name();
      static void serialize_child(element &, const char *, const container_type &);
      static void deserialize_child(const element &, const char *,
                                    container_type &);
      static element schema(const std::string &, const std::string &);
      static void register_type(type_map &);
    };

## Description

### `type_serializer` public static functions

1.     static constexpr const char * type_name();

2.     static void serialize_child(element & n, const char * name,
                                   const container_type & value);

3.     static void deserialize_child(const element & n, const char * name,
                                     container_type & value);

4.     static element schema(const std::string & name, const std::string & prefix);

5.     static void register_type(type_map & types);