12 #ifndef ZYPP_CORE_BASE_DEFAULTINTEGRAL_H 13 #define ZYPP_CORE_BASE_DEFAULTINTEGRAL_H 16 #include <boost/static_assert.hpp> 17 #include <boost/type_traits/is_integral.hpp> 40 template<
class Tp, Tp TInitial>
49 { BOOST_STATIC_ASSERT(boost::is_integral<Tp>::value); }
53 Tp &
get() {
return _val; }
54 Tp
get()
const {
return _val; }
56 operator Tp &() {
return get(); }
57 operator Tp ()
const {
return get(); }
61 constexpr Tp
initial()
const {
return TInitial; }
94 template<
typename TIntegral>
97 template<
class Tp, Tp TInitial>
104 #endif // ZYPP_CORE_BASE_DEFAULTINTEGRAL_H std::string asString(const Patch::Category &obj)
Tp & get()
Conversion to Tp.
DefaultIntegral & operator=(Tp rhs)
DefaultIntegral operator--(int)
DefaultIntegral< bool, false > FalseBool
DefaultIntegral & operator*=(Tp rhs)
DefaultIntegral & reset()
Reset to the defined initial value.
DefaultIntegral< bool, true > TrueBool
DefaultIntegral operator++(int)
DefaultIntegral & operator-=(Tp rhs)
Integral type with defined initial value when default constructed.
DefaultIntegral & operator--()
DefaultIntegral & operator/=(Tp rhs)
DefaultIntegral & operator++()
constexpr Tp initial() const
The initial value.
DefaultIntegral & operator+=(Tp rhs)
DefaultIntegral(Tp val_r=TInitial)
Easy-to use interface to the ZYPP dependency resolver.