52 template <
typename T1,
typename T2>
53 using pair = std::pair<T1, T2>;
58 template <
typename T1,
typename T2>
62 return std::make_pair(
t1,
t2);
69 template<typename T1, typename T2>
70 constexpr pair<T1, T2>
71 make_pair(T1 &&t1, T2 &&t2)
72 { return std::make_pair(std::move(t1), std::move(t2)); }
100 return std::make_optional(
t);
108 constexpr optional<T>
110 { return std::make_optional(std::move(t)); }
consumer< ValueType > make_consumer(OutputIt &iter)
Wrap an iterator into a consumer function.
Definition functional.h:67
Core types.
Definition adiar.h:40
std::pair< T1, T2 > pair
A pair of values.
Definition types.h:53
replace_type
Possible guarantees of a variable permutation/remapping m of type int -> int.
Definition types.h:32
constexpr pair< T1, T2 > make_pair(const T1 &t1, const T2 &t2)
Create an adiar::pair, deducing the target type based on the types of the arguments.
Definition types.h:60
std::optional< T > optional
An optional value, i.e. a possibly existent value.
Definition types.h:81
constexpr optional< T > make_optional()
Create an empty adiar::optional, i.e. None.
Definition types.h:88
assignment
Possible values to assign a variable.
Definition types.h:13