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

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

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

inline static

Get the first value (really just the underlying value).

## second()

template<typename T>
template<typename Q>

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

inline static

Get the second value (really just the underlying value).

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

- include/CLI/TypeTools.hpp