MySQL 9.6.0
Source Code Documentation
flat_view.h File Reference

Experimental API header. More...

Go to the source code of this file.

Classes

struct  mysql::ranges::Default_unfold
 Default Unfold class. More...
 
class  mysql::ranges::Flat_iterator< Outer_range_tp, Unfold_tp >
 Iterator adaptor that recursively flattens the sequence of a given iterator over a nested sequence. More...
 
class  mysql::ranges::Flat_view< Source_tp, Unfold_tp >
 Forward declaration. More...
 

Namespaces

namespace  mysql
 
namespace  mysql::ranges
 

Concepts

concept  mysql::ranges::Can_unfold_with
 True if Unfold_t<Source_t>unfold(Source_t) is defined and returns a range.
 
concept  mysql::ranges::Can_unfold_twice_with
 True if Source_t can be unfolded, and also the value type for the unfolded range can be unfolded, using the given Unfold_t function.
 

Typedefs

template<class Source_t , class Unfold_t >
using mysql::ranges::Unfolded_type = std::remove_cvref_t< decltype(Unfold_t::unfold(std::declval< Source_t >()))>
 Provides the type of the range returned from unfold<Unfold_t>(Source_t). More...
 
template<class Source_t , class Unfold_t >
using mysql::ranges::Flat_view_type = std::remove_cvref_t< decltype(make_flat_view< Unfold_t >(std::declval< Source_t >()))>
 Type of the flat view returned from make_flat_view<Unfold_t>(Source_T&). More...
 

Functions

template<class Unfold_t = Default_unfold, Can_unfold_with< Unfold_t > Source_t>
decltype(auto) mysql::ranges::make_flat_view (const Source_t &source)
 Factory function to create a range view over a flattened sequence of elements from given source. More...
 
template<class Unfold_t , class Range_t >
auto mysql::ranges::make_flat_iterator (const Range_t &range, const Range_const_iterator_type< Range_t > &iterator)
 Returns a flat iterator over the range starting at iterator. More...
 

Detailed Description

Experimental API header.