repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
librepr::category::Value< T > Struct Template Reference

#include <category.h>

Inheritance diagram for librepr::category::Value< T >:
[legend]
Collaboration diagram for librepr::category::Value< T >:
[legend]

Public Types

using descend = T
 
using type = typename T::type
 

Public Member Functions

template<detail::ref_convertible_to< type > U>
requires (!std::same_as<Value, std::remove_cvref_t<U>>)
constexpr explicit (false) Value(U &&obj) noexcept(noexcept(detail::convert_ref< type >(std::forward< U >(obj))))
 
 Value (const Value &) noexcept=default
 
Valueoperator= (const Value &) noexcept=default
 
 ~Value ()=default
 
constexpr explicit (false) operator type &() const noexcept
 
constexpr typeoperator* () const noexcept
 
constexpr typeoperator-> () const noexcept
 
constexpr typevalue () const noexcept
 
template<typename V >
void visit (V &&visitor)
 

Member Typedef Documentation

◆ descend

template<class T >
using librepr::category::Value< T >::descend = T

◆ type

template<class T >
using librepr::category::Value< T >::type = typename T::type

Constructor & Destructor Documentation

◆ Value()

template<class T >
librepr::category::Value< T >::Value ( const Value< T > &  )
defaultnoexcept

◆ ~Value()

template<class T >
librepr::category::Value< T >::~Value ( )
default

Member Function Documentation

◆ explicit() [1/2]

template<class T >
constexpr librepr::category::Value< T >::explicit ( false  ) const &
inlineconstexprnoexcept

◆ explicit() [2/2]

template<class T >
template<detail::ref_convertible_to< type > U>
requires (!std::same_as<Value, std::remove_cvref_t<U>>)
constexpr librepr::category::Value< T >::explicit ( false  ) &&
inlineconstexprnoexcept

◆ operator*()

template<class T >
constexpr type & librepr::category::Value< T >::operator* ( ) const
inlineconstexprnoexcept

◆ operator->()

template<class T >
constexpr type * librepr::category::Value< T >::operator-> ( ) const
inlineconstexprnoexcept

◆ operator=()

template<class T >
Value & librepr::category::Value< T >::operator= ( const Value< T > &  )
defaultnoexcept

◆ value()

template<class T >
constexpr type & librepr::category::Value< T >::value ( ) const
inlineconstexprnoexcept

◆ visit()

template<class T >
template<typename V >
void librepr::category::Value< T >::visit ( V &&  visitor)
inline

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