| Home | Libraries | People | FAQ | More

## Class template split_timedate_system

boost::date_time::split_timedate_system — An unadjusted time system implementation.

## Synopsis

    // 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 &);
    };

## Description

### `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);