MySQL 9.6.0
Source Code Documentation
view_sources.h File Reference

Experimental API header. More...

#include <optional>
#include <ranges>
#include <type_traits>
#include "mysql/iterators/null_iterator.h"

Go to the source code of this file.

Classes

class  mysql::ranges::View_source< Source_tp, owns_source_tp >
 Wrapper around an object that is the source for a view: the wrapped object is owned by this object if the wrapped object's type satisfies std::ranges::view, and not owned otherwise. More...
 
class  mysql::ranges::Optional_view_source< Source_tp, owns_source_tp >
 std::optional-like wrapper around an object that is the source for a view: this may hold an object or not; and the wrapped object is owned by this object if the wrapped object's type satisfies std::ranges::view, and not owned otherwise. More...
 

Namespaces

namespace  mysql
 
namespace  mysql::ranges
 

Typedefs

template<class Source_t , bool owns_source_t = std::ranges::view<Source_t>>
using mysql::ranges::Raw_view_source = std::conditional_t< owns_source_t, Source_t, const Source_t & >
 Type alias to represent the source of a view: resolves to Type if std::ranges::view<Type>, or to Type & otherwise. More...
 

Functions

template<class Source_t >
auto mysql::ranges::make_view_source (const Source_t &source)
 Factory function to create a View_source wrapping the given object. More...
 
template<class Source_t >
auto mysql::ranges::make_optional_view_source (const Source_t &source)
 Factory function to create an Optional_view_source wrapping the given object. More...
 
template<class Source_t >
auto mysql::ranges::make_optional_view_source (const Source_t *source)
 Factory function to create an Optional_view_source wrapping the pointed-to object. More...
 

Detailed Description

Experimental API header.