| 
| template<class Field_type , Field_size field_size_defined>  | 
| void  | encode (Level_type level, Field_id_type field_id, const Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function used to encode one field.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined>  | 
| void  | decode (Level_type level, Field_id_type field_id, std::size_t serializable_end_pos, Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function used to decode one field.  More...
  | 
|   | 
| template<class Serializable_type >  | 
| void  | encode_serializable_metadata (Level_type level, Field_id_type field_id, const Serializable_type &serializable, bool skip_id) | 
|   | This function saves serializable metadata.  More...
  | 
|   | 
| template<class Serializable_type >  | 
| std::size_t  | decode_serializable_metadata (Level_type level, Field_id_type field_id, Serializable_type &serializable, bool skip_id) | 
|   | This function loads serializable metadata.  More...
  | 
|   | 
| virtual  | ~Serializer_default ()=default | 
|   | Destructor.  More...
  | 
|   | 
| bool  | is_error () const | 
|   | 
| bool  | is_good () const | 
|   | 
| const Serialization_error &  | get_error () | 
|   | 
| Serializer_current_type &  | operator<< (const T &arg) | 
|   | Function for the API user to serialize data.  More...
  | 
|   | 
| Serializer< Serializer_default< Archive_concrete_type >, Archive_concrete_type > &  | operator<< (const T &arg) | 
|   | 
| Serializer_current_type &  | operator>> (T &arg) | 
|   | Function for the API user to serialize data.  More...
  | 
|   | 
| Serializer< Serializer_default< Archive_concrete_type >, Archive_concrete_type > &  | operator>> (T &arg) | 
|   | 
| Archive_concrete_type &  | get_archive () | 
|   | Function for the API user to access reference of the archive.  More...
  | 
|   | 
 | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_bounded_size_type<Field_type>() == true>>  | 
| static constexpr std::size_t  | get_max_size () | 
|   | Function returns maximum size of the field written to an archive, based on its type.  More...
  | 
|   | 
| template<class Serializable_concrete_type >  | 
| static constexpr std::size_t  | get_max_size () | 
|   | Function returns maximum size of the field written to an archive, based on its type.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_simple_type<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field) | 
|   | Function used internally to calculate size of fields, version for basic types.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_enum_type<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field, Serializer_enum_tag={}) | 
|   | Function used internally to calculate size of fields, version for enumeration types.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_vector_list_type<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field, Serializer_vector_list_tag={}) | 
|   | Function used internally to calculate size of fields, version for vector.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_serializable_type<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field, Serializer_serializable_tag={}) | 
|   | Function used internally to calculate size of fields, version for serializable.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_map_type<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field, Serializer_map_tag={}) | 
|   | Function used internally to calculate size of fields, version for std::map.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_set_type<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field, Serializer_set_tag={}) | 
|   | Function used internally to calculate size of fields, version for std::set.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_array_type_v<Field_type>() == true>>  | 
| static std::size_t  | get_field_size (const Field_type &field, Serializer_array_tag={}) | 
|   | Function used internally to calculate size of fields, version for std::array.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined>  | 
| static std::size_t  | get_size_field_def (Field_id_type field_id, const Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function returns size of serialized field_definition object.  More...
  | 
|   | 
| template<class Serializable_concrete_type >  | 
| static std::size_t  | get_size_serializable (Field_id_type field_id, const Serializable_concrete_type &serializable, bool skip_id=false) | 
|   | Function returns size of serialized field_definition object.  More...
  | 
|   | 
| static std::size_t  | get_size (const T &arg) | 
|   | 
 | 
| template<class Field_type , Field_size field_size_defined>  | 
| bool  | decode_field_id (Level_type level, Field_id_type field_id, Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function used internally to decode field_id and handle optional fields.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined>  | 
| bool  | encode_field_id (Level_type level, Field_id_type field_id, const Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function used internally to encode field_id and handle optional fields.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_simple_type<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field) | 
|   | Function used internally to encode field_id and handle optional fields, version for basic types.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_simple_type<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field) | 
|   | Function used internally to decode field_id and handle optional fields, version for basic types.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_enum_type<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field, Serializer_enum_tag={}) | 
|   | Function used internally to encode field_id and handle optional fields, version for enumeration types.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_enum_type<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field, Serializer_enum_tag={}) | 
|   | Function used internally to decode field_id and handle optional fields, version for enumeration types.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_vector_list_type<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field, Serializer_vector_list_tag={}) | 
|   | Function used internally to encode field_id and handle optional fields, version for vector.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_vector_list_type<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field, Serializer_vector_list_tag={}) | 
|   | Function used internally to decode field_id and handle optional fields, version for vector.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_serializable_type<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field, Serializer_serializable_tag={}) | 
|   | Function used internally to encode field_id and handle optional fields, version for serializable.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_serializable_type<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field, Serializer_serializable_tag={}) | 
|   | Function used internally to decode field_id and handle optional fields, version for serializable.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_map_type<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field, Serializer_map_tag={}) | 
|   | Function used internally to encode field_id and handle optional fields, version for std::map.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_map_type<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field, Serializer_map_tag={}) | 
|   | Function used internally to decode field_id and handle optional fields, version for std::map.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_set_type<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field, Serializer_set_tag={}) | 
|   | Function used internally to encode field_id and handle optional fields, version for std::set.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_set_type<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field, Serializer_set_tag={}) | 
|   | Function used internally to decode field_id and handle optional fields, version for std::set.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_array_type_v<Field_type>() == true>>  | 
| void  | encode_field (const Field_type &field, Serializer_array_tag={}) | 
|   | Function used internally to encode field_id and handle optional fields, version for std::array.  More...
  | 
