* fix typo in time_period docs (#212)
Co-authored-by: Quinn O'Connor <qoconnor@fastenal.com>
* Fix constexpr of gregorian::date::date(special_values) to improve perf (#214)
GCC up to at least 10.2 fail to resolve
gregorian::date::date(special_values) as constexpr function due to
assignment to *this within the constructor. Refactoring constructor to
initialize the instance once leads to large performance improvement.
* Avoid using likely function as multiple projects define a likely macro (#216)
* Iso doc fixes (#215)
* to_iso_*string() use "." as fractional separator
The fractional separator for the various to_iso_* methods
is "." not "," (per to_iso_string_type() implementation).
Fix the documentation to match the implementation.
* use "ISO 8601" not "iso" in documentation
The standard is "ISO 8601", so use that instead
of just "iso" or "ISO" in comments and documentation.
* fractional seconds only included if non-zero (#110)
Consistently document that the fractional seconds
are only included if non-zero.
Use "where fffffffff" not "were fff".
* Fix ccache saving on cache hit (#211)
See boostorg/boost-ci#166
* chore: bump macos runner version (#213)
GitHub Action is sunsetting the macOS 10.15 Actions runner. It will stop working intermittently until being completely removed by 2022-8-30: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22
Co-authored-by: Quinnsicle <qtoconnor@gmail.com>
Co-authored-by: Quinn O'Connor <qoconnor@fastenal.com>
Co-authored-by: Povilas Kanapickas <povilas@radix.lt>
Co-authored-by: Antony Polukhin <antoshkka@gmail.com>
Co-authored-by: Luke Mewburn <luke@mewburn.net>
Co-authored-by: Alexander Grund <Flamefire@users.noreply.github.com>
Co-authored-by: Baoshuo Ren <i@baoshuo.ren>
MSVC 19.28.29336.0 throws the following warning when
boost::date_time::gregorian_date is called.
warning C4365: 'initializing': conversion from 'int' to 'unsigned long', signed/unsigned mismatch
warning C4365: const boost::posix_time::ptime Since1970(boost::gregorian::date(1970U, 1U, 1U));
warning C4365: ^
<path>\include\boost\date_time\date.hpp(72,35): message : while evaluating constexpr function 'boost::date_time::gregorian_calendar_base<boost::gregorian::greg_year_month_day,unsigned int>::day_number'
<path>\include\boost\date_time\date.hpp(72,35): message : : days_(calendar::day_number(ymd_type(y, m, d)))
Co-authored-by: timmaraju <keerthi.timmaraju@teamviewer.com>
- 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
* Change greg_month and greg_weekday to be not marked as exported/imported (#146)
* Changed greg_month and greg_weekday to be not marked as exported/imported.
Both greg_month and greg_weekday classes are implemented completely in headers,
so they need not be marked with BOOST_DATE_TIME_DECL. For consistency with other
similar classes, they are now marked with BOOST_SYMBOL_VISIBLE.
This should fix linking errors on Windows/MSVC, where all members of greg_month
and greg_weekday classes remain unresolved as they are expected to be
implemented in a shared library.
* Enabled shared and static linking in AppVeyor CI.
* fix new msvc warning in date_parsing with Warn4 - issue #148
* Cast month numbers to the correct type in map init (#152)
Since the map contains unsigned short for month numbers, it is more correct to explicitly cast constants to that type rather than short.
* Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74 (#150)
* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
* Change BOOST_BORLANDC back to __BORLANDC__ for non-posix functionality.
* Include the header file.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Revert "Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero."
This reverts commit 88e45e951b.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Remove separate outside of template class friend functions.
* Define all the friend functions outside the class to conform with the necessity of Embarcadero C++ clang-based compilers that need the friend functions in exported/imported classes to be defined outside the class. This is an Embarcadero C++ clang-based compiler bug which i reported to Embarcadero.
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* tune: add initial cmake configuration (#151)
* tune: add initial cmake configuration
* bugfix: Incorrect library alias
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Use BOOST_OVERRIDE to fix GCC -Wsuggest-override and Clang-tidy modernize-use-override warnings. (#155)
Also fix Clang -Wextra-semi-stmt and Clang-tidy readability-container-size-empty warnings.
Alphabetical order of STL headers.
Fix some misspellings.
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
* Break DateTime <-> Serialization circular dependency (#154)
Breaks DateTime -> Serialization -> Spirit -> Thread -> DateTime chain.
The Serialization documentation seems to be explicitly allow this:
https://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/traits.html#versionhttps://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/serialization.html#splitting
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Fix clang 10 C++17 warnings about deprecated implicit assignment operators. (#158)
C++17 deprecates implicit generation of assignment operator in presence of
explicitly declared copy constructor. In future standards this behavior may
be removed.
In the affected Boost.DateTime classes, the explicitly defined copy
constructors are functionally equivalent to those would be generated
implicitly, so we can just remove them. The additional benefit is that the
implicitly generated ones will have constexpr and noexcept specifications,
and will also allow implicit move constructors and assignment operators.
* Suppress MSVC CRT deprecations on Clang (#160)
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Add BOOST_CXX14_CONSTEXPR to CV assign() (#161)
Without this change the BOOST_CXX14_CONSTEXPR on the constructors has no
effect, as they invoke assign()
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* add constexpr tests to date, ptime, constrained_value (#162)
* merge some doc changes for constexpr fix (#163)
* add constexpr tests to date, ptime, constrained_value
* add some docs for 1.74 release
* const-qualify retrieval and comparison methods of time_itr and date_itr_base (#170)
* [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. (#178)
* add drone config [ci skip] (#180)
* Add GitHub Actions config [ci skip] (#182)
* Update README.md
* Update README.md
* Update README.md
fixup comments on readme to match header_only status
* fix#189 for autolink -- driveby change to remove gcc2.95 support (#191)
* ptime from iso error string error with date only (#192)
* fix#189 for autolink -- driveby change to remove gcc2.95 support
* fix#187 date-only case to avoid string exception, beef up error case test
* ci updates (#194)
* fix#189 for autolink -- driveby change to remove gcc2.95 support
* fix#187 date-only case to avoid string exception, beef up error case test
* attempted fix for #193 - ci issues
* attempted fix for #193 - ci issues try 2
* attempted fix for #193 - ci issues try 3
* attempted fix for #193 - ci issues try 4
* attempted fix for #193 - ci issues try 4a
* attempted fix for #193 - ci issues try 5
* attempted fix for #193 - ci issues try 6
* attempted fix for #193 - ci issues try 7 - rm clang 3.8
* Regenerate CMakeLists.txt
* Add stub source file
Co-authored-by: Andrey Semashev <Lastique@users.noreply.github.com>
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
Co-authored-by: tapika <tapika@yahoo.com>
Co-authored-by: EugeneZelenko <eugene.zelenko@gmail.com>
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
Co-authored-by: Nikita Kniazev <nok.raven@gmail.com>
Co-authored-by: Roger Orr <rogero@howzatt.co.uk>
Co-authored-by: klaus triendl <klaus@triendl.eu>
Co-authored-by: Sam Darwin <samuel.d.darwin@gmail.com>
Co-authored-by: Peter Dimov <pdimov@gmail.com>
* fix#189 for autolink -- driveby change to remove gcc2.95 support
* fix#187 date-only case to avoid string exception, beef up error case test
* attempted fix for #193 - ci issues
* attempted fix for #193 - ci issues try 2
* attempted fix for #193 - ci issues try 3
* attempted fix for #193 - ci issues try 4
* attempted fix for #193 - ci issues try 4a
* attempted fix for #193 - ci issues try 5
* attempted fix for #193 - ci issues try 6
* attempted fix for #193 - ci issues try 7 - rm clang 3.8
* Change greg_month and greg_weekday to be not marked as exported/imported (#146)
* Changed greg_month and greg_weekday to be not marked as exported/imported.
Both greg_month and greg_weekday classes are implemented completely in headers,
so they need not be marked with BOOST_DATE_TIME_DECL. For consistency with other
similar classes, they are now marked with BOOST_SYMBOL_VISIBLE.
This should fix linking errors on Windows/MSVC, where all members of greg_month
and greg_weekday classes remain unresolved as they are expected to be
implemented in a shared library.
* Enabled shared and static linking in AppVeyor CI.
* fix new msvc warning in date_parsing with Warn4 - issue #148
* Cast month numbers to the correct type in map init (#152)
Since the map contains unsigned short for month numbers, it is more correct to explicitly cast constants to that type rather than short.
* Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74 (#150)
* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
* Change BOOST_BORLANDC back to __BORLANDC__ for non-posix functionality.
* Include the header file.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Revert "Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero."
This reverts commit 88e45e951b.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Remove separate outside of template class friend functions.
* Define all the friend functions outside the class to conform with the necessity of Embarcadero C++ clang-based compilers that need the friend functions in exported/imported classes to be defined outside the class. This is an Embarcadero C++ clang-based compiler bug which i reported to Embarcadero.
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* tune: add initial cmake configuration (#151)
* tune: add initial cmake configuration
* bugfix: Incorrect library alias
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Use BOOST_OVERRIDE to fix GCC -Wsuggest-override and Clang-tidy modernize-use-override warnings. (#155)
Also fix Clang -Wextra-semi-stmt and Clang-tidy readability-container-size-empty warnings.
Alphabetical order of STL headers.
Fix some misspellings.
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
* Break DateTime <-> Serialization circular dependency (#154)
Breaks DateTime -> Serialization -> Spirit -> Thread -> DateTime chain.
The Serialization documentation seems to be explicitly allow this:
https://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/traits.html#versionhttps://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/serialization.html#splitting
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Fix clang 10 C++17 warnings about deprecated implicit assignment operators. (#158)
C++17 deprecates implicit generation of assignment operator in presence of
explicitly declared copy constructor. In future standards this behavior may
be removed.
In the affected Boost.DateTime classes, the explicitly defined copy
constructors are functionally equivalent to those would be generated
implicitly, so we can just remove them. The additional benefit is that the
implicitly generated ones will have constexpr and noexcept specifications,
and will also allow implicit move constructors and assignment operators.
* Suppress MSVC CRT deprecations on Clang (#160)
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Add BOOST_CXX14_CONSTEXPR to CV assign() (#161)
Without this change the BOOST_CXX14_CONSTEXPR on the constructors has no
effect, as they invoke assign()
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* add constexpr tests to date, ptime, constrained_value (#162)
* merge some doc changes for constexpr fix (#163)
* add constexpr tests to date, ptime, constrained_value
* add some docs for 1.74 release
* const-qualify retrieval and comparison methods of time_itr and date_itr_base (#170)
* [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. (#178)
* add drone config [ci skip] (#180)
* Add GitHub Actions config [ci skip] (#182)
Co-authored-by: Andrey Semashev <Lastique@users.noreply.github.com>
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
Co-authored-by: tapika <tapika@yahoo.com>
Co-authored-by: EugeneZelenko <eugene.zelenko@gmail.com>
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
Co-authored-by: Nikita Kniazev <nok.raven@gmail.com>
Co-authored-by: Roger Orr <rogero@howzatt.co.uk>
Co-authored-by: klaus triendl <klaus@triendl.eu>
Co-authored-by: Sam Darwin <samuel.d.darwin@gmail.com>
* Change greg_month and greg_weekday to be not marked as exported/imported (#146)
* Changed greg_month and greg_weekday to be not marked as exported/imported.
Both greg_month and greg_weekday classes are implemented completely in headers,
so they need not be marked with BOOST_DATE_TIME_DECL. For consistency with other
similar classes, they are now marked with BOOST_SYMBOL_VISIBLE.
This should fix linking errors on Windows/MSVC, where all members of greg_month
and greg_weekday classes remain unresolved as they are expected to be
implemented in a shared library.
* Enabled shared and static linking in AppVeyor CI.
* fix new msvc warning in date_parsing with Warn4 - issue #148
* Cast month numbers to the correct type in map init (#152)
Since the map contains unsigned short for month numbers, it is more correct to explicitly cast constants to that type rather than short.
* Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74 (#150)
* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
* Change BOOST_BORLANDC back to __BORLANDC__ for non-posix functionality.
* Include the header file.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Revert "Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero."
This reverts commit 88e45e951b.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Remove separate outside of template class friend functions.
* Define all the friend functions outside the class to conform with the necessity of Embarcadero C++ clang-based compilers that need the friend functions in exported/imported classes to be defined outside the class. This is an Embarcadero C++ clang-based compiler bug which i reported to Embarcadero.
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* tune: add initial cmake configuration (#151)
* tune: add initial cmake configuration
* bugfix: Incorrect library alias
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Use BOOST_OVERRIDE to fix GCC -Wsuggest-override and Clang-tidy modernize-use-override warnings. (#155)
Also fix Clang -Wextra-semi-stmt and Clang-tidy readability-container-size-empty warnings.
Alphabetical order of STL headers.
Fix some misspellings.
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
* Break DateTime <-> Serialization circular dependency (#154)
Breaks DateTime -> Serialization -> Spirit -> Thread -> DateTime chain.
The Serialization documentation seems to be explicitly allow this:
https://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/traits.html#versionhttps://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/serialization.html#splitting
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Fix clang 10 C++17 warnings about deprecated implicit assignment operators. (#158)
C++17 deprecates implicit generation of assignment operator in presence of
explicitly declared copy constructor. In future standards this behavior may
be removed.
In the affected Boost.DateTime classes, the explicitly defined copy
constructors are functionally equivalent to those would be generated
implicitly, so we can just remove them. The additional benefit is that the
implicitly generated ones will have constexpr and noexcept specifications,
and will also allow implicit move constructors and assignment operators.
* Suppress MSVC CRT deprecations on Clang (#160)
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Add BOOST_CXX14_CONSTEXPR to CV assign() (#161)
Without this change the BOOST_CXX14_CONSTEXPR on the constructors has no
effect, as they invoke assign()
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* add constexpr tests to date, ptime, constrained_value (#162)
* merge some doc changes for constexpr fix (#163)
* add constexpr tests to date, ptime, constrained_value
* add some docs for 1.74 release
Co-authored-by: Andrey Semashev <Lastique@users.noreply.github.com>
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
Co-authored-by: tapika <tapika@yahoo.com>
Co-authored-by: EugeneZelenko <eugene.zelenko@gmail.com>
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
Co-authored-by: Nikita Kniazev <nok.raven@gmail.com>
Co-authored-by: Roger Orr <rogero@howzatt.co.uk>
Without this change the BOOST_CXX14_CONSTEXPR on the constructors has no
effect, as they invoke assign()
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Change greg_month and greg_weekday to be not marked as exported/imported (#146)
* Changed greg_month and greg_weekday to be not marked as exported/imported.
Both greg_month and greg_weekday classes are implemented completely in headers,
so they need not be marked with BOOST_DATE_TIME_DECL. For consistency with other
similar classes, they are now marked with BOOST_SYMBOL_VISIBLE.
This should fix linking errors on Windows/MSVC, where all members of greg_month
and greg_weekday classes remain unresolved as they are expected to be
implemented in a shared library.
* Enabled shared and static linking in AppVeyor CI.
* fix new msvc warning in date_parsing with Warn4 - issue #148
* Cast month numbers to the correct type in map init (#152)
Since the map contains unsigned short for month numbers, it is more correct to explicitly cast constants to that type rather than short.
* Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74 (#150)
* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
* Change BOOST_BORLANDC back to __BORLANDC__ for non-posix functionality.
* Include the header file.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Revert "Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero."
This reverts commit 88e45e951b.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Remove separate outside of template class friend functions.
* Define all the friend functions outside the class to conform with the necessity of Embarcadero C++ clang-based compilers that need the friend functions in exported/imported classes to be defined outside the class. This is an Embarcadero C++ clang-based compiler bug which i reported to Embarcadero.
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* tune: add initial cmake configuration (#151)
* tune: add initial cmake configuration
* bugfix: Incorrect library alias
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Use BOOST_OVERRIDE to fix GCC -Wsuggest-override and Clang-tidy modernize-use-override warnings. (#155)
Also fix Clang -Wextra-semi-stmt and Clang-tidy readability-container-size-empty warnings.
Alphabetical order of STL headers.
Fix some misspellings.
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
* Break DateTime <-> Serialization circular dependency (#154)
Breaks DateTime -> Serialization -> Spirit -> Thread -> DateTime chain.
The Serialization documentation seems to be explicitly allow this:
https://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/traits.html#versionhttps://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/serialization.html#splitting
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Fix clang 10 C++17 warnings about deprecated implicit assignment operators. (#158)
C++17 deprecates implicit generation of assignment operator in presence of
explicitly declared copy constructor. In future standards this behavior may
be removed.
In the affected Boost.DateTime classes, the explicitly defined copy
constructors are functionally equivalent to those would be generated
implicitly, so we can just remove them. The additional benefit is that the
implicitly generated ones will have constexpr and noexcept specifications,
and will also allow implicit move constructors and assignment operators.
Co-authored-by: Andrey Semashev <Lastique@users.noreply.github.com>
Co-authored-by: Edward Diener <eldlistmailingz@tropicsoft.com>
Co-authored-by: tapika <tapika@yahoo.com>
Co-authored-by: EugeneZelenko <eugene.zelenko@gmail.com>
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
Co-authored-by: Nikita Kniazev <nok.raven@gmail.com>
C++17 deprecates implicit generation of assignment operator in presence of
explicitly declared copy constructor. In future standards this behavior may
be removed.
In the affected Boost.DateTime classes, the explicitly defined copy
constructors are functionally equivalent to those would be generated
implicitly, so we can just remove them. The additional benefit is that the
implicitly generated ones will have constexpr and noexcept specifications,
and will also allow implicit move constructors and assignment operators.
Also fix Clang -Wextra-semi-stmt and Clang-tidy readability-container-size-empty warnings.
Alphabetical order of STL headers.
Fix some misspellings.
Co-authored-by: Eugene Zelenko <eugene@diakopto.com>
* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
* Change BOOST_BORLANDC back to __BORLANDC__ for non-posix functionality.
* Include the header file.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Revert "Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero."
This reverts commit 88e45e951b.
* Inline friend function definitions for exported/imported classes must become declarations and inline definitions outside the class for Embarcadero C++ clang-based compilers. This bug has been reported to Embarcadero.
* Remove separate outside of template class friend functions.
* Define all the friend functions outside the class to conform with the necessity of Embarcadero C++ clang-based compilers that need the friend functions in exported/imported classes to be defined outside the class. This is an Embarcadero C++ clang-based compiler bug which i reported to Embarcadero.
Co-authored-by: Jeff Garland <jeff@crystalclearsoftware.com>
* Changed greg_month and greg_weekday to be not marked as exported/imported.
Both greg_month and greg_weekday classes are implemented completely in headers,
so they need not be marked with BOOST_DATE_TIME_DECL. For consistency with other
similar classes, they are now marked with BOOST_SYMBOL_VISIBLE.
This should fix linking errors on Windows/MSVC, where all members of greg_month
and greg_weekday classes remain unresolved as they are expected to be
implemented in a shared library.
* Enabled shared and static linking in AppVeyor CI.
Co-authored-by: Andrey Semashev <Lastique@users.noreply.github.com>
* Changed greg_month and greg_weekday to be not marked as exported/imported.
Both greg_month and greg_weekday classes are implemented completely in headers,
so they need not be marked with BOOST_DATE_TIME_DECL. For consistency with other
similar classes, they are now marked with BOOST_SYMBOL_VISIBLE.
This should fix linking errors on Windows/MSVC, where all members of greg_month
and greg_weekday classes remain unresolved as they are expected to be
implemented in a shared library.
* Enabled shared and static linking in AppVeyor CI.
* 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.
* pull request to make date-time all inline (#135)
* 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
* add stub library for backward compatibility (#137)
* 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
* suppressed const qualifier on function return type (#138)
* suppressed const qualifier on function return type
As warned in https://www.boost.org/development/tests/develop/output/teeks99-dkr-dg4-6-warn-date_time-gcc-4-6~c++0x~warn-warnings.html#hours_special_value
```../boost/date_time/gregorian/greg_weekday.hpp:52:41: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
../boost/date_time/gregorian/greg_weekday.hpp:61:40: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]```
* trivial commit to trigger CI
* fix c++2a ambiguity on clang10 with operator== issue #132 (#140)
Co-authored-by: joaquintides <joaquin.lopezmunoz@gmail.com>
* 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