## Struct template type_serializer<T, std::enable_if_t< std::is_enum_v< T > >>

zeep::xml::type_serializer<T, std::enable_if_t< std::is_enum_v< T > >>

## Synopsis

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

    template<typename T>
    struct type_serializer<T, std::enable_if_t< std::is_enum_v< T > >> : public zeep::value_serializer< T > {
      // types
      typedef T                     value_type;
      typedef value_serializer< T > value_serializer_type;

      // public static functions
      static std::string serialize_value(const T &);
      static T deserialize_value(const std::string &);
      static void serialize_child(element &, const char *, const value_type &);
      static void deserialize_child(const element &, const char *, value_type &);
      static element schema(const std::string &, const std::string &);
      static void register_type(type_map &);
    };

## Description

### `type_serializer` public static functions

1.     static std::string serialize_value(const T & value);

2.     static T deserialize_value(const std::string & value);

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

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

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

6.     static void register_type(type_map & types);