Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Class template split_timedate_system

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 {
  // 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
                         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 private member functions

  1.  BOOST_STATIC_CONSTANT(int_type, 
                           ticks_per_day = INT64_C(86400)*config::tick_per_second);

split_timedate_system public static functions

  1. static time_rep_type get_time_rep(special_values sv);
  2. static time_rep_type 
    get_time_rep(const date_type & day, const time_duration_type & tod, 
                 date_time::dst_flags = not_dst);
  3. static date_type get_date(const time_rep_type & val);
  4. static time_duration_type get_time_of_day(const time_rep_type & val);
  5. static std::string zone_name(const time_rep_type &);
  6. static bool is_equal(const time_rep_type & lhs, const time_rep_type & rhs);
  7. static bool is_less(const time_rep_type & lhs, const time_rep_type & rhs);
  8. static time_rep_type 
    add_days(const time_rep_type & base, const date_duration_type & dd);
  9. static time_rep_type 
    subtract_days(const time_rep_type & base, const date_duration_type & dd);
  10. static time_rep_type 
    subtract_time_duration(const time_rep_type & base, 
                           const time_duration_type & td);
  11. static time_rep_type 
    add_time_duration(const time_rep_type & base, time_duration_type td);
  12. static time_duration_type 
    subtract_times(const time_rep_type & lhs, const time_rep_type & rhs);