...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::split_timedate_system — An unadjusted time system implementation.
// In header: <boost/date_time/time_system_split.hpp> template<typename config, boost::int32_t ticks_per_second> class split_timedate_system { public: // types typedef config::time_rep_type time_rep_type; typedef config::date_type date_type; typedef config::time_duration_type time_duration_type; typedef config::date_duration_type date_duration_type; typedef config::int_type int_type; typedef config::resolution_traits resolution_traits; typedef date_time::wrapping_int< int_type, INT64_C(86400)*ticks_per_second > wrap_int_type; typedef date_time::wrapping_int< split_timedate_system::int_type, split_timedate_system::ticks_per_day > wrap_int_type; typedef date_time::wrapping_int< int_type, ticks_per_day > wrap_int_type; // private member functions BOOST_STATIC_CONSTANT(int_type, ticks_per_day = INT64_C(86400)*config::tick_per_second) ; // public static functions static time_rep_type get_time_rep(special_values) ; static time_rep_type get_time_rep(const date_type &, const time_duration_type &, date_time::dst_flags = not_dst) ; 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 &) ; };
split_timedate_system
public static functionsstatic time_rep_type get_time_rep(special_values sv) ;
static time_rep_type get_time_rep(const date_type & day, const time_duration_type & tod, date_time::dst_flags = not_dst) ;
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) ;