MySQL 9.6.0
Source Code Documentation
mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp > Class Template Reference

Common CRTP base class for Representation_ptrptr and Representation_ptrsize. More...

#include <out_str.h>

Inheritance diagram for mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >:
[legend]

Public Member Functions

 Representation_ptr_base (Ptr_tp first, std::size_t capacity)
 Construct a new object wrapping the buffer at the given position. More...
 
char * data () const
 Return pointer to the data. More...
 
std::size_t initial_capacity () const
 Before resize, return the value of the size field. More...
 
- Public Member Functions inherited from mysql::ranges::Buffer_interface< Self_tp, equality_algorithm_tp, enable_hash_tp >
 operator bool () const
 Return true if size() != 0. More...
 
bool operator! () const
 Return true if size() == 0. More...
 
bool empty () const
 Return true if size() == 0. More...
 
std::ptrdiff_t ssize () const
 Return the size as std::ptrdiff_t. More...
 
auto * udata ()
 Return the data buffer as unsigned char *. More...
 
auto * udata () const
 Return the data buffer as const unsigned char * or unsigned char *, const-ness inherited from Self_t::data() const. More...
 
auto * bdata ()
 Return the data buffer as std::byte *. More...
 
auto * bdata () const
 Return the data buffer as const std::byte * or std::byte *, const-ness inherited from Self_t::data() const. More...
 
std::string_view string_view () const
 
auto * begin ()
 Return the begin as char *. More...
 
auto * begin () const
 Return the begin as const char * or char *, const-ness inherited from Self_t::data() const. More...
 
auto * cbegin () const
 Return the begin as const char * or char *, const-ness inherited from Self_t::data() const. More...
 
auto * ubegin ()
 Return the begin as unsigned char *. More...
 
auto * ubegin () const
 Return the begin as const unsigned char * or unsigned char *, const-ness inherited from Self_t::data() const. More...
 
auto * cubegin () const
 Return the begin as const unsigned char * or unsigned char *, const-ness inherited from Self_t::data() const. More...
 
auto * bbegin ()
 Return the begin as std::byte *. More...
 
auto * bbegin () const
 Return the begin as const std::byte * or std::byte *, const-ness inherited from Self_t::data() const. More...
 
auto * cbbegin () const
 Return the begin as const std::byte * or std::byte *, const-ness inherited from Self_t::data() const. More...
 
auto * end ()
 Return the end as char *. More...
 
auto * end () const
 Return the end as const char * or char *, const-ness inherited from Self_t::data() const. More...
 
auto * cend () const
 Return the end as const char * or char *, const-ness inherited from Self_t::data() const. More...
 
auto * uend ()
 Return the end as unsigned char *. More...
 
auto * uend () const
 Return the end as const unsigned char * or unsigned char *, const-ness inherited from Self_t::data() const. More...
 
auto * cuend () const
 Return the end as const unsigned char * or unsigned char *, const-ness inherited from Self_t::data() const. More...
 
auto * bend ()
 Return the end as std::byte *. More...
 
auto * bend () const
 Return the end as const std::byte * or std::byte *, const-ness inherited from Self_t::data() const. More...
 
auto * cbend () const
 Return the end as const std::byte * or or std::byte *, const-ness inherited from Self_t::data() const. More...
 
char & operator[] (std::ptrdiff_t n)
 Return reference the n'th element. More...
 
char operator[] (std::ptrdiff_t n) const
 Return the n'th element, const-ness inherited from Self_t::data() const. More...
 

Protected Attributes

Ptr_tp m_first
 Pointer to first character. More...
 
std::size_t m_initial_capacity
 Initial capacity. More...
 

Additional Inherited Members

- Static Public Attributes inherited from mysql::ranges::Buffer_interface< Self_tp, equality_algorithm_tp, enable_hash_tp >
static constexpr auto equality_algorithm = equality_algorithm_tp
 
static constexpr bool equality_enabled
 
static constexpr bool hash_enabled = (enable_hash_tp == Enable_hash::yes)
 

Detailed Description

template<class Self_tp, class Ptr_tp>
class mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >

Common CRTP base class for Representation_ptrptr and Representation_ptrsize.

This stores either a pointer to the beginning of the string, or a reference to a pointer to the beginning of the string; the template argument decides which.

Template Parameters
Self_tpClass implementing size member.
Ptr_tpType of char pointer: either char *&, if the buffer is resizable, or char *, for fixed-size buffers.

Constructor & Destructor Documentation

◆ Representation_ptr_base()

template<class Self_tp , class Ptr_tp >
mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >::Representation_ptr_base ( Ptr_tp  first,
std::size_t  capacity 
)
inlineexplicit

Construct a new object wrapping the buffer at the given position.

Member Function Documentation

◆ data()

template<class Self_tp , class Ptr_tp >
char * mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >::data ( ) const
inline

Return pointer to the data.

◆ initial_capacity()

template<class Self_tp , class Ptr_tp >
std::size_t mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >::initial_capacity ( ) const
inline

Before resize, return the value of the size field.

Member Data Documentation

◆ m_first

template<class Self_tp , class Ptr_tp >
Ptr_tp mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >::m_first
protected

Pointer to first character.

◆ m_initial_capacity

template<class Self_tp , class Ptr_tp >
std::size_t mysql::strconv::detail::Representation_ptr_base< Self_tp, Ptr_tp >::m_initial_capacity
protected

Initial capacity.


The documentation for this class was generated from the following file: