UgMisc 0.3-1
Miscellaneous C++ header library
Loading...
Searching...
No Matches
ugmisc::least_required_int_type_finder< V1 > Class Template Reference

#include <ugmisc/int_finder.hpp>

Public Types

template<auto... V2>
using type = decltype(typed_zero<V2...>())
template<auto... V2>
using std_sequence
template<auto... V2>
using type_list
template<auto... V2>
using finder = least_required_int_type_finder<V1..., V2...>

Detailed Description

template<auto... V1>
requires (... && intfind_::RequiredIntTparamType<decltype(V1)>)
class ugmisc::least_required_int_type_finder< V1 >

Usually you would want to use ugmisc::least_required_int_type

Definition at line 1008 of file int_finder.hpp.

Member Typedef Documentation

◆ finder

template<auto... V1>
template<auto... V2>
using ugmisc::least_required_int_type_finder< V1 >::finder = least_required_int_type_finder<V1..., V2...>

Another instance of the least_required_int_type_finder class template, with additional template parameters.

using finder2 = typename finder1::template finder<1, -7>;
using type = typename finder2::template type<100>;
least_required_int_type_finder< V1..., V2... > finder
decltype(typed_zero< V2... >()) type

produces the same type definition as:

1, -7, 100
>;
@ SELECT_VALUE_SIGN
typename least_required_int_type_finder<>::template type< V... > least_required_int_type

Definition at line 1207 of file int_finder.hpp.

◆ std_sequence

template<auto... V1>
template<auto... V2>
using ugmisc::least_required_int_type_finder< V1 >::std_sequence
Initial value:
typename sequences<V2...>
::template std_sequence<type<V2...>>
typename sequences< V2... > ::template std_sequence< type< V2... > > std_sequence

std::integer_sequence<type<V2...>, values...>, where values are all of the V1 and V2 parameters which are integer values (rather than flags and options).

Definition at line 1175 of file int_finder.hpp.

◆ type

template<auto... V1>
template<auto... V2>
using ugmisc::least_required_int_type_finder< V1 >::type = decltype(typed_zero<V2...>())

The type which can represent all the values, using all the options and flags.

The options and flags are taken from V1... and V2....

Definition at line 1167 of file int_finder.hpp.

◆ type_list

template<auto... V1>
template<auto... V2>
using ugmisc::least_required_int_type_finder< V1 >::type_list
Initial value:
typename sequences<V2...>
::template type_list<type<V2...>>
typename sequences< V2... > ::template type_list< type< V2... > > type_list

Returns a ugmisc::type_list in which each type is a std::integral_constant representing one of the provided integer values cast to type<V2...>.

Definition at line 1184 of file int_finder.hpp.


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