MySQL 9.6.0
Source Code Documentation
out_str.h File Reference

Experimental API header. More...

Go to the source code of this file.

Classes

class  mysql::strconv::Out_str_base
 Top of the hierarchy. More...
 
class  mysql::strconv::detail::Representation_string< String_tp >
 Represent a string as an object, typically std::string. More...
 
class  mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >
 Common CRTP base class for Representation_ptrptr and Representation_ptrsize. More...
 
class  mysql::strconv::detail::Representation_ptrptr< Ptr_tp >
 Represent a string as raw pointer to the beginning and raw pointer to the end. More...
 
class  mysql::strconv::detail::Representation_ptrsize< Ptr_tp, Size_tp >
 Represent a string as raw pointer to the beginning, and integer size. More...
 
class  mysql::strconv::detail::Policy_growable_string< Representation_tp >
 Base class for Out_str_growable_string. More...
 
class  mysql::strconv::detail::Policy_growable_ptr< Char_tp, Representation_tp, null_terminated_tp >
 Base class for all Out_str_growable_ptr* classes. More...
 
class  mysql::strconv::detail::Policy_fixed< Representation_tp, null_terminated_tp >
 Base class for all Out_str_fixed* classes. More...
 
class  mysql::strconv::Out_str_fixed_string< String_tp >
 Non-growable output buffer wrapper, represented as std::string. More...
 
class  mysql::strconv::Out_str_fixed_ptrptr_z< Char_tp >
 Non-growable output buffer wrapper, represented as raw pointers to the beginning and end, null-terminated. More...
 
class  mysql::strconv::Out_str_fixed_ptrptr_nz< Char_tp >
 Non-growable output buffer wrapper, represented as raw pointers to the beginning and end, non-null-terminated. More...
 
class  mysql::strconv::Out_str_fixed_ptrsize_z< Size_tp >
 Non-growable output buffer wrapper, represented as raw pointer to the beginning, and integer size, null-terminated. More...
 
class  mysql::strconv::Out_str_fixed_ptrsize_nz< Size_tp >
 Non-growable output buffer wrapper, represented as raw pointer to the beginning, and integer size, non-null-terminated. More...
 
class  mysql::strconv::Out_str_growable_string< String_tp >
 Growable output buffer wrapper, represented as std::string. More...
 
class  mysql::strconv::Out_str_growable_ptrsize_z< Char_t, Size_tp >
 Growable output buffer wrapper, represented as raw pointer to the beginning, and integer size, null-terminated. More...
 
class  mysql::strconv::Out_str_growable_ptrsize_nz< Char_t, Size_tp >
 Growable output buffer wrapper, represented as raw pointer to the beginning, and integer size, non-null-terminated. More...
 
class  mysql::strconv::Out_str_growable_ptrptr_z< Char_t >
 Growable output buffer wrapper, represented as raw pointers to the beginning and end, null-terminated. More...
 
class  mysql::strconv::Out_str_growable_ptrptr_nz< Char_t >
 Growable output buffer wrapper, represented as raw pointers to the beginning and end, non-null-terminated. More...
 

Namespaces

namespace  mysql
 
namespace  mysql::strconv
 
namespace  mysql::strconv::detail
 

Concepts

concept  mysql::strconv::Is_out_str
 True if Test is an Output String Wrapper, i.e., derived from Out_str_base.
 
concept  mysql::strconv::Is_out_str_fixed
 True if Test is an Output String Wrapper with Resize_policy fixed.
 
concept  mysql::strconv::Is_out_str_growable
 True if Test is an Output String Wrapper with Resize_policy growable.
 

Typedefs

template<class String_tp >
using mysql::strconv::detail::Out_str_fixed_string_alias = Policy_fixed< Representation_string< String_tp >, Null_terminated::yes >
 
template<class Size_tp >
using mysql::strconv::detail::Out_str_fixed_ptrsize_z_alias = Policy_fixed< Representation_ptrsize< char *, Size_tp >, Null_terminated::yes >
 
template<class Size_tp >
using mysql::strconv::detail::Out_str_fixed_ptrsize_nz_alias = Policy_fixed< Representation_ptrsize< char *, Size_tp >, Null_terminated::no >
 
template<class Char_tp >
using mysql::strconv::detail::Out_str_fixed_ptrptr_z_alias = Policy_fixed< Representation_ptrptr< Char_tp * >, Null_terminated::yes >
 
template<class Char_tp >
using mysql::strconv::detail::Out_str_fixed_ptrptr_nz_alias = Policy_fixed< Representation_ptrptr< Char_tp * >, Null_terminated::no >
 
template<class String_tp >
using mysql::strconv::detail::Out_str_growable_string_alias = Policy_growable_string< Representation_string< String_tp > >
 
template<mysql::meta::Is_charlike Char_t, std::integral Size_tp>
using mysql::strconv::detail::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 mysql::strconv::detail::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 mysql::strconv::detail::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 mysql::strconv::detail::Out_str_growable_ptrptr_nz_alias = Policy_growable_ptr< Char_t, Representation_ptrptr< Char_t *& >, Null_terminated::no >
 

Enumerations

enum class  mysql::strconv::Resize_policy { mysql::strconv::growable , mysql::strconv::fixed }
 Indicates whether an Ouput String Wrapper is growable or fixed-size. More...
 
