...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::date_time::counted_time_system — An unadjusted time system implementation.
// In header: <boost/date_time/time_system_counted.hpp> template<typename time_rep> class counted_time_system { public: // types typedef time_rep time_rep_type; typedef time_rep_type::impl_type impl_type; typedef time_rep_type::time_duration_type time_duration_type; typedef time_duration_type::fractional_seconds_type fractional_seconds_type; typedef time_rep_type::date_type date_type; typedef time_rep_type::date_duration_type date_duration_type; // public static functions template<typename T> static void unused_var(const T &) ; static time_rep_type get_time_rep(const date_type &, const time_duration_type &, date_time::dst_flags = not_dst) ; static time_rep_type get_time_rep(special_values) ; static date_type get_date(const time_rep_type &) ; static time_duration_type get_time_of_day(const time_rep_type &) ; static std::string zone_name(const time_rep_type &) ; static bool is_equal(const time_rep_type &, const time_rep_type &) ; static bool is_less(const time_rep_type &, const time_rep_type &) ; static time_rep_type add_days(const time_rep_type &, const date_duration_type &) ; static time_rep_type subtract_days(const time_rep_type &, const date_duration_type &) ; static time_rep_type subtract_time_duration(const time_rep_type &, const time_duration_type &) ; static time_rep_type add_time_duration(const time_rep_type &, time_duration_type) ; static time_duration_type subtract_times(const time_rep_type &, const time_rep_type &) ; };
counted_time_system
public static functionstemplate<typename T> static void unused_var(const T &) ;
static time_rep_type get_time_rep(const date_type & day, const time_duration_type & tod, date_time::dst_flags dst = not_dst) ;
static time_rep_type get_time_rep(special_values sv) ;
static date_type get_date(const time_rep_type & val) ;
static time_duration_type get_time_of_day(const time_rep_type & val) ;
static std::string zone_name(const time_rep_type &) ;
static bool is_equal(const time_rep_type & lhs, const time_rep_type & rhs) ;
static bool is_less(const time_rep_type & lhs, const time_rep_type & rhs) ;
static time_rep_type add_days(const time_rep_type & base, const date_duration_type & dd) ;
static time_rep_type subtract_days(const time_rep_type & base, const date_duration_type & dd) ;
static time_rep_type subtract_time_duration(const time_rep_type & base, const time_duration_type & td) ;
static time_rep_type add_time_duration(const time_rep_type & base, time_duration_type td) ;
static time_duration_type subtract_times(const time_rep_type & lhs, const time_rep_type & rhs) ;