arg_router
1.4.0
C++ command line argument parsing and routing
|
Classes | |
class | find_specialisation |
class | count_specialisation |
class | count_despecialised |
struct | has_specialisation |
class | zip |
struct | unzip |
Typedefs | |
template<typename First , typename Second > | |
using | zip_t = typename zip< First, Second >::type |
Functions | |
template<template< typename... > typename Fn, typename U > | |
constexpr auto | tuple_filter_and_construct (U &&input) noexcept |
template<typename Tuple , typename Insert > | |
constexpr auto | tuple_push_back (Tuple tuple, Insert insert) noexcept |
template<std::size_t Count, typename Tuple > | |
constexpr auto | tuple_drop (Tuple &&input) |
template<std::size_t I, typename... T> | |
constexpr auto & | pack_element (const T &... pack) noexcept |
Variables | |
template<template< typename... > typename T, typename Tuple > | |
constexpr auto | find_specialisation_v = find_specialisation<T, Tuple>::value |
template<template< typename... > typename T, typename Tuple > | |
constexpr auto | count_specialisation_v = count_specialisation<T, Tuple>::value |
template<typename T , typename Tuple > | |
constexpr auto | count_despecialised_v = count_despecialised<T, Tuple>::value |
template<template< typename... > typename T, typename Tuple > | |
constexpr auto | has_specialisation_v = has_specialisation<T, Tuple>::value |
Namespace for generic algorithms.
using arg_router::algorithm::zip_t = typedef typename zip<First, Second>::type |
Helper alias for zip.
First | First tuple |
Second | Second tuple |
Definition at line 158 of file algorithm.hpp.
|
constexprnoexcept |
Convenience function for accessing a reference to the pack element at index I.
Compilation failure if I is greater than or equal to the number of elements in pack.
I | Index of pack element to access |
T | Pack types |
pack | Parameter pack |
Definition at line 288 of file algorithm.hpp.
|
constexpr |
Remove the first Count elements from tuple.
input | Tuple to remove elements from |
Definition at line 272 of file algorithm.hpp.
|
constexprnoexcept |
Moves (or copies if unable to) elements from input if their type passes Fn, and constructs a tuple instance from them.
The key point of this function is that this operation is done in a single expression so it works with tuples with elements that are not default constructible.
Fn | Metafunction type whose value member is true for types in U wanted in the return |
U | Tuple-like input type |
input | Tuple-like input |
Definition at line 196 of file algorithm.hpp.
|
constexprnoexcept |
Appends insert to tuple.
Tuple | A tuple-like type |
Insert | The type to append |
tuple | Tuple instance |
insert | Instance to append |
Definition at line 246 of file algorithm.hpp.
|
constexpr |
Helper variable for count_despecialised.
T | Type to search for |
Tuple | Types to search (may be empty) |
Definition at line 100 of file algorithm.hpp.
|
constexpr |
Helper variable for count_specialisation.
T | Specialisation to search for |
Tuple | Types to search (may be empty) |
Definition at line 76 of file algorithm.hpp.
|
constexpr |
Helper variable for find_specialisation.
T | Specialisation to search for |
Tuple | Types to search (may be empty) |
Definition at line 46 of file algorithm.hpp.
|
constexpr |
Helper variable for has_specialisation.
T | Specialisation to search for |
Tuple | Types to search (may be empty) |
Definition at line 124 of file algorithm.hpp.