19#ifndef MIR_INT_WRAPPER_H_
20#define MIR_INT_WRAPPER_H_
26template<
typename Tag,
typename ValueType=
int>
32 explicit constexpr IntWrapper(ValueType value) : value(value) {}
33 ValueType
constexpr as_value()
const {
return value; }
39template<
typename Tag,
typename ValueType>
46template<
typename Tag,
typename ValueType>
52template<
typename Tag,
typename ValueType>
58template<
typename Tag,
typename ValueType>
64template<
typename Tag,
typename ValueType>
70template<
typename Tag,
typename ValueType>
80template<
typename Tag,
typename ValueType>
86 return self(
id.as_value());
Definition: int_wrapper.h:28
constexpr IntWrapper(ValueType value)
Definition: int_wrapper.h:32
ValueType constexpr as_value() const
Definition: int_wrapper.h:33
constexpr IntWrapper()
Definition: int_wrapper.h:30
Definition: splash_session.h:24
constexpr bool operator<=(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:59
constexpr bool operator!=(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:53
constexpr bool operator>=(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:65
std::ostream & operator<<(std::ostream &out, IntWrapper< Tag, ValueType > const &value)
Definition: int_wrapper.h:40
constexpr bool operator==(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:47
constexpr bool operator<(IntWrapper< Tag, ValueType > const &lhs, IntWrapper< Tag, ValueType > const &rhs)
Definition: int_wrapper.h:71
std::hash< int > self
Definition: int_wrapper.h:83
constexpr std::size_t operator()(::mir::IntWrapper< Tag, ValueType > const &id) const
Definition: int_wrapper.h:84