libzeep

PrevUpHomeNext

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);

PrevUpHomeNext