libzeep

PrevUpHomeNext

Struct template serializer

zeep::json::serializer

Synopsis

// In header: <zeep/json/serializer.hpp>

template<typename E> 
struct serializer {
  // types
  typedef E element_type;

  // member classes/structs/unions
  template<typename T, typename  = void> 
  struct serializer_impl {
  };
  template<typename T> 
  struct serializer_impl<T, std::enable_if_t< detail::is_compatible_type_v< T > and not is_serializable_array_type_v< T, serializer > and not json::detail::is_serializable_map_type_v< T, serializer > >> {

    // public static functions
    static void serialize(const T &, element_type &);
  };
  template<typename T> 
  struct serializer_impl<T, std::enable_if_t< detail::is_serializable_map_type_v< T, serializer > >> {

    // public static functions
    static void serialize(const T &, element_type &);
  };
  template<typename T> 
  struct serializer_impl<T, std::enable_if_t< detail::is_serializable_optional_type_v< T, serializer > >> {

    // public static functions
    static void serialize(const T &, element_type &);
  };
  template<typename T> 
  struct serializer_impl<T, std::enable_if_t< has_serialize_v< T, serializer > >> {

    // public static functions
    static void serialize(const T &, element_type &);
  };
  template<typename T> 
  struct serializer_impl<T, std::enable_if_t< is_serializable_array_type_v< T, serializer > >> {

    // public static functions
    static void serialize(const T &, element_type &);
  };
  template<typename T> 
  struct serializer_impl<T, std::enable_if_t< not detail::is_compatible_type_v< T > and is_type_with_value_serializer_v< T > >> {
    // types
    typedef zeep::value_serializer< T > value_serializer;

    // public static functions
    static void serialize(const T &, element_type &);
  };

  // construct/copy/destruct
  serializer();

  // public member functions
  template<typename T> serializer & operator&(name_value_pair< T > &&);
  template<typename T> void serialize(const char *, const T &);

  // public static functions
  template<typename T> static void serialize(E &, const T &);

  // public data members
  element_type m_elem;
};

Description

serializer public construct/copy/destruct

  1. serializer();

serializer public member functions

  1. template<typename T> serializer & operator&(name_value_pair< T > && nvp);
  2. template<typename T> void serialize(const char * name, const T & data);

serializer public static functions

  1. template<typename T> static void serialize(E & e, const T & v);

PrevUpHomeNext