|   | 
| template<class Field_type , Field_size field_size_defined, typename  = std::enable_if_t<is_array_type_v<Field_type>() == true>>  | 
| void  | decode_field (Field_type &field, Serializer_array_tag={}) | 
|   | Function used internally to decode field_id and handle optional fields, version for std::array.  More...
  | 
|   | 
| Serializer_default< Archive_concrete_type > *  | get_derived () | 
|   | Casts this to derived type.  More...
  | 
|   | 
| void  | encode_field (Level_type level, Field_id_type field_id, const Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function used to encode one field.  More...
  | 
|   | 
| void  | decode_field (Level_type level, Field_id_type field_id, std::size_t serializable_end_pos, Field_definition< Field_type, field_size_defined > &field_definition) | 
|   | Function used to decode one field.  More...
  | 
|   | 
| void  | encode_serializable (Level_type level, Field_id_type field_id, const Serializable_type &serializable, bool skip_id) | 
|   | Function used to encode serializable field, this function saves serializable metadata and calls serializable encode method.  More...
  | 
|   | 
| void  | encode_serializable_fields (const Serializable_type &serializable, Level_type level) | 
|   | Function used to encode fields of specializations of Serializable class, iterates over constant fields allowing them to be saved into an archive.  More...
  | 
|   | 
| void  | decode_serializable (Level_type level, Field_id_type field_id, std::size_t serializable_end_pos, Serializable_type &serializable, bool skip_id) | 
|   | Function used to decode serializable field, this function loads serializable metadata and calls serializable decode method.  More...
  | 
|   | 
| void  | decode_serializable_fields (Serializable_type &serializable, Level_type level, std::size_t serializable_end_pos) | 
|   | Function used to decode fields of specializations of Serializable class, iterates over non constant fields, allowing them to be filled with data from an archive.  More...
  | 
|   | 
| void  | clear_error () | 
|   | 
| virtual  | ~Serializer ()=default | 
|   | Destructor.  More...
  | 
|   | 
template<class 
Archive_concrete_type>
class mysql::serialization::Serializer_default< Archive_concrete_type >
Basic serializer that is implementing Serializer interface. 
Serializes fields and appropriate metadata to ensure that messages are backward and forward compatible 
- Template Parameters
 - 
  
    | Archive_concrete_type | Type of the archive  |