CLI11 2.2.0
Loading...
Searching...
No Matches
CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > > Struct Template Reference

#include <TypeTools.hpp>

Inheritance diagram for CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >:
Collaboration diagram for CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >:

Public Types

using value_type = typename T::value_type
 
using first_type = typename std::remove_const<typename value_type::first_type>::type
 
using second_type = typename std::remove_const<typename value_type::second_type>::type
 

Static Public Member Functions

template<typename Q >
static auto first (Q &&pair_value) -> decltype(std::get< 0 >(std::forward< Q >(pair_value)))
 Get the first value (really just the underlying value)
 
template<typename Q >
static auto second (Q &&pair_value) -> decltype(std::get< 1 >(std::forward< Q >(pair_value)))
 Get the second value (really just the underlying value)
 

Detailed Description

template<typename T>
struct CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >

Adaptor for map-like structure (true version, must have key_type and mapped_type). This wraps a mapped container in a few utilities access it in a general way.

Member Typedef Documentation

◆ first_type

template<typename T >
using CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >::first_type = typename std::remove_const<typename value_type::first_type>::type

◆ second_type

template<typename T >
using CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >::second_type = typename std::remove_const<typename value_type::second_type>::type

◆ value_type

template<typename T >
using CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >::value_type = typename T::value_type

Member Function Documentation

◆ first()

template<typename T >
template<typename Q >
static auto CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >::first ( Q && pair_value) -> decltype(std::get<0>(std::forward<Q>(pair_value)))
inlinestatic

Get the first value (really just the underlying value)

◆ second()

template<typename T >
template<typename Q >
static auto CLI::detail::pair_adaptor< T, conditional_t< false, void_t< typename T::value_type::first_type, typename T::value_type::second_type >, void > >::second ( Q && pair_value) -> decltype(std::get<1>(std::forward<Q>(pair_value)))
inlinestatic

Get the second value (really just the underlying value)


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