|
| class | Constructible_string_counter |
| | String_counter subclass that can be instantiated. More...
|
| |
| class | Constructible_string_writer |
| | String_writer subclass that can be instantiated. More...
|
| |
| class | Hex_to_int |
| | Return a conversion table with 256 elements, where elements for hex chars is the corresponding integer between 0 and 15, and other elements are -1. More...
|
| |
| struct | Is_checker_pred |
| | Class template parameterized by an object type, holding a member class template, which is a type predicate whose member constant value is true if Test is a checker for the object type. More...
|
| |
| struct | Is_format_pred |
| | Type predicate with a member constant value that is true if Test is a format. More...
|
| |
| struct | Is_repeat_pred |
| | Type predicate with a member constant value that is true if Test is Repeat. More...
|
| |
| class | Parse_position |
| | Base class for the current position of a string parser, holding both the parsed string and the position within the parsed string. More...
|
| |
| class | Parse_result |
| | Class holding the result from parsing a string, in the form of a status and a message. More...
|
| |
| class | Parse_result_internals |
| | Helper class that exports the internals from Parse_result. More...
|
| |
| class | Policy_fixed |
| | Base class for all Out_str_fixed* classes. More...
|
| |
| class | Policy_growable_ptr |
| | Base class for all Out_str_growable_ptr* classes. More...
|
| |
| class | Policy_growable_string |
| | Base class for Out_str_growable_string. More...
|
| |
| class | Repeat_base |
| | Common base class for the Repeat and Repeat_optional classes, providing functionality for representing the upper bound on the number of repetitions. More...
|
| |
| class | Representation_ptr_base |
| | Common CRTP base class for Representation_ptrptr and Representation_ptrsize. More...
|
| |
| class | Representation_ptrptr |
| | Represent a string as raw pointer to the beginning and raw pointer to the end. More...
|
| |
| class | Representation_ptrsize |
| | Represent a string as raw pointer to the beginning, and integer size. More...
|
| |
| class | Representation_string |
| | Represent a string as an object, typically std::string. More...
|
| |
| class | String_target_base |
| | Top of the hierarchy. More...
|
| |
| class | String_target_interface |
| | CRTP base class providing common helpers needed by String_writer and String_counter, namely, the function to resolve the format. More...
|
| |
|
| template<class String_tp > |
| using | Out_str_fixed_string_alias = Policy_fixed< Representation_string< String_tp >, Null_terminated::yes > |
| |
| template<class Size_tp > |
| using | Out_str_fixed_ptrsize_z_alias = Policy_fixed< Representation_ptrsize< char *, Size_tp >, Null_terminated::yes > |
| |
| template<class Size_tp > |
| using | Out_str_fixed_ptrsize_nz_alias = Policy_fixed< Representation_ptrsize< char *, Size_tp >, Null_terminated::no > |
| |
| template<class Char_tp > |
| using | Out_str_fixed_ptrptr_z_alias = Policy_fixed< Representation_ptrptr< Char_tp * >, Null_terminated::yes > |
| |
| template<class Char_tp > |
| using | Out_str_fixed_ptrptr_nz_alias = Policy_fixed< Representation_ptrptr< Char_tp * >, Null_terminated::no > |
| |
| template<class String_tp > |
| using | Out_str_growable_string_alias = Policy_growable_string< Representation_string< String_tp > > |
| |
| template<mysql::meta::Is_charlike Char_t, std::integral Size_tp> |
| using | Out_str_growable_ptrsize_z_alias = Policy_growable_ptr< Char_t, Representation_ptrsize< Char_t *&, Size_tp >, Null_terminated::yes > |
| |
| template<mysql::meta::Is_charlike Char_t, std::integral Size_tp> |
| using | Out_str_growable_ptrsize_nz_alias = Policy_growable_ptr< Char_t, Representation_ptrsize< Char_t *&, Size_tp >, Null_terminated::no > |
| |
| template<mysql::meta::Is_charlike Char_t> |
| using | Out_str_growable_ptrptr_z_alias = Policy_growable_ptr< Char_t, Representation_ptrptr< Char_t *& >, Null_terminated::yes > |
| |
| template<mysql::meta::Is_charlike Char_t> |
| using | Out_str_growable_ptrptr_nz_alias = Policy_growable_ptr< Char_t, Representation_ptrptr< Char_t *& >, Null_terminated::no > |
| |
| using | Nop_t = decltype(nop) |
| | Type of nop. More...
|
| |
| template<class Format_t , class Object_t > |
| using | Default_format_type = decltype(get_default_format(std::declval< Format_t >(), std::declval< Object_t >())) |
| | The type of the default format for <Format_t, Object_t>. More...
|
| |
| template<template< class, class > class Can_invoke_t, class Format_t , class Object_t > |
| using | Resolved_format_type = decltype(do_resolve_format< Can_invoke_t >(std::declval< Format_t >(), std::declval< Object_t >())) |
| | The return type of do_resolve_format. More...
|
| |
|
| void | encode_v0_v1 (const Gtid_binary_format &format, Is_string_target auto &string_target, const mysql::gtids::Is_gtid_set auto >id_set) |
| |
| void | encode_v2 (const Gtid_binary_format &format, Is_string_target auto &string_target, const mysql::gtids::Is_gtid_set auto >id_set) |
| |
| void | decode_v0_v1 (const Gtid_binary_format &format, Parser &parser, mysql::gtids::Is_gtid_set auto >id_set, std::size_t tsid_count) |
| |
| void | decode_v2 (const Gtid_binary_format &format, Parser &parser, mysql::gtids::Is_gtid_set auto >id_set, std::size_t tsid_count) |
| |
| auto | make_compound_parse_options () |
| | Given any form of parse options; Format, Repeat, Checker, or Compound_parse_options; return a Compound_parse_options object. More...
|
| |
| template<Is_format Format_t> |
| auto | make_compound_parse_options (const Format_t &format) |
| |
| template<Is_repeat Repeat_t> |
| auto | make_compound_parse_options (const Repeat_t &repeat) |
| |
| template<Is_checker Checker_t> |
| auto | make_compound_parse_options (const Checker_t &checker) |
| |
| auto | make_compound_parse_options (const Is_compound_parse_options auto &opt) |
| |
template<Is_out_str Out_str_t, class Producer_counter_t , class Producer_writer_t , std::invocable Oom_action_t>
requires Is_string_producer_pair<Producer_counter_t, Producer_writer_t> |
| mysql::utils::Return_status | do_out_str_write (const Out_str_t &out_str, const Producer_counter_t &producer_counter, const Producer_writer_t &producer_writer, const Oom_action_t &oom_action) |
| | Common implementation for the two overloads of out_str_write(out_str, producer_counter, producer_writer, oom_action). More...
|
| |
| template<template< class, class > class Can_invoke_t, class Object_t , Is_format Format_t> |
| constexpr void | do_resolve_format (const Format_t &format, const Object_t &object) |
| | Return the format to pass to the implementation function, given the format and object type passed by the user to the API. More...
|
| |
template<template< class, class > class Can_invoke_t, class Object_t , Is_format Format_t>
requires Has_impl<Can_invoke_t, Format_t, Object_t> |
| constexpr Format_t | do_resolve_format (const Format_t &format, const Object_t &object) |
| |
template<template< class, class > class Can_invoke_t, class Object_t , Is_format Format_t>
requires (!Has_impl<Can_invoke_t, Format_t, Object_t> && Has_default_impl<Can_invoke_t, Format_t, Object_t>) |
| constexpr auto | do_resolve_format (const Format_t &format, const Object_t &object) |
| |
template<template< class, class > class Can_invoke_t, class Object_t , Is_format Format_t>
requires (!Has_impl<Can_invoke_t, Format_t, Object_t> && !Has_default_impl<Can_invoke_t, Format_t, Object_t> && Has_parent_format<Format_t>) |
| constexpr auto | do_resolve_format (const Format_t &format, const Object_t &object) |
| |
| template<Conversion_direction conversion_direction, template< class, class > class Can_invoke_t, class Object_t , Is_format Format_t> |
| constexpr auto | resolve_format (const Format_t &format, const Object_t &object) |
| | Return the format to pass to the implementation function, given the format and object type passed by the user to the API. More...
|
| |
|
| template<class Tuple_t > |
| constexpr std::size_t | Format_count |
| | The number of elements in a Compound_parse_options of Format type. More...
|
| |
| template<class Tuple_t > |
| constexpr std::size_t | Repeat_count |
| | The number of elements in a Compound_parse_options of Repeat type. More...
|
| |
| template<class Tuple_t > |
| constexpr std::size_t | Checker_count |
| | The number of element in a Compound_parse_options of Checker type. More...
|
| |
| auto | nop = [] {} |
| | Lambda that takes no argument, does nothing, and returns void. More...
|
| |
| static constexpr std::array< unsigned char, 16 > | int_to_hex_lower |
| | Conversion table with 16 elements, where element i is lowercase hex for i. More...
|
| |
| static constexpr std::array< unsigned char, 16 > | int_to_hex_upper |
| | Conversion table with 16 elements, where element i is uppercase hex i. More...
|
| |
template<template< class, class > class Can_invoke_t, class Object_t , Is_format Format_t>
| constexpr void mysql::strconv::detail::do_resolve_format |
( |
const Format_t & |
format, |
|
|
const Object_t & |
object |
|
) |
| |
|
constexpr |
Return the format to pass to the implementation function, given the format and object type passed by the user to the API.
The three overloads, together, have the effect of using the encode_impl with exactly the requested Format_t type if it exists; otherwise, use the encode_impl using exactly the default format if it exists; otherwise, recursively, perform the same checks for the parent format. Returns void if no implementation is found.
- Template Parameters
-
| Can_invoke_t | Two-argument type predicate. When instantiated with a format type and an object type, it should have the member value equal to true if there is an implementation of encode_impl/decode_implfor that combination of arguments. |
| Object_t | Type of object to check. |
| Format_t | Type of format to check. |
- Parameters
-
| format | Format to check. |
| object | Object to check. |
return: If there is an implementation for Format_t, returns format. Otherwise, if there is an implementation for the default format, returns the default format. Otherwise, if there is a parent format, recursively checks that. If no format is found this way, the return type is void.