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 for the latest Boost documentation.
C++ Boost

Overall Design Goals


Overall Index -- Gregorian Index -- Posix Time Index

Interfaces Provide concrete classes for manipulation of dates and times
  • date, time, date_duration, time_duration, date_period, time_period, etc
  • support for infinity - positive infinity, negative infinity
  • iterators over time and date ranges
  • allow date and time implemenations to be separate as much as possible
Calculation Provide a basis for performing efficient time calculations
  • days between dates
  • durations of times
  • durations of dates and times together
Representation Flexibility Provide the maximum possible reusability and flexibility
  • traits based customization of internal representations for size versus resolution control
  • Allowing the use of different epochs and resolution (eg: seconds versus microseconds, dates starting at the year 2000 versus dates starting in 1700)
  • Options for configuring unique calendar representations (Gregorian + others)
  • the use of Julian Day number and the conversion between this and the Gregorian/Julian calendar date
  • Allow for flexible adjustments including leap seconds
Date Calculations Provide tools for date calculations
  • provide basis for calculation of complex event specs like holidays
  • calendar to calendar conversions
  • provide for ability to extend to new calendar systems
Time Calculations Provide concrete classes for manipulation of time
  • provide the ability to handle cross time-zone issues
  • provide adjustments for daylight savings time (summer time)
Clock Interfaces Provide classes for retrieving time current time
  • access to a network / high resolution time sources
  • retrieving the current date time information to populate classes
I/O Interfaces Provide input and output for time including
  • multi-lingual support
  • provide ISO8601 compliant time facet
  • use I/O facets for different local behavior

Last modified: Wed Aug 21 15:42:19 MST 2002 by Jeff Garland © 2000-2002