MySQL 9.6.0
Source Code Documentation
mysql::ranges::Flat_view< Source_tp, Unfold_tp > Class Template Reference

Forward declaration. More...

#include <flat_view.h>

Inheritance diagram for mysql::ranges::Flat_view< Source_tp, Unfold_tp >:
[legend]

Public Member Functions

 Flat_view ()=default
 
 Flat_view (const Source_t &source)
 
auto begin () const
 
auto end () const
 
- Public Member Functions inherited from mysql::ranges::Collection_interface< Flat_view< Source_tp, Unfold_tp > >
constexpr auto cbegin () const
 Return constant iterator to the beginning. More...
 
constexpr auto cend () const
 Return constant iterator to the end. More...
 
constexpr auto rbegin ()
 Return reverse iterator to the beginning. More...
 
constexpr auto rbegin () const
 Return const reverse iterator to the beginning. More...
 
constexpr auto rend ()
 Return reverse iterator to the end. More...
 
constexpr auto rend () const
 Return const reverse iterator to the end. More...
 
constexpr auto crbegin () const
 Return const reverse iterator to the beginning. More...
 
constexpr auto crend () const
 Return const reverse iterator to the end. More...
 
constexpr bool empty () const
 Return true if the range is empty, i.e., begin() == end(). More...
 
constexpr operator bool () const
 Return true if the range is non-empty, i.e., begin() != end(). More...
 
constexpr bool operator! () const
 Return true if the range is empty, i.e., begin() == end(). More...
 
constexpr auto size () const
 Return the number of elements in this view, unsigned (size_t), by computing std::ranges::distance(begin, end) More...
 
constexpr auto ssize () const
 Return the number of elements in this view, signed (ptrdiff_t). More...
 
constexpr decltype(auto) front () const
 Return the first element. More...
 
constexpr decltype(auto) back () const
 Return the last element. Enabled if we have bidirectional iterators. More...
 
constexpr decltype(auto) operator[] (std::ptrdiff_t n)
 Return the n'th element, possibly mutable. More...
 
constexpr decltype(auto) operator[] (std::ptrdiff_t n) const
 Return the n'th element, const. More...
 
constexpr auto * data ()
 Return pointer to underlying contiguous memory. More...
 
constexpr auto * data () const
 Return const pointer to underlying contiguous memory. More...
 

Private Types

using Source_t = Source_tp
 
using Unfold_t = Unfold_tp
 
using Range_t = Unfolded_type< Source_t, Unfold_t >
 
using Range_ref_t = View_source< Range_t >
 

Private Attributes

Range_ref_t m_range
 

Detailed Description

template<class Source_tp, class Unfold_tp>
class mysql::ranges::Flat_view< Source_tp, Unfold_tp >

Forward declaration.

Flat view over the innermost elements of a type that unfolds to a range, whose value type also unfolds to a range (possibly recursively).

Template Parameters
Source_tpType that can be unfolded to a range.
Unfold_tpUnfold function.

Member Typedef Documentation

◆ Range_ref_t

template<class Source_tp , class Unfold_tp >
using mysql::ranges::Flat_view< Source_tp, Unfold_tp >::Range_ref_t = View_source<Range_t>
private

◆ Range_t

template<class Source_tp , class Unfold_tp >
using mysql::ranges::Flat_view< Source_tp, Unfold_tp >::Range_t = Unfolded_type<Source_t, Unfold_t>
private

◆ Source_t

template<class Source_tp , class Unfold_tp >
using mysql::ranges::Flat_view< Source_tp, Unfold_tp >::Source_t = Source_tp
private

◆ Unfold_t

template<class Source_tp , class Unfold_tp >
using mysql::ranges::Flat_view< Source_tp, Unfold_tp >::Unfold_t = Unfold_tp
private

Constructor & Destructor Documentation

◆ Flat_view() [1/2]

template<class Source_tp , class Unfold_tp >
mysql::ranges::Flat_view< Source_tp, Unfold_tp >::Flat_view ( )
default

◆ Flat_view() [2/2]

template<class Source_tp , class Unfold_tp >
mysql::ranges::Flat_view< Source_tp, Unfold_tp >::Flat_view ( const Source_t source)
inlineexplicit

Member Function Documentation

◆ begin()

template<class Source_tp , class Unfold_tp >
auto mysql::ranges::Flat_view< Source_tp, Unfold_tp >::begin ( ) const
inline

◆ end()

template<class Source_tp , class Unfold_tp >
auto mysql::ranges::Flat_view< Source_tp, Unfold_tp >::end ( ) const
inline

Member Data Documentation

◆ m_range

template<class Source_tp , class Unfold_tp >
Range_ref_t mysql::ranges::Flat_view< Source_tp, Unfold_tp >::m_range
private

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