constexpr outer() { if (m_x.value() != 0) throw 0; m_x.m_value = integer{1}.value(); if (m_x.value() != 1) throw 0; }
std::size_t integer_hasher::hash(const integer& v) { std::size_t seed(0); combine(seed, v.value()); return seed; }