enum class  mysql::strconv::Null_terminated { mysql::strconv::no , mysql::strconv::yes }
 Indicates whether an Output String Wrapper requires that the string shall be null-terminated or not. More...
 
enum class  mysql::strconv::Representation_type { mysql::strconv::string , mysql::strconv::ptrptr , mysql::strconv::ptrsize }
 Indicates the type of string represention used by an Output String Wrapper. More...
 

Functions

template<mysql::meta::Is_specialization< std::basic_string > String_t>
auto mysql::strconv::out_str_fixed (String_t &str)
 Return a wrapper around a non-growable output buffer, represented as a std::string or similar type. More...
 
template<std::integral Size_t>
auto mysql::strconv::out_str_fixed_z (mysql::meta::Is_pointer_to_charlike auto first, Size_t &length, Size_t capacity=0)
 Return a wrapper around a non-growable, null-terminated output buffer, represented using a raw pointer to the beginning and a reference to an integral size. More...
 
template<mysql::meta::Is_charlike Char_t, mysql::meta::Is_pointer_to< Char_t > Charptr_t>
auto mysql::strconv::out_str_fixed_z (Charptr_t first, Char_t *&last, Char_t *capacity_end=nullptr)
 Return a wrapper around a non-growable, null-terminated output buffer, represented using raw a pointer to the beginning and a reference to a raw pointer to the end. More...
 
template<std::integral Size_t>
auto mysql::strconv::out_str_fixed_nz (mysql::meta::Is_pointer_to_charlike auto first, Size_t &length, Size_t capacity=0)
 Return a wrapper around a non-growable, non-null-terminated output buffer, represented using a raw pointer to the beginning and a reference to an integral size. More...
 
template<mysql::meta::Is_charlike Char_t, mysql::meta::Is_pointer_to< Char_t > Charptr_t>
auto mysql::strconv::out_str_fixed_nz (Charptr_t first, Char_t *&last, Char_t *capacity_end=nullptr)
 Return a wrapper around a non-growable, non-null-terminated output buffer, represented using raw a pointer to the beginning and a reference to a raw pointer to the end. More...
 
template<std::integral Size_t, std::ptrdiff_t array_size>
auto mysql::strconv::out_str_fixed_z (mysql::meta::Is_charlike auto(&first)[array_size], Size_t &length, Size_t capacity=0)
 Return a wrapper around a non-growable, null-terminated output buffer, represented as an array and a reference to an integral size. More...
 
template<mysql::meta::Is_charlike Char_t, std::ptrdiff_t array_size>
auto mysql::strconv::out_str_fixed_z (Char_t(&first)[array_size], Char_t *&last, Char_t *capacity_end=nullptr)
 Return a wrapper around a non-growable, null-terminated output buffer, represented as an array and a reference to a raw pointer to the end. More...
 
template<std::integral Size_t, std::ptrdiff_t array_size>
auto mysql::strconv::out_str_fixed_nz (mysql::meta::Is_charlike auto(&first)[array_size], Size_t &length, Size_t capacity=0)
 Return a wrapper around a non-growable, non-null-terminated output buffer, represented as an array and a reference to an integral size. More...
 
template<mysql::meta::Is_charlike Char_t, std::ptrdiff_t array_size>
auto mysql::strconv::out_str_fixed_nz (Char_t(&first)[array_size], Char_t *&last, Char_t *capacity_end=nullptr)
 Return a wrapper around a non-growable, non-null-terminated output buffer, represented as an array and a reference to a raw pointer to the end. More...
 
template<mysql::meta::Is_specialization< std::basic_string > String_t>
auto mysql::strconv::out_str_growable (String_t &str)
 Return a wrapper around a growable output buffer, represented as a std::string or similar type. More...
 
template<mysql::meta::Is_charlike Char_t, std::integral Size_t>
auto mysql::strconv::out_str_growable_z (Char_t *&first, Size_t &length, Size_t capacity=0, const mysql::allocators::Memory_resource &memory_resource={})
 Return a wrapper around a growable, null-terminated output buffer, represented using a reference to a raw pointer to the beginning and a reference to an integral size. More...
 
template<mysql::meta::Is_charlike Char_t>
auto mysql::strconv::out_str_growable_z (Char_t *&first, Char_t *&last, Char_t *capacity_end=nullptr, const mysql::allocators::Memory_resource &memory_resource={})
 Return a wrapper around a growable, null-terminated output buffer, represented using reference to a raw a pointer to the beginning and a reference to a raw pointer to the end. More...
 
template<mysql::meta::Is_charlike Char_t, std::integral Size_t>
auto mysql::strconv::out_str_growable_nz (Char_t *&first, Size_t &length, Size_t capacity=0, const mysql::allocators::Memory_resource &memory_resource={})
 Return a wrapper around a growable, non-null-terminated output buffer, represented using a reference to a raw pointer to the beginning and a reference to an integral size. More...
 
template<mysql::meta::Is_charlike Char_t>
auto mysql::strconv::out_str_growable_nz (Char_t *&first, Char_t *&last, Char_t *capacity_end=nullptr, const mysql::allocators::Memory_resource &memory_resource={})
 Return a wrapper around a growable, non-null-terminated output buffer, represented using reference to a raw a pointer to the beginning and a reference to a raw pointer to the end. More...
 

Detailed Description

Experimental API header.