CLI11  2.5.0
Public Types | Static Public Member Functions | List of all members
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 > >:
Inheritance graph
[legend]
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 > >:
Collaboration graph
[legend]

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) More...
 
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) More...
 

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

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
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
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

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)

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: