BDE 4.14.0 Production release
Loading...
Searching...
No Matches
Package bdlt

Modules

 bdlt_calendar
 Provide fast repository for accessing weekend/holiday information.
 
 bdlt_calendarcache
 Provide an efficient cache for read-only bdlt::Calendar objects.
 
 bdlt_calendarloader
 Provide a protocol (or pure interface) for loading calendars.
 
 bdlt_calendarreverseiteratoradapter
 Provide reverse iterator adapter for calendar iterators.
 
 bdlt_calendarutil
 Provide common date manipulations requiring a calendar.
 
 bdlt_currenttime
 Provide utilities to retrieve the current time.
 
 bdlt_date
 Provide a value-semantic type to represent dates.
 
 bdlt_datetime
 Provide a value-semantic type representing both date and time.
 
 bdlt_datetimeimputil
 Provide constants useful for encoding datetimes.
 
 bdlt_datetimeinterval
 Provide a representation of an interval of time.
 
 bdlt_datetimeintervalutil
 Provide non-primitive operations on bdlt::DatetimeInterval.
 
 bdlt_datetimetz
 Provide a representation of a date and time with time zone offset.
 
 bdlt_datetimeutil
 Provide common non-primitive operations on bdlt::Datetime.
 
 bdlt_datetz
 Provide a representation of a date with time zone offset.
 
 bdlt_dateutil
 Provide common non-primitive operations on date objects.
 
 bdlt_dayofweek
 Provide an enumeration of the set of days of the week.
 
 bdlt_dayofweekset
 Provide an ordered set of (unique) bdlt::DayOfWeek::Enum values.
 
 bdlt_dayofweekutil
 Provide common non-primitive operations on bdlt::DayOfWeek::Enum.
 
 bdlt_defaultcalendarcache
 Provide a process-wide default bdlt::CalendarCache object.
 
 bdlt_defaulttimetablecache
 Provide a process-wide default bdlt::TimetableCache object.
 
 bdlt_epochutil
 Conversion between absolute/relative time with respect to epoch.
 
 bdlt_fixutil
 Provide conversions between date/time objects and FIX strings.
 
 bdlt_fixutilconfiguration
 Provide an attribute class to configure FIX string generation.
 
 bdlt_fuzzutil
 Provide creation of bdlt data types from fuzz data.
 
 bdlt_intervalconversionutil
 Provide functions to convert between time-interval representations.
 
 bdlt_iso8601util
 Provide conversions between date/time objects and ISO 8601 strings.
 
 bdlt_iso8601utilconfiguration
 Provide an attribute class to configure ISO 8601 string generation.
 
 bdlt_iso8601utilparseconfiguration
 Provide an attribute class to configure ISO 8601 string parsing.
 
 bdlt_localtimeoffset
 Provide utilities to retrieve the local time offset.
 
 bdlt_monthofyear
 Enumerate the set of month-of-year values.
 
 bdlt_packedcalendar
 Provide a compact repository for weekend/holiday information.
 
 bdlt_posixdateimputil
 Provide low-level support functions for date-value manipulation.
 
 bdlt_prolepticdateimputil
 Provide low-level support functions for date-value manipulation.
 
 bdlt_serialdateimputil
 Provide low-level support functions for date-value manipulation.
 
 bdlt_time
 Provide a value-semantic type representing time-of-day.
 
 bdlt_timetable
 Provide a repository for accessing timetable information.
 
 bdlt_timetablecache
 Provide an efficient cache for read-only bdlt::Timetable objects.
 
 bdlt_timetableloader
 Provide a protocol (or pure interface) for loading timetables.
 
 bdlt_timetz
 Provide a representation of a time with time zone offset.
 
 bdlt_timeunitratio
 Provide constants characterizing ratios between common time units.
 
 bdlt_timeutil
 Provide common non-primitive operations on bdlt::Time.
 

Detailed Description

Purpose

Provide date and time vocabulary types, and related utilities.

Mnemonic

Basic Development Library Time (bdlt)

Description

The 'bdlt' ("Basic Development Library Time") package provides vocabulary types for representing date, time, and datetime values, and utilities providing non-primitive functionality on the value types.

Additional utilities provide:

See {Value Types} and {Utilities} below for overviews of the types and functions provided by this package.

Hierarchical Synopsis

The 'bdlt' package currently has 41 components having 9 levels of physical dependency. The list below shows the hierarchical ordering of the components. The order of components within each level is not architecturally significant, just alphabetical.

9. bdlt_defaultcalendarcache
bdlt_defaulttimetablecache
8. bdlt_calendarcache
bdlt_timetablecache
7. bdlt_currenttime
bdlt_fixutil
bdlt_iso8601util
6. bdlt_calendarutil
bdlt_datetimetz
bdlt_localtimeoffset
bdlt_timetableloader
5. bdlt_calendar
bdlt_calendarloader
bdlt_datetimeutil
bdlt_datetz
bdlt_epochutil
bdlt_timetable
4. bdlt_datetime
bdlt_dateutil
bdlt_fuzzutil
bdlt_packedcalendar
bdlt_timetz
bdlt_timeutil
3. bdlt_date
bdlt_datetimeintervalutil
bdlt_intervalconversionutil
bdlt_time
2. bdlt_datetimeimputil
bdlt_datetimeinterval
bdlt_dayofweekset
bdlt_dayofweekutil
bdlt_serialdateimputil
1. bdlt_calendarreverseiteratoradapter
bdlt_dayofweek
bdlt_fixutilconfiguration
bdlt_iso8601utilconfiguration
bdlt_iso8601utilparseconfiguration
bdlt_monthofyear
bdlt_posixdateimputil
bdlt_prolepticdateimputil
bdlt_timeunitratio

