MySQL 9.6.0
Source Code Documentation
mysql::iterators::detail::Dereferenceable_wrapper< Value_tp > Class Template Reference

Auxiliary object that holds a value internally, and operator-> returns a pointer to the value. More...

#include <iterator_interface.h>

Public Types

using Value_t = Value_tp
 

Public Member Functions

template<class... Args_t>
requires mysql::meta::Not_decayed<Dereferenceable_wrapper<Value_t>, Args_t...>
 Dereferenceable_wrapper (Args_t &&...args)
 
Value_toperator-> ()
 

Private Attributes

Value_t m_value
 

Detailed Description

template<class Value_tp>
class mysql::iterators::detail::Dereferenceable_wrapper< Value_tp >

Auxiliary object that holds a value internally, and operator-> returns a pointer to the value.

This is also called an "arrow proxy".

This is useful to implement the operator-> for iterator classes for which operator* returns by value, rather than by reference.

Member Typedef Documentation

◆ Value_t

template<class Value_tp >
using mysql::iterators::detail::Dereferenceable_wrapper< Value_tp >::Value_t = Value_tp

Constructor & Destructor Documentation

◆ Dereferenceable_wrapper()

template<class Value_tp >
template<class... Args_t>
requires mysql::meta::Not_decayed<Dereferenceable_wrapper<Value_t>, Args_t...>
mysql::iterators::detail::Dereferenceable_wrapper< Value_tp >::Dereferenceable_wrapper ( Args_t &&...  args)
inlineexplicit

Member Function Documentation

◆ operator->()

template<class Value_tp >
Value_t * mysql::iterators::detail::Dereferenceable_wrapper< Value_tp >::operator-> ( )
inline

Member Data Documentation

◆ m_value

template<class Value_tp >
Value_t mysql::iterators::detail::Dereferenceable_wrapper< Value_tp >::m_value
private

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