26 template <
typename value_t>
30 struct total : detail::strong_type<value_t, total<value_t>, detail::strong_type_skill::convert>
32 using detail::strong_type<value_t, total<value_t>, detail::strong_type_skill::convert>::strong_type;
43 template <std::
integral value_t>
48 template <
typename value_t>
60 template <
typename value_t>
64 struct substitution : detail::strong_type<value_t, substitution<value_t>, detail::strong_type_skill::convert>
66 using detail::strong_type<value_t, substitution<value_t>, detail::strong_type_skill::convert>::strong_type;
77 template <std::
integral value_t>
82 template <
typename value_t>
93 template <
typename value_t>
97 struct insertion : detail::strong_type<value_t, insertion<value_t>, detail::strong_type_skill::convert>
99 using detail::strong_type<value_t, insertion<value_t>, detail::strong_type_skill::convert>::strong_type;
110 template <std::
integral value_t>
115 template <
typename value_t>
126 template <
typename value_t>
130 struct deletion : detail::strong_type<value_t, deletion<value_t>, detail::strong_type_skill::convert>
132 using detail::strong_type<value_t, deletion<value_t>, detail::strong_type_skill::convert>::strong_type;
143 template <std::
integral value_t>
148 template <
typename value_t>