Component Synopsis

bdlt_calendar : Provide fast repository for accessing weekend/holiday information.

bdlt_calendarcache : Provide an efficient cache for read-only bdlt::Calendar objects.

bdlt_calendarloader : Provide a protocol (or pure interface) for loading calendars.

bdlt_calendarreverseiteratoradapter : Provide reverse iterator adapter for calendar iterators.

bdlt_calendarutil : Provide common date manipulations requiring a calendar.

bdlt_currenttime : Provide utilities to retrieve the current time.

bdlt_date : Provide a value-semantic type to represent dates.

bdlt_datetime : Provide a value-semantic type representing both date and time.

bdlt_datetimeimputil : Provide constants useful for encoding datetimes.

bdlt_datetimeinterval : Provide a representation of an interval of time.

bdlt_datetimeintervalutil : Provide non-primitive operations on bdlt::DatetimeInterval.

bdlt_datetimetz : Provide a representation of a date and time with time zone offset.

bdlt_datetimeutil : Provide common non-primitive operations on bdlt::Datetime.

bdlt_datetz : Provide a representation of a date with time zone offset.

bdlt_dateutil : Provide common non-primitive operations on date objects.

bdlt_dayofweek : Provide an enumeration of the set of days of the week.

bdlt_dayofweekset : Provide an ordered set of (unique) bdlt::DayOfWeek::Enum values.

bdlt_dayofweekutil : Provide common non-primitive operations on bdlt::DayOfWeek::Enum.

bdlt_defaultcalendarcache : Provide a process-wide default bdlt::CalendarCache object.

bdlt_defaulttimetablecache : Provide a process-wide default bdlt::TimetableCache object.

bdlt_epochutil : Conversion between absolute/relative time with respect to epoch.

bdlt_fixutil : Provide conversions between date/time objects and FIX strings.

bdlt_fixutilconfiguration : Provide an attribute class to configure FIX string generation.

bdlt_fuzzutil : Provide creation of bdlt data types from fuzz data.

bdlt_intervalconversionutil : Provide functions to convert between time-interval representations.

bdlt_iso8601util : Provide conversions between date/time objects and ISO 8601 strings.

bdlt_iso8601utilconfiguration : Provide an attribute class to configure ISO 8601 string generation.

bdlt_iso8601utilparseconfiguration : Provide an attribute class to configure ISO 8601 string parsing.

bdlt_localtimeoffset : Provide utilities to retrieve the local time offset.

bdlt_monthofyear : Enumerate the set of month-of-year values.

bdlt_packedcalendar : Provide a compact repository for weekend/holiday information.

bdlt_posixdateimputil : Provide low-level support functions for date-value manipulation.

bdlt_prolepticdateimputil : Provide low-level support functions for date-value manipulation.

bdlt_serialdateimputil : Provide low-level support functions for date-value manipulation.

bdlt_time : Provide a value-semantic type representing time-of-day.

bdlt_timetable : Provide a repository for accessing timetable information.

bdlt_timetablecache : Provide an efficient cache for read-only bdlt::Timetable objects.

bdlt_timetableloader : Provide a protocol (or pure interface) for loading timetables.

bdlt_timetz : Provide a representation of a time with time zone offset.

bdlt_timeunitratio : Provide constants characterizing ratios between common time units.

bdlt_timeutil : Provide common non-primitive operations on bdlt::Time.

Value Types

This package defines value-semantic types that represent dates, times (of day), and combined date and time values. For each of these "time" types, there is a related type that also holds a time offset value from UTC. There are also enumerated types representing the months of the year and the days of the week.

Value Types: Date, Time and Datetime

The 'bdlt' package defines 'bdlt::Date' to represent date values, 'bdlt::Time' to represent time values (to microsecond resolution) within a day, and the combined 'bdlt::Datetime' to represent all points in time (to microsecond resolution) across the range of date values. The ranges of each type are shown below.

Type Range
------- ------------------------------------------------------------
Date [0001/01/01 .. 9999/12/31 ]
Time [ 00:00:00.000000 .. 23:59:59.999999 ]
Datetime [0001/01/01_00:00:00.000000 .. 9999/12/31_23:59:59.999999 ]

Further note that:

The above classes define values representing points on a timeline (e.g., dates on a calendar, positions on a clock) whereas the 'bdlt::DatetimeInterval' class represents the difference (to microsecond resolution) between those points.

Type Difference Type
------- ----------------
Date int (days)
Time DatetimeInterval
Datetime DatetimeInterval
DatetimeInterval DatetimeInterval

Each of these classes are designed to hold date and time values, but do not themselves provide means for obtaining values such as current time and date. Those values are available via separate utility components. See {Obtaining Current Date, Time, and Local-Time Offset Values}.