Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
CommonResultYield< T1, T2, true > Struct Template Reference

#include "lib/meta/value-type-binding.hpp"

Description

template<typename T1, typename T2>
struct lib::meta::CommonResultYield< T1, T2, true >

Definition at line 144 of file value-type-binding.hpp.

Public Types

using _Common = std::common_type_t< T1, T2 >
 
using _ConstT = std::conditional_t< isConst, const _Common, _Common >
 
using _ValRef = std::conditional_t< isRef, std::add_lvalue_reference_t< _ConstT >, std::remove_reference_t< _ConstT > >
 
using ResType = _ValRef
 
using value_type = RefTraits< ResType >::Value
 
using reference = RefTraits< ResType >::Reference
 
using pointer = RefTraits< ResType >::Pointer
 

Static Public Attributes

static constexpr bool isConst = isConst_v<T1> or isConst_v<T2>
 
static constexpr bool isRef = isLRef_v<T1> and isLRef_v<T2>
 

Member Typedef Documentation

◆ _Common

template<typename T1 , typename T2 >
using _Common = std::common_type_t<T1,T2>

Definition at line 147 of file value-type-binding.hpp.

◆ _ConstT

template<typename T1 , typename T2 >
using _ConstT = std::conditional_t<isConst , const _Common , _Common >

Definition at line 152 of file value-type-binding.hpp.

◆ _ValRef

template<typename T1 , typename T2 >
using _ValRef = std::conditional_t<isRef , std::add_lvalue_reference_t<_ConstT> , std::remove_reference_t<_ConstT> >

Definition at line 156 of file value-type-binding.hpp.

◆ ResType

Definition at line 161 of file value-type-binding.hpp.

◆ value_type

Definition at line 162 of file value-type-binding.hpp.

◆ reference

template<typename T1 , typename T2 >
using reference = RefTraits<ResType>::Reference

Definition at line 163 of file value-type-binding.hpp.

◆ pointer

template<typename T1 , typename T2 >
using pointer = RefTraits<ResType>::Pointer

Definition at line 164 of file value-type-binding.hpp.

Member Data Documentation

◆ isConst

template<typename T1 , typename T2 >
constexpr bool isConst = isConst_v<T1> or isConst_v<T2>
staticconstexpr

Definition at line 149 of file value-type-binding.hpp.

◆ isRef

template<typename T1 , typename T2 >
constexpr bool isRef = isLRef_v<T1> and isLRef_v<T2>
staticconstexpr

Definition at line 150 of file value-type-binding.hpp.

+ Inheritance diagram for CommonResultYield< T1, T2, true >:
+ Collaboration diagram for CommonResultYield< T1, T2, true >:

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