Originally identified by Coverity Scan. Zero length periods like
[3, 3) cannot intersect with anything. Invalid periods like
[5, 4) also cannot intersect with anything. In both cases the
unit tests are wrong, and fixing them reveals the implementation
is not canonical for half-open sane intervals.
* Make the library modular usable.
* Switch to library requirements instead of source. As source puts extra source in install targets.
* Add missing NO_LIB usage requirements.
* Add requires-b2 check to top-level build file.
* Bump B2 require to 5.2
* Update copyright dates.
* Move inter-lib dependencies to a project variable and into the build targets.
* Adjust doc build to avoid boost-root references.
* Update build deps.
* Rework GHA to use containers for the ubuntu that are god or going away.
* Remove obsolete package installs.
* Need another package?
* Some deepndencies are now C++11 only. Hence date_time is now also C++11 only.
* Switch macOS test to use the latest version.
* Remove not-needed software-properties-common package.
* Remove setup gcc toolchain step.
* Install some missing compilers.
* Maybe the gcc builds for the specific ubuntu versions rea broken. Switch to something newer.
- align to current boost-ci practice
- deal with VERY slow test runner in microsec_time_clock test
- disable sanitize tests - too many issues in boost serialization right now
- omit unit tests from coverage
* Added a test generator for whether all public headers are self-contained.
The generator creates a compile test for every public header, unless
BOOST_DATE_TIME_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS environment variable
is set to 1.
* Only enable self-contained header tests on a few jobs.
There is no point in performing self-contained header tests on every compiler
configuration, so running them only on some saves CI time.
* Make public headers self-contained.
This commit:
- Adds missing includes.
- Adjusts gregorian namespace qualification in a few places to use use
equivalent symbols from date_time and not have to include gregorian
headers.
- Converts tabs to spaces and trims trailing spaces.
This makes the self-contained header tests pass on Linux.
* Move special_value_from_string definition to parsers.hpp.
This resolves different attributes applied to the function definition
in parsers.hpp and greg_month.hpp. The function is now inline and defined
in parsers.hpp.
Also, the commit converts tabs to spaces and trims trailing spaces.
Fixes https://github.com/boostorg/date_time/issues/143.
* Convert tabs to spaces and trim trailing spaces.
* remove legacy to_simple_string and prefer streaming in test code
* driveby fix to clean up self-assign compiler warnings in test code
* driveby fix to clean up unused variable compiler warnings in test code
* another update for issue #123 (constexpr) to allow time_duration constexpr to work
* final updates to make date_time free of library - issue #134
* make a stub library for backward compatibility of libs that link date_time library
* remove legacy to_simple_string and prefer streaming in test code
* driveby fix to clean up self-assign compiler warnings in test code
* driveby fix to clean up unused variable compiler warnings in test code
* another update for issue #123 (constexpr) to allow time_duration constexpr to work
* final updates to make date_time free of library - issue #134
1. is_positive()
- Return boolean value to indicate whether or not time duration is
positive.
2. is_zero()
- Return boolean value to indicate whether or not time duration is
zero.
3. abs()
- Return a time_duration which is the absolute value of time
duration.
Added documentation for these helper functions and improved existing
documentation to indicate constness, return values or static
functions.
* Synchronize each miscrosec test to the next second
The aim is to avoid false positives in test_microsec when the seconds,
minutes or hours change during time read between the second_clock and
the microsec_clock.
* Improved readability of the microcec_time_clock test
also added project declarations to jamfiles, added a top level jamfile, and fixed the xmldoc jamfile
also fixed a silent failure y2038 issue in localtime handling and fixed a timezone database parse issue
The character was indeed not a valid UTF-8 character. Presumably, it is a
valid character in some national encoding, but Unicode is ubiquitous nowdays
and the compiler is not able to know the encoding anyway. Thus the commit
converts the character to a hex-escaped UTF-8 representation of character
U+00FC ('ü').