VCCC  2024.05
VisualCamp Common C++ library
vccc::impl Namespace Reference

Classes

struct  assignable_from_requires
 
struct  assignable_from_requires< LHS, RHS, false >
 
struct  assignable_from_impl
 
struct  basic_common_reference_qual_gen
 
struct  common_reference_tag_1
 
struct  common_reference_tag_2
 
struct  common_reference_tag_3
 
struct  common_reference_tag_3< T1, T2, void_t< decltype(false ? common_reference_val< T1 >() :common_reference_val< T2 >())> >
 
struct  common_reference_tag_4
 
struct  common_reference_tag_4< T1, T2, void_t< std::common_type_t< T1, T2 > > >
 
struct  common_reference_tag
 
struct  common_reference_two
 
struct  common_reference_two< T1, T2, 0 >
 
struct  common_reference_two< T1, T2, 1 >
 
struct  common_reference_two< T1, T2, 2 >
 
struct  common_reference_two< T1, T2, 3 >
 
struct  common_reference_two< T1, T2, 4 >
 
struct  common_reference_three
 
struct  common_reference_three< false, T1, T2, R... >
 
struct  no_simple_common_reference
 
struct  simple_common_reference_lref
 
struct  simple_common_reference_lref< T1, T2, true >
 
struct  simple_common_reference_lref< T1, T2, false >
 
struct  simple_common_reference_rref_2
 
struct  simple_common_reference_rref
 
struct  simple_common_reference_rref< T1, T2, CWrap, true >
 
struct  simple_common_reference_rref< T1, T2, CWrap, false >
 
struct  simple_common_reference_mixed_ref
 
struct  simple_common_reference_mixed_ref< B, DWrap, true >
 
struct  simple_common_reference_mixed_ref< B, DWrap, false >
 

Functions

template<typename T >
constexpr T sumImpl (const T &arg)
 
template<typename Arg1 , typename Arg2 >
constexpr auto sumImpl (const Arg1 &arg1, const Arg2 &arg2) -> decltype(arg1+arg2)
 
template<typename Arg , typename ... Args>
constexpr auto sumImpl (const Arg &arg, const Args &... args) -> decltype(arg+sumImpl(args...))
 
template<typename T , std::enable_if_t< std::is_class< std::decay_t< T >>::value, int > = 0>
constexpr std::decay_t< T > default_value ()
 
template<typename T >
common_reference_val ()
 

Function Documentation

◆ common_reference_val()

T vccc::impl::common_reference_val ( )

◆ default_value()

constexpr std::decay_t< T > default_value ( )
inlineconstexpr

◆ sumImpl() [1/3]

constexpr auto vccc::impl::sumImpl ( const Arg &  arg,
const Args &...  args 
) -> decltype(arg + sumImpl(args...))
constexpr

◆ sumImpl() [2/3]

constexpr auto vccc::impl::sumImpl ( const Arg1 &  arg1,
const Arg2 &  arg2 
) -> decltype(arg1 + arg2)
inlineconstexpr

◆ sumImpl() [3/3]

constexpr T vccc::impl::sumImpl ( const T &  arg)
inlineconstexpr