17 #ifndef MIR_INT_WRAPPER_H_
18 #define MIR_INT_WRAPPER_H_
24 template<
typename Tag,
typename ValueType=
int>
30 explicit constexpr
IntWrapper(ValueType value) : value(value) {}
31 ValueType constexpr
as_value()
const {
return value; }
37 template<
typename Tag,
typename ValueType>
44 template<
typename Tag,
typename ValueType>
50 template<
typename Tag,
typename ValueType>
56 template<
typename Tag,
typename ValueType>
62 template<
typename Tag,
typename ValueType>
68 template<
typename Tag,
typename ValueType>
78 template<
typename Tag,
typename ValueType>
84 return self(
id.as_value());
Definition: int_wrapper.h:26
constexpr ValueType as_value() const
Definition: int_wrapper.h:31
constexpr IntWrapper(ValueType value)
Definition: int_wrapper.h:30
constexpr IntWrapper()
Definition: int_wrapper.h:28
Definition: splash_session.h:22
constexpr bool operator<=(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:57
constexpr bool operator!=(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:51
constexpr bool operator>=(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:63
constexpr bool operator==(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:45
std::ostream & operator<<(std::ostream &out, IntWrapper< Tag, ValueType > const &value)
Definition: int_wrapper.h:38
constexpr bool operator<(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:69
constexpr std::size_t operator()(::mir::IntWrapper< Tag, ValueType > const &id) const
Definition: int_wrapper.h:82