![]() |
Home | Libraries | People | FAQ | More |
boost::date_time::wrapping_int — A wrapping integer used to support time durations (WARNING: only instantiate with a signed type)
// In header: <boost/date_time/wrapping_int.hpp> template<typename int_type_, wrap_val> class wrapping_int { public: // types typedef int_type_ ; // construct/copy/destruct (int_type); // public static functions BOOST_CONSTEXPR int_type (); // public member functions BOOST_CONSTEXPR int_type () ; BOOST_CONSTEXPR () ; template<typename IntT> BOOST_CXX14_CONSTEXPR IntT (IntT); template<typename IntT> BOOST_CXX14_CONSTEXPR IntT (IntT); // private member functions template<typename IntT> BOOST_CXX14_CONSTEXPR IntT (IntT); };
In composite date and time types this type is used to wrap at the day boundary. Ex: A wrapping_int<short, 10> will roll over after nine, and roll under below zero. This gives a range of [0,9]
NOTE: it is strongly recommended that wrapping_int2 be used instead of wrapping_int as wrapping_int is to be depricated at some point soon.
Also Note that warnings will occur if instantiated with an unsigned type. Only a signed type should be used!
wrapping_int
public member functionsBOOST_CONSTEXPR int_type () ;Explicit converion method.
BOOST_CONSTEXPR () ;
template<typename IntT> BOOST_CXX14_CONSTEXPR IntT (IntT v);Add, return number of wraps performed.
The sign of the returned value will indicate which direction the wraps went. Ex: add a negative number and wrapping under could occur, this would be indicated by a negative return value. If wrapping over took place, a positive value would be returned
template<typename IntT> BOOST_CXX14_CONSTEXPR IntT (IntT v);Subtract will return '+d' if wrapping under took place ('d' is the number of wraps)
The sign of the returned value will indicate which direction the wraps went (positive indicates wrap under, negative indicates wrap over). Ex: subtract a negative number and wrapping over could occur, this would be indicated by a negative return value. If wrapping under took place, a positive value would be returned.