## Struct template type_serializer<T, std::enable_if_t< is_serializable_array_type_v< T, serializer > >>

zeep::xml::type_serializer<T, std::enable_if_t< is_serializable_array_type_v< T, serializer > >>

## Synopsis

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

    template<typename T>
    struct type_serializer<T, std::enable_if_t< is_serializable_array_type_v< T, serializer > >> {
      // types
      typedef typename std::remove_const_t< typename std::remove_reference_t< T > > container_type;
      typedef value_type_t< container_type >                                        value_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 &);
      template<size_t N>
        static auto deserialize_array(const element &, const char *,
                                      std::array< value_type, N > &,
                                      priority_tag< 2 >);
      template<typename A>
        static auto deserialize_array(const element &, const char *, A &,
                                      priority_tag< 1 >);
      static void deserialize_array(const element &, const char *,
                                    container_type &, priority_tag< 0 >);
      static void deserialize_child(const element &, const char *,
                                    container_type &);
    };

## 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.     template<size_t N>
         static auto deserialize_array(const element & n, const char * name,
                                       std::array< value_type, N > & value,
                                       priority_tag< 2 >);

4.     template<typename A>
         static auto deserialize_array(const element & n, const char * name, A & arr,
                                       priority_tag< 1 >);

5.     static void deserialize_array(const element & n, const char * name,
                                     container_type & arr, priority_tag< 0 >);

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