aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbugaevskiy <bugaevskiy@yandex-team.com>2022-08-24 11:24:26 +0300
committerbugaevskiy <bugaevskiy@yandex-team.com>2022-08-24 11:24:26 +0300
commitaa6016e071468cd6678436437cd6386d32c0b481 (patch)
tree153a794c39bdf554fefc22c73100bc5b8d7b11d0
parentfb806af1fc6dd9c94eb05c20fef364d06c83bb34 (diff)
downloadydb-aa6016e071468cd6678436437cd6386d32c0b481.tar.gz
Reimport boost/date_time as a separate project
-rw-r--r--CMakeLists.darwin.txt1
-rw-r--r--CMakeLists.linux.txt1
-rw-r--r--contrib/restricted/boost/boost/date_time.hpp17
-rw-r--r--contrib/restricted/boost/boost/date_time/c_local_time_adjustor.hpp72
-rw-r--r--contrib/restricted/boost/boost/date_time/gregorian/greg_serialize.hpp522
-rw-r--r--contrib/restricted/boost/boost/date_time/local_time/conversion.hpp34
-rw-r--r--contrib/restricted/boost/boost/date_time/local_time/local_time.hpp24
-rw-r--r--contrib/restricted/boost/boost/date_time/local_time/local_time_io.hpp184
-rw-r--r--contrib/restricted/boost/boost/date_time/local_time/posix_time_zone.hpp475
-rw-r--r--contrib/restricted/boost/boost/date_time/local_time/tz_database.hpp32
-rw-r--r--contrib/restricted/boost/boost/date_time/local_time_adjustor.hpp218
-rw-r--r--contrib/restricted/boost/boost/date_time/local_timezone_defs.hpp193
-rw-r--r--contrib/restricted/boost/boost/date_time/posix_time/time_serialize.hpp246
-rw-r--r--contrib/restricted/boost/boost/date_time/tz_db_base.hpp398
-rw-r--r--contrib/restricted/boost/date_time/CMakeLists.txt40
-rw-r--r--contrib/restricted/boost/date_time/README.md39
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/adjust_functors.hpp (renamed from contrib/restricted/boost/boost/date_time/adjust_functors.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/c_time.hpp (renamed from contrib/restricted/boost/boost/date_time/c_time.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/compiler_config.hpp (renamed from contrib/restricted/boost/boost/date_time/compiler_config.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/constrained_value.hpp (renamed from contrib/restricted/boost/boost/date_time/constrained_value.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date.hpp (renamed from contrib/restricted/boost/boost/date_time/date.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_clock_device.hpp (renamed from contrib/restricted/boost/boost/date_time/date_clock_device.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_defs.hpp (renamed from contrib/restricted/boost/boost/date_time/date_defs.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_duration.hpp (renamed from contrib/restricted/boost/boost/date_time/date_duration.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_duration_types.hpp (renamed from contrib/restricted/boost/boost/date_time/date_duration_types.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp (renamed from contrib/restricted/boost/boost/date_time/date_facet.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp (renamed from contrib/restricted/boost/boost/date_time/date_format_simple.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp (renamed from contrib/restricted/boost/boost/date_time/date_formatting.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp (renamed from contrib/restricted/boost/boost/date_time/date_formatting_limited.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp (renamed from contrib/restricted/boost/boost/date_time/date_formatting_locales.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp (renamed from contrib/restricted/boost/boost/date_time/date_generator_formatter.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp (renamed from contrib/restricted/boost/boost/date_time/date_generator_parser.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_generators.hpp (renamed from contrib/restricted/boost/boost/date_time/date_generators.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_iterator.hpp (renamed from contrib/restricted/boost/boost/date_time/date_iterator.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp (renamed from contrib/restricted/boost/boost/date_time/date_names_put.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp (renamed from contrib/restricted/boost/boost/date_time/date_parsing.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/dst_rules.hpp (renamed from contrib/restricted/boost/boost/date_time/dst_rules.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp (renamed from contrib/restricted/boost/boost/date_time/dst_transition_generators.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/filetime_functions.hpp (renamed from contrib/restricted/boost/boost/date_time/filetime_functions.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp (renamed from contrib/restricted/boost/boost/date_time/format_date_parser.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/conversion.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/conversion.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/formatters.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/formatters_limited.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_calendar.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_calendar.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_date.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_date.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_day.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_day.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_day_of_year.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_day_of_year.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_duration.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_duration.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_duration_types.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_duration_types.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_facet.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_month.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_month.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_weekday.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_weekday.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_year.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_year.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_ymd.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/greg_ymd.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/gregorian.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/gregorian_io.hpp)198
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_types.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/gregorian_types.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian/parsers.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian_calendar.hpp (renamed from contrib/restricted/boost/boost/date_time/gregorian_calendar.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian_calendar.ipp (renamed from contrib/restricted/boost/boost/date_time/gregorian_calendar.ipp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/int_adapter.hpp (renamed from contrib/restricted/boost/boost/date_time/int_adapter.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp (renamed from contrib/restricted/boost/boost/date_time/iso_format.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp (renamed from contrib/restricted/boost/boost/date_time/local_time/custom_time_zone.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp (renamed from contrib/restricted/boost/boost/date_time/local_time/date_duration_operators.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp (renamed from contrib/restricted/boost/boost/date_time/local_time/dst_transition_day_rules.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp (renamed from contrib/restricted/boost/boost/date_time/local_time/local_date_time.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp (renamed from contrib/restricted/boost/boost/date_time/local_time/local_time_types.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/locale_config.hpp (renamed from contrib/restricted/boost/boost/date_time/locale_config.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/microsec_time_clock.hpp (renamed from contrib/restricted/boost/boost/date_time/microsec_time_clock.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp (renamed from contrib/restricted/boost/boost/date_time/parse_format_base.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/period.hpp (renamed from contrib/restricted/boost/boost/date_time/period.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp (renamed from contrib/restricted/boost/boost/date_time/period_formatter.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp (renamed from contrib/restricted/boost/boost/date_time/period_parser.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/conversion.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/conversion.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/date_duration_operators.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/date_duration_operators.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_config.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time_config.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_duration.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time_duration.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time_io.hpp)12
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time_legacy_io.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_system.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time_system.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_types.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/posix_time_types.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/ptime.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/ptime.hpp)1
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/time_formatters.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/time_formatters_limited.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/time_parsers.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_period.hpp (renamed from contrib/restricted/boost/boost/date_time/posix_time/time_period.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/special_defs.hpp (renamed from contrib/restricted/boost/boost/date_time/special_defs.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp (renamed from contrib/restricted/boost/boost/date_time/special_values_formatter.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp (renamed from contrib/restricted/boost/boost/date_time/special_values_parser.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp (renamed from contrib/restricted/boost/boost/date_time/string_convert.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp (renamed from contrib/restricted/boost/boost/date_time/string_parse_tree.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp (renamed from contrib/restricted/boost/boost/date_time/strings_from_facet.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time.hpp (renamed from contrib/restricted/boost/boost/date_time/time.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_clock.hpp (renamed from contrib/restricted/boost/boost/date_time/time_clock.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_defs.hpp (renamed from contrib/restricted/boost/boost/date_time/time_defs.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_duration.hpp (renamed from contrib/restricted/boost/boost/date_time/time_duration.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp (renamed from contrib/restricted/boost/boost/date_time/time_facet.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp (renamed from contrib/restricted/boost/boost/date_time/time_formatting_streams.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_iterator.hpp (renamed from contrib/restricted/boost/boost/date_time/time_iterator.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp (renamed from contrib/restricted/boost/boost/date_time/time_parsing.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_resolution_traits.hpp (renamed from contrib/restricted/boost/boost/date_time/time_resolution_traits.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_system_counted.hpp (renamed from contrib/restricted/boost/boost/date_time/time_system_counted.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_system_split.hpp (renamed from contrib/restricted/boost/boost/date_time/time_system_split.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp (renamed from contrib/restricted/boost/boost/date_time/time_zone_base.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp (renamed from contrib/restricted/boost/boost/date_time/time_zone_names.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/wrapping_int.hpp (renamed from contrib/restricted/boost/boost/date_time/wrapping_int.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/year_month_day.hpp (renamed from contrib/restricted/boost/boost/date_time/year_month_day.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/src/gregorian/date_generators.cpp (renamed from contrib/restricted/boost/libs/date_time/src/gregorian/date_generators.cpp)0
-rw-r--r--contrib/restricted/boost/date_time/src/gregorian/greg_month.cpp (renamed from contrib/restricted/boost/libs/date_time/src/gregorian/greg_month.cpp)0
-rw-r--r--contrib/restricted/boost/date_time/src/gregorian/greg_names.hpp (renamed from contrib/restricted/boost/libs/date_time/src/gregorian/greg_names.hpp)0
-rw-r--r--contrib/restricted/boost/date_time/src/gregorian/greg_weekday.cpp (renamed from contrib/restricted/boost/libs/date_time/src/gregorian/greg_weekday.cpp)0
-rw-r--r--contrib/restricted/boost/libs/thread/CMakeLists.darwin.txt1
-rw-r--r--contrib/restricted/boost/libs/thread/CMakeLists.linux.txt1
114 files changed, 189 insertions, 2520 deletions
diff --git a/CMakeLists.darwin.txt b/CMakeLists.darwin.txt
index b45a2d34af..ed5ff00d81 100644
--- a/CMakeLists.darwin.txt
+++ b/CMakeLists.darwin.txt
@@ -352,6 +352,7 @@ add_subdirectory(contrib/libs/libevent/event_extra)
add_subdirectory(contrib/libs/libevent/event_openssl)
add_subdirectory(contrib/libs/libevent/event_thread)
add_subdirectory(contrib/restricted/boost/libs/thread)
+add_subdirectory(contrib/restricted/boost/date_time)
add_subdirectory(contrib/restricted/boost/chrono)
add_subdirectory(contrib/restricted/boost/ratio)
add_subdirectory(contrib/restricted/uriparser)
diff --git a/CMakeLists.linux.txt b/CMakeLists.linux.txt
index 5a0aa10529..7709d6ef8b 100644
--- a/CMakeLists.linux.txt
+++ b/CMakeLists.linux.txt
@@ -355,6 +355,7 @@ add_subdirectory(contrib/libs/libevent/event_extra)
add_subdirectory(contrib/libs/libevent/event_openssl)
add_subdirectory(contrib/libs/libevent/event_thread)
add_subdirectory(contrib/restricted/boost/libs/thread)
+add_subdirectory(contrib/restricted/boost/date_time)
add_subdirectory(contrib/restricted/boost/chrono)
add_subdirectory(contrib/restricted/boost/ratio)
add_subdirectory(contrib/restricted/uriparser)
diff --git a/contrib/restricted/boost/boost/date_time.hpp b/contrib/restricted/boost/boost/date_time.hpp
deleted file mode 100644
index 51628cd328..0000000000
--- a/contrib/restricted/boost/boost/date_time.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef BOOST_DATE_TIME_ALL_HPP___
-#define BOOST_DATE_TIME_ALL_HPP___
-
-/* Copyright (c) 2006 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
- // See www.boost.org/libs/date_time for documentation.
-
-//gregorian and posix time included by indirectly
-#include "boost/date_time/local_time/local_time.hpp"
-
-#endif // BOOST_DATE_TIME_ALL_HPP___
diff --git a/contrib/restricted/boost/boost/date_time/c_local_time_adjustor.hpp b/contrib/restricted/boost/boost/date_time/c_local_time_adjustor.hpp
deleted file mode 100644
index 9170aa6687..0000000000
--- a/contrib/restricted/boost/boost/date_time/c_local_time_adjustor.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef DATE_TIME_C_LOCAL_TIME_ADJUSTOR_HPP__
-#define DATE_TIME_C_LOCAL_TIME_ADJUSTOR_HPP__
-
-/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-/*! @file c_local_time_adjustor.hpp
- Time adjustment calculations based on machine
-*/
-
-#include <stdexcept>
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/c_time.hpp>
-#include <boost/numeric/conversion/cast.hpp>
-
-namespace boost {
-namespace date_time {
-
- //! Adjust to / from utc using the C API
- /*! Warning!!! This class assumes that timezone settings of the
- * machine are correct. This can be a very dangerous assumption.
- */
- template<class time_type>
- class c_local_adjustor {
- public:
- typedef typename time_type::time_duration_type time_duration_type;
- typedef typename time_type::date_type date_type;
- typedef typename date_type::duration_type date_duration_type;
- //! Convert a utc time to local time
- static time_type utc_to_local(const time_type& t)
- {
- date_type time_t_start_day(1970,1,1);
- time_type time_t_start_time(time_t_start_day,time_duration_type(0,0,0));
- if (t < time_t_start_time) {
- boost::throw_exception(std::out_of_range("Cannot convert dates prior to Jan 1, 1970"));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return time_t_start_time); // should never reach
- }
- date_duration_type dd = t.date() - time_t_start_day;
- time_duration_type td = t.time_of_day();
- uint64_t t2 = static_cast<uint64_t>(dd.days())*86400 +
- static_cast<uint64_t>(td.hours())*3600 +
- static_cast<uint64_t>(td.minutes())*60 +
- td.seconds();
- // detect y2038 issue and throw instead of proceed with bad time
- std::time_t tv = boost::numeric_cast<std::time_t>(t2);
- std::tm tms, *tms_ptr;
- tms_ptr = c_time::localtime(&tv, &tms);
- date_type d(static_cast<unsigned short>(tms_ptr->tm_year + 1900),
- static_cast<unsigned short>(tms_ptr->tm_mon + 1),
- static_cast<unsigned short>(tms_ptr->tm_mday));
- time_duration_type td2(tms_ptr->tm_hour,
- tms_ptr->tm_min,
- tms_ptr->tm_sec,
- t.time_of_day().fractional_seconds());
-
- return time_type(d,td2);
- }
- };
-
-
-
-} } //namespace date_time
-
-
-
-#endif
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_serialize.hpp b/contrib/restricted/boost/boost/date_time/gregorian/greg_serialize.hpp
deleted file mode 100644
index 6740a0c50f..0000000000
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_serialize.hpp
+++ /dev/null
@@ -1,522 +0,0 @@
-#ifndef GREGORIAN_SERIALIZE_HPP___
-#define GREGORIAN_SERIALIZE_HPP___
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/gregorian/gregorian_types.hpp"
-#include "boost/date_time/gregorian/parsers.hpp"
-#include "boost/serialization/split_free.hpp"
-#include "boost/serialization/nvp.hpp"
-
-
-// macros to split serialize functions into save & load functions
-// An expanded version is below for gregorian::date
-// NOTE: these macros define template functions in the boost::serialization namespace.
-// They must be expanded *outside* of any namespace
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::date_duration)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::date_duration::duration_rep)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::date_period)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::greg_year)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::greg_month)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::greg_day)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::greg_weekday)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::partial_date)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::nth_kday_of_month)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::first_kday_of_month)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::last_kday_of_month)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::first_kday_before)
-BOOST_SERIALIZATION_SPLIT_FREE(::boost::gregorian::first_kday_after)
-
-namespace boost {
-
- namespace gregorian {
- std::string to_iso_string(const date&);
- }
-
-namespace serialization {
-
-/*! Method that does serialization for gregorian::date -- splits to load/save
- */
-template<class Archive>
-inline void serialize(Archive & ar,
- ::boost::gregorian::date & d,
- const unsigned int file_version)
-{
- split_free(ar, d, file_version);
-}
-
-//! Function to save gregorian::date objects using serialization lib
-/*! Dates are serialized into a string for transport and storage.
- * While it would be more efficient to store the internal
- * integer used to manipulate the dates, it is an unstable solution.
- */
-template<class Archive>
-void save(Archive & ar,
- const ::boost::gregorian::date & d,
- unsigned int /* version */)
-{
- std::string ds = to_iso_string(d);
- ar & make_nvp("date", ds);
-}
-
-//! Function to load gregorian::date objects using serialization lib
-/*! Dates are serialized into a string for transport and storage.
- * While it would be more efficient to store the internal
- * integer used to manipulate the dates, it is an unstable solution.
- */
-template<class Archive>
-void load(Archive & ar,
- ::boost::gregorian::date & d,
- unsigned int /*version*/)
-{
- std::string ds;
- ar & make_nvp("date", ds);
- try{
- d = ::boost::gregorian::from_undelimited_string(ds);
- }catch(bad_lexical_cast&) {
- gregorian::special_values sv = gregorian::special_value_from_string(ds);
- if(sv == gregorian::not_special) {
- throw; // no match found, rethrow original exception
- }
- else {
- d = gregorian::date(sv);
- }
- }
-}
-
-
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- ::boost::gregorian::date* dp,
- const unsigned int /*file_version*/)
-{
- // retrieve data from archive required to construct new
- // invoke inplace constructor to initialize instance of date
- ::new(dp) ::boost::gregorian::date(::boost::gregorian::not_a_date_time);
-}
-
-/**** date_duration ****/
-
-//! Function to save gregorian::date_duration objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::date_duration & dd,
- unsigned int /*version*/)
-{
- typename gregorian::date_duration::duration_rep dr = dd.get_rep();
- ar & make_nvp("date_duration", dr);
-}
-//! Function to load gregorian::date_duration objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::date_duration & dd, unsigned int /*version*/)
-{
- typename gregorian::date_duration::duration_rep dr(0);
- ar & make_nvp("date_duration", dr);
- dd = gregorian::date_duration(dr);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::date_duration* dd,
- const unsigned int /*file_version*/)
-{
- ::new(dd) gregorian::date_duration(gregorian::not_a_date_time);
-}
-
-/**** date_duration::duration_rep (most likely int_adapter) ****/
-
-//! helper unction to save date_duration objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::date_duration::duration_rep & dr,
- unsigned int /*version*/)
-{
- typename gregorian::date_duration::duration_rep::int_type it = dr.as_number();
- ar & make_nvp("date_duration_duration_rep", it);
-}
-//! helper function to load date_duration objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::date_duration::duration_rep & dr, unsigned int /*version*/)
-{
- typename gregorian::date_duration::duration_rep::int_type it(0);
- ar & make_nvp("date_duration_duration_rep", it);
- dr = gregorian::date_duration::duration_rep::int_type(it);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::date_duration::duration_rep* dr,
- const unsigned int /*file_version*/)
-{
- ::new(dr) gregorian::date_duration::duration_rep(0);
-}
-
-/**** date_period ****/
-
-//! Function to save gregorian::date_period objects using serialization lib
-/*! date_period objects are broken down into 2 parts for serialization:
- * the begining date object and the end date object
- */
-template<class Archive>
-void save(Archive & ar, const gregorian::date_period& dp,
- unsigned int /*version*/)
-{
- gregorian::date d1 = dp.begin();
- gregorian::date d2 = dp.end();
- ar & make_nvp("date_period_begin_date", d1);
- ar & make_nvp("date_period_end_date", d2);
-}
-//! Function to load gregorian::date_period objects using serialization lib
-/*! date_period objects are broken down into 2 parts for serialization:
- * the begining date object and the end date object
- */
-template<class Archive>
-void load(Archive & ar, gregorian::date_period& dp, unsigned int /*version*/)
-{
- gregorian::date d1(gregorian::not_a_date_time);
- gregorian::date d2(gregorian::not_a_date_time);
- ar & make_nvp("date_period_begin_date", d1);
- ar & make_nvp("date_period_end_date", d2);
- dp = gregorian::date_period(d1,d2);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::date_period* dp,
- const unsigned int /*file_version*/)
-{
- gregorian::date d(gregorian::not_a_date_time);
- gregorian::date_duration dd(1);
- ::new(dp) gregorian::date_period(d,dd);
-}
-
-/**** greg_year ****/
-
-//! Function to save gregorian::greg_year objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::greg_year& gy,
- unsigned int /*version*/)
-{
- unsigned short us = gy;
- ar & make_nvp("greg_year", us);
-}
-//! Function to load gregorian::greg_year objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::greg_year& gy, unsigned int /*version*/)
-{
- unsigned short us;
- ar & make_nvp("greg_year", us);
- gy = gregorian::greg_year(us);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::greg_year* gy,
- const unsigned int /*file_version*/)
-{
- ::new(gy) gregorian::greg_year(1900);
-}
-
-/**** greg_month ****/
-
-//! Function to save gregorian::greg_month objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::greg_month& gm,
- unsigned int /*version*/)
-{
- unsigned short us = gm.as_number();
- ar & make_nvp("greg_month", us);
-}
-//! Function to load gregorian::greg_month objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::greg_month& gm, unsigned int /*version*/)
-{
- unsigned short us;
- ar & make_nvp("greg_month", us);
- gm = gregorian::greg_month(us);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::greg_month* gm,
- const unsigned int /*file_version*/)
-{
- ::new(gm) gregorian::greg_month(1);
-}
-
-/**** greg_day ****/
-
-//! Function to save gregorian::greg_day objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::greg_day& gd,
- unsigned int /*version*/)
-{
- unsigned short us = gd.as_number();
- ar & make_nvp("greg_day", us);
-}
-//! Function to load gregorian::greg_day objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::greg_day& gd, unsigned int /*version*/)
-{
- unsigned short us;
- ar & make_nvp("greg_day", us);
- gd = gregorian::greg_day(us);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::greg_day* gd,
- const unsigned int /*file_version*/)
-{
- ::new(gd) gregorian::greg_day(1);
-}
-
-/**** greg_weekday ****/
-
-//! Function to save gregorian::greg_weekday objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::greg_weekday& gd,
- unsigned int /*version*/)
-{
- unsigned short us = gd.as_number();
- ar & make_nvp("greg_weekday", us);
-}
-//! Function to load gregorian::greg_weekday objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::greg_weekday& gd, unsigned int /*version*/)
-{
- unsigned short us;
- ar & make_nvp("greg_weekday", us);
- gd = gregorian::greg_weekday(us);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::greg_weekday* gd,
- const unsigned int /*file_version*/)
-{
- ::new(gd) gregorian::greg_weekday(1);
-}
-
-/**** date_generators ****/
-
-/**** partial_date ****/
-
-//! Function to save gregorian::partial_date objects using serialization lib
-/*! partial_date objects are broken down into 2 parts for serialization:
- * the day (typically greg_day) and month (typically greg_month) objects
- */
-template<class Archive>
-void save(Archive & ar, const gregorian::partial_date& pd,
- unsigned int /*version*/)
-{
- gregorian::greg_day gd(pd.day());
- gregorian::greg_month gm(pd.month().as_number());
- ar & make_nvp("partial_date_day", gd);
- ar & make_nvp("partial_date_month", gm);
-}
-//! Function to load gregorian::partial_date objects using serialization lib
-/*! partial_date objects are broken down into 2 parts for serialization:
- * the day (greg_day) and month (greg_month) objects
- */
-template<class Archive>
-void load(Archive & ar, gregorian::partial_date& pd, unsigned int /*version*/)
-{
- gregorian::greg_day gd(1);
- gregorian::greg_month gm(1);
- ar & make_nvp("partial_date_day", gd);
- ar & make_nvp("partial_date_month", gm);
- pd = gregorian::partial_date(gd,gm);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/, gregorian::partial_date* pd,
- const unsigned int /*file_version*/)
-{
- gregorian::greg_month gm(1);
- gregorian::greg_day gd(1);
- ::new(pd) gregorian::partial_date(gd,gm);
-}
-
-/**** nth_kday_of_month ****/
-
-//! Function to save nth_day_of_the_week_in_month objects using serialization lib
-/*! nth_day_of_the_week_in_month objects are broken down into 3 parts for
- * serialization: the week number, the day of the week, and the month
- */
-template<class Archive>
-void save(Archive & ar, const gregorian::nth_kday_of_month& nkd,
- unsigned int /*version*/)
-{
- typename gregorian::nth_kday_of_month::week_num wn(nkd.nth_week());
- typename gregorian::nth_kday_of_month::day_of_week_type d(nkd.day_of_week().as_number());
- typename gregorian::nth_kday_of_month::month_type m(nkd.month().as_number());
- ar & make_nvp("nth_kday_of_month_week_num", wn);
- ar & make_nvp("nth_kday_of_month_day_of_week", d);
- ar & make_nvp("nth_kday_of_month_month", m);
-}
-//! Function to load nth_day_of_the_week_in_month objects using serialization lib
-/*! nth_day_of_the_week_in_month objects are broken down into 3 parts for
- * serialization: the week number, the day of the week, and the month
- */
-template<class Archive>
-void load(Archive & ar, gregorian::nth_kday_of_month& nkd, unsigned int /*version*/)
-{
- typename gregorian::nth_kday_of_month::week_num wn(gregorian::nth_kday_of_month::first);
- typename gregorian::nth_kday_of_month::day_of_week_type d(gregorian::Monday);
- typename gregorian::nth_kday_of_month::month_type m(gregorian::Jan);
- ar & make_nvp("nth_kday_of_month_week_num", wn);
- ar & make_nvp("nth_kday_of_month_day_of_week", d);
- ar & make_nvp("nth_kday_of_month_month", m);
-
- nkd = gregorian::nth_kday_of_month(wn,d,m);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- gregorian::nth_kday_of_month* nkd,
- const unsigned int /*file_version*/)
-{
- // values used are not significant
- ::new(nkd) gregorian::nth_kday_of_month(gregorian::nth_kday_of_month::first,
- gregorian::Monday,gregorian::Jan);
-}
-
-/**** first_kday_of_month ****/
-
-//! Function to save first_day_of_the_week_in_month objects using serialization lib
-/*! first_day_of_the_week_in_month objects are broken down into 2 parts for
- * serialization: the day of the week, and the month
- */
-template<class Archive>
-void save(Archive & ar, const gregorian::first_kday_of_month& fkd,
- unsigned int /*version*/)
-{
- typename gregorian::first_kday_of_month::day_of_week_type d(fkd.day_of_week().as_number());
- typename gregorian::first_kday_of_month::month_type m(fkd.month().as_number());
- ar & make_nvp("first_kday_of_month_day_of_week", d);
- ar & make_nvp("first_kday_of_month_month", m);
-}
-//! Function to load first_day_of_the_week_in_month objects using serialization lib
-/*! first_day_of_the_week_in_month objects are broken down into 2 parts for
- * serialization: the day of the week, and the month
- */
-template<class Archive>
-void load(Archive & ar, gregorian::first_kday_of_month& fkd, unsigned int /*version*/)
-{
- typename gregorian::first_kday_of_month::day_of_week_type d(gregorian::Monday);
- typename gregorian::first_kday_of_month::month_type m(gregorian::Jan);
- ar & make_nvp("first_kday_of_month_day_of_week", d);
- ar & make_nvp("first_kday_of_month_month", m);
-
- fkd = gregorian::first_kday_of_month(d,m);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- gregorian::first_kday_of_month* fkd,
- const unsigned int /*file_version*/)
-{
- // values used are not significant
- ::new(fkd) gregorian::first_kday_of_month(gregorian::Monday,gregorian::Jan);
-}
-
-/**** last_kday_of_month ****/
-
-//! Function to save last_day_of_the_week_in_month objects using serialization lib
-/*! last_day_of_the_week_in_month objects are broken down into 2 parts for
- * serialization: the day of the week, and the month
- */
-template<class Archive>
-void save(Archive & ar, const gregorian::last_kday_of_month& lkd,
- unsigned int /*version*/)
-{
- typename gregorian::last_kday_of_month::day_of_week_type d(lkd.day_of_week().as_number());
- typename gregorian::last_kday_of_month::month_type m(lkd.month().as_number());
- ar & make_nvp("last_kday_of_month_day_of_week", d);
- ar & make_nvp("last_kday_of_month_month", m);
-}
-//! Function to load last_day_of_the_week_in_month objects using serialization lib
-/*! last_day_of_the_week_in_month objects are broken down into 2 parts for
- * serialization: the day of the week, and the month
- */
-template<class Archive>
-void load(Archive & ar, gregorian::last_kday_of_month& lkd, unsigned int /*version*/)
-{
- typename gregorian::last_kday_of_month::day_of_week_type d(gregorian::Monday);
- typename gregorian::last_kday_of_month::month_type m(gregorian::Jan);
- ar & make_nvp("last_kday_of_month_day_of_week", d);
- ar & make_nvp("last_kday_of_month_month", m);
-
- lkd = gregorian::last_kday_of_month(d,m);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- gregorian::last_kday_of_month* lkd,
- const unsigned int /*file_version*/)
-{
- // values used are not significant
- ::new(lkd) gregorian::last_kday_of_month(gregorian::Monday,gregorian::Jan);
-}
-
-/**** first_kday_before ****/
-
-//! Function to save first_day_of_the_week_before objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::first_kday_before& fkdb,
- unsigned int /*version*/)
-{
- typename gregorian::first_kday_before::day_of_week_type d(fkdb.day_of_week().as_number());
- ar & make_nvp("first_kday_before_day_of_week", d);
-}
-//! Function to load first_day_of_the_week_before objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::first_kday_before& fkdb, unsigned int /*version*/)
-{
- typename gregorian::first_kday_before::day_of_week_type d(gregorian::Monday);
- ar & make_nvp("first_kday_before_day_of_week", d);
-
- fkdb = gregorian::first_kday_before(d);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- gregorian::first_kday_before* fkdb,
- const unsigned int /*file_version*/)
-{
- // values used are not significant
- ::new(fkdb) gregorian::first_kday_before(gregorian::Monday);
-}
-
-/**** first_kday_after ****/
-
-//! Function to save first_day_of_the_week_after objects using serialization lib
-template<class Archive>
-void save(Archive & ar, const gregorian::first_kday_after& fkda,
- unsigned int /*version*/)
-{
- typename gregorian::first_kday_after::day_of_week_type d(fkda.day_of_week().as_number());
- ar & make_nvp("first_kday_after_day_of_week", d);
-}
-//! Function to load first_day_of_the_week_after objects using serialization lib
-template<class Archive>
-void load(Archive & ar, gregorian::first_kday_after& fkda, unsigned int /*version*/)
-{
- typename gregorian::first_kday_after::day_of_week_type d(gregorian::Monday);
- ar & make_nvp("first_kday_after_day_of_week", d);
-
- fkda = gregorian::first_kday_after(d);
-}
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- gregorian::first_kday_after* fkda,
- const unsigned int /*file_version*/)
-{
- // values used are not significant
- ::new(fkda) gregorian::first_kday_after(gregorian::Monday);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif
diff --git a/contrib/restricted/boost/boost/date_time/local_time/conversion.hpp b/contrib/restricted/boost/boost/date_time/local_time/conversion.hpp
deleted file mode 100644
index aa0b72c6c4..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_time/conversion.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef DATE_TIME_LOCAL_TIME_CONVERSION_HPP__
-#define DATE_TIME_LOCAL_TIME_CONVERSION_HPP__
-
-/* Copyright (c) 2003-2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include "boost/date_time/posix_time/conversion.hpp"
-#include "boost/date_time/c_time.hpp"
-#include "boost/date_time/local_time/local_date_time.hpp"
-
-namespace boost {
-namespace local_time {
-
-//! Function that creates a tm struct from a local_date_time
-inline
-std::tm to_tm(const local_date_time& lt) {
- std::tm lt_tm = posix_time::to_tm(lt.local_time());
- if(lt.is_dst()){
- lt_tm.tm_isdst = 1;
- }
- else{
- lt_tm.tm_isdst = 0;
- }
- return lt_tm;
-}
-
-
-}} // namespaces
-#endif // DATE_TIME_LOCAL_TIME_CONVERSION_HPP__
diff --git a/contrib/restricted/boost/boost/date_time/local_time/local_time.hpp b/contrib/restricted/boost/boost/date_time/local_time/local_time.hpp
deleted file mode 100644
index 880989b6e7..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_time/local_time.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef LOCAL_TIME_LOCAL_TIME_HPP__
-#define LOCAL_TIME_LOCAL_TIME_HPP__
-
-/* Copyright (c) 2003-2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/posix_time/posix_time.hpp"
-#include "boost/date_time/local_time/local_date_time.hpp"
-#include "boost/date_time/local_time/local_time_types.hpp"
-#if !defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
-#include "boost/date_time/local_time/local_time_io.hpp"
-#endif // USE_DATE_TIME_PRE_1_33_FACET_IO
-#include "boost/date_time/local_time/posix_time_zone.hpp"
-#include "boost/date_time/local_time/custom_time_zone.hpp"
-#include "boost/date_time/local_time/tz_database.hpp"
-#include "boost/date_time/local_time/conversion.hpp"
-#include "boost/date_time/time_zone_base.hpp"
-
-
-#endif
diff --git a/contrib/restricted/boost/boost/date_time/local_time/local_time_io.hpp b/contrib/restricted/boost/boost/date_time/local_time/local_time_io.hpp
deleted file mode 100644
index c32b81e407..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_time/local_time_io.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#ifndef BOOST_DATE_TIME_LOCAL_TIME_IO_HPP__
-#define BOOST_DATE_TIME_LOCAL_TIME_IO_HPP__
-
-/* Copyright (c) 2003-2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <locale>
-#include <iostream>
-#include <iterator> // i/ostreambuf_iterator
-#include <boost/io/ios_state.hpp>
-#include <boost/date_time/time_facet.hpp>
-#include <boost/date_time/string_convert.hpp>
-#include <boost/date_time/local_time/local_date_time.hpp>
-#include <boost/date_time/local_time/posix_time_zone.hpp>
-#include <boost/date_time/local_time/conversion.hpp> // to_tm will be needed in the facets
-
-namespace boost {
-namespace local_time {
-
- typedef boost::date_time::time_facet<local_date_time, wchar_t> wlocal_time_facet;
- typedef boost::date_time::time_facet<local_date_time, char> local_time_facet;
-
- typedef boost::date_time::time_input_facet<local_date_time::utc_time_type,wchar_t> wlocal_time_input_facet;
- typedef boost::date_time::time_input_facet<local_date_time::utc_time_type,char> local_time_input_facet;
-
- //! operator<< for local_date_time - see local_time docs for formatting details
- template<class CharT, class TraitsT>
- inline
- std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const local_date_time& ldt)
- {
- boost::io::ios_flags_saver iflags(os);
- typedef local_date_time time_type;//::utc_time_type typename
- typedef date_time::time_facet<time_type, CharT> custom_time_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
-
- if(std::has_facet<custom_time_facet>(os.getloc())) {
- std::use_facet<custom_time_facet>(os.getloc()).put(oitr,
- os,
- os.fill(),
- ldt);
- }
- else {
- custom_time_facet* f = new custom_time_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(oitr, os, os.fill(), ldt);
- }
-
- return os;
- }
-
-
- //! input operator for local_date_time
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, local_date_time& ldt)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename local_date_time::utc_time_type utc_time_type;
- typedef typename date_time::time_input_facet<utc_time_type, CharT> time_input_facet;
-
- // intermediate objects
- std::basic_string<CharT> tz_str;
- utc_time_type pt(not_a_date_time);
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<time_input_facet>(is.getloc())) {
- std::use_facet<time_input_facet>(is.getloc()).get_local_time(sit, str_end, is, pt, tz_str);
- }
- else {
- time_input_facet* f = new time_input_facet();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get_local_time(sit, str_end, is, pt, tz_str);
- }
- if(tz_str.empty()) {
- time_zone_ptr null_ptr;
- // a null time_zone_ptr creates a local_date_time that is UTC
- ldt = local_date_time(pt, null_ptr);
- }
- else {
- time_zone_ptr tz_ptr(new posix_time_zone(date_time::convert_string_type<CharT,char>(tz_str)));
- // the "date & time" constructor expects the time label to *not* be utc.
- // a posix_tz_string also expects the time label to *not* be utc.
- ldt = local_date_time(pt.date(), pt.time_of_day(), tz_ptr, local_date_time::EXCEPTION_ON_ERROR);
- }
- }
- catch(...) {
- // mask tells us what exceptions are turned on
- std::ios_base::iostate exception_mask = is.exceptions();
- // if the user wants exceptions on failbit, we'll rethrow our
- // date_time exception & set the failbit
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {} // ignore this one
- throw; // rethrow original exception
- }
- else {
- // if the user want's to fail quietly, we simply set the failbit
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- //! output operator for local_time_period
- template <class CharT, class TraitsT>
- inline
- std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os,
- const boost::local_time::local_time_period& p) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<local_date_time, CharT> custom_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_facet>(os.getloc())) {
- std::use_facet<custom_facet>(os.getloc()).put(oitr, os, os.fill(), p);
- }
- else {
- //instantiate a custom facet for dealing with periods since the user
- //has not put one in the stream so far. This is for efficiency
- //since we would always need to reconstruct for every time period
- //if the local did not already exist. Of course this will be overridden
- //if the user imbues as some later point.
- custom_facet* f = new custom_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(oitr, os, os.fill(), p);
- }
- return os;
- }
-
- //! input operator for local_time_period
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, boost::local_time::local_time_period& tp)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::time_input_facet<local_date_time, CharT> time_input_facet;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<time_input_facet>(is.getloc())) {
- std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, tp);
- }
- else {
- time_input_facet* f = new time_input_facet();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, tp);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-} } // namespaces
-
-#endif // BOOST_DATE_TIME_LOCAL_TIME_IO_HPP__
diff --git a/contrib/restricted/boost/boost/date_time/local_time/posix_time_zone.hpp b/contrib/restricted/boost/boost/date_time/local_time/posix_time_zone.hpp
deleted file mode 100644
index 9c2c04ba41..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_time/posix_time_zone.hpp
+++ /dev/null
@@ -1,475 +0,0 @@
-#ifndef _DATE_TIME_POSIX_TIME_ZONE__
-#define _DATE_TIME_POSIX_TIME_ZONE__
-
-/* Copyright (c) 2003-2005 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <string>
-#include <sstream>
-#include <stdexcept>
-#include <boost/tokenizer.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/gregorian/gregorian.hpp>
-#include <boost/date_time/time_zone_names.hpp>
-#include <boost/date_time/time_zone_base.hpp>
-#include <boost/date_time/local_time/dst_transition_day_rules.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/date_time/string_convert.hpp>
-#include <boost/date_time/time_parsing.hpp>
-
-namespace boost{
-namespace local_time{
-
- //! simple exception for UTC and Daylight savings start/end offsets
- struct BOOST_SYMBOL_VISIBLE bad_offset : public std::out_of_range
- {
- bad_offset(std::string const& msg = std::string()) :
- std::out_of_range(std::string("Offset out of range: " + msg)) {}
- };
- //! simple exception for UTC daylight savings adjustment
- struct BOOST_SYMBOL_VISIBLE bad_adjustment : public std::out_of_range
- {
- bad_adjustment(std::string const& msg = std::string()) :
- std::out_of_range(std::string("Adjustment out of range: " + msg)) {}
- };
-
- typedef boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration> dst_adjustment_offsets;
-
- //! A time zone class constructed from a POSIX time zone string
- /*! A POSIX time zone string takes the form of:<br>
- * "std offset dst [offset],start[/time],end[/time]" (w/no spaces)
- * 'std' specifies the abbrev of the time zone.<br>
- * 'offset' is the offset from UTC.<br>
- * 'dst' specifies the abbrev of the time zone during daylight savings time.<br>
- * The second offset is how many hours changed during DST. Default=1<br>
- * 'start' and'end' are the dates when DST goes into (and out of) effect.<br>
- * 'offset' takes the form of: [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59}<br>
- * 'time' and 'offset' take the same form. Time defaults=02:00:00<br>
- * 'start' and 'end' can be one of three forms:<br>
- * Mm.w.d {month=1-12, week=1-5 (5 is always last), day=0-6}<br>
- * Jn {n=1-365 Feb29 is never counted}<br>
- * n {n=0-365 Feb29 is counted in leap years}<br>
- * Example "PST-5PDT01:00:00,M4.1.0/02:00:00,M10.1.0/02:00:00"
- * <br>
- * Exceptions will be thrown under these conditions:<br>
- * An invalid date spec (see date class)<br>
- * A boost::local_time::bad_offset exception will be thrown for:<br>
- * A DST start or end offset that is negative or more than 24 hours<br>
- * A UTC zone that is greater than +14 or less than -12 hours<br>
- * A boost::local_time::bad_adjustment exception will be thrown for:<br>
- * A DST adjustment that is 24 hours or more (positive or negative)<br>
- *
- * Note that UTC zone offsets can be greater than +12:
- * http://www.worldtimezone.com/utc/utc+1200.html
- */
- template<class CharT>
- class BOOST_SYMBOL_VISIBLE posix_time_zone_base : public date_time::time_zone_base<posix_time::ptime,CharT> {
- public:
- typedef boost::posix_time::time_duration time_duration_type;
- typedef date_time::time_zone_names_base<CharT> time_zone_names;
- typedef date_time::time_zone_base<posix_time::ptime,CharT> base_type;
- typedef typename base_type::string_type string_type;
- typedef CharT char_type;
- typedef typename base_type::stringstream_type stringstream_type;
- typedef boost::char_separator<char_type, std::char_traits<char_type> > char_separator_type;
- typedef boost::tokenizer<char_separator_type,
- typename string_type::const_iterator,
- string_type> tokenizer_type;
- typedef typename tokenizer_type::iterator tokenizer_iterator_type;
-
- //! Construct from a POSIX time zone string
- posix_time_zone_base(const string_type& s) :
- //zone_names_("std_name","std_abbrev","no-dst","no-dst"),
- zone_names_(),
- has_dst_(false),
- base_utc_offset_(posix_time::hours(0)),
- dst_offsets_(posix_time::hours(0),posix_time::hours(0),posix_time::hours(0)),
- dst_calc_rules_()
- {
-#ifdef __HP_aCC
- // Work around bug in aC++ compiler: see QXCR1000880488 in the
- // HP bug tracking system
- const char_type sep_chars[2] = {',',0};
-#else
- const char_type sep_chars[2] = {','};
-#endif
- char_separator_type sep(sep_chars);
- tokenizer_type tokens(s, sep);
- tokenizer_iterator_type it = tokens.begin(), end = tokens.end();
- if (it == end)
- BOOST_THROW_EXCEPTION(std::invalid_argument("Could not parse time zone name"));
- calc_zone(*it++);
- if(has_dst_)
- {
- if (it == end)
- BOOST_THROW_EXCEPTION(std::invalid_argument("Could not parse DST begin time"));
- string_type dst_begin = *it++;
-
- if (it == end)
- BOOST_THROW_EXCEPTION(std::invalid_argument("Could not parse DST end time"));
- string_type dst_end = *it;
- calc_rules(dst_begin, dst_end);
- }
- }
- virtual ~posix_time_zone_base() {}
- //!String for the zone when not in daylight savings (eg: EST)
- virtual string_type std_zone_abbrev()const
- {
- return zone_names_.std_zone_abbrev();
- }
- //!String for the timezone when in daylight savings (eg: EDT)
- /*! For those time zones that have no DST, an empty string is used */
- virtual string_type dst_zone_abbrev() const
- {
- return zone_names_.dst_zone_abbrev();
- }
- //!String for the zone when not in daylight savings (eg: Eastern Standard Time)
- /*! The full STD name is not extracted from the posix time zone string.
- * Therefore, the STD abbreviation is used in it's place */
- virtual string_type std_zone_name()const
- {
- return zone_names_.std_zone_name();
- }
- //!String for the timezone when in daylight savings (eg: Eastern Daylight Time)
- /*! The full DST name is not extracted from the posix time zone string.
- * Therefore, the STD abbreviation is used in it's place. For time zones
- * that have no DST, an empty string is used */
- virtual string_type dst_zone_name()const
- {
- return zone_names_.dst_zone_name();
- }
- //! True if zone uses daylight savings adjustments otherwise false
- virtual bool has_dst()const
- {
- return has_dst_;
- }
- //! Local time that DST starts -- NADT if has_dst is false
- virtual posix_time::ptime dst_local_start_time(gregorian::greg_year y)const
- {
- gregorian::date d(gregorian::not_a_date_time);
- if(has_dst_)
- {
- d = dst_calc_rules_->start_day(y);
- }
- return posix_time::ptime(d, dst_offsets_.dst_start_offset_);
- }
- //! Local time that DST ends -- NADT if has_dst is false
- virtual posix_time::ptime dst_local_end_time(gregorian::greg_year y)const
- {
- gregorian::date d(gregorian::not_a_date_time);
- if(has_dst_)
- {
- d = dst_calc_rules_->end_day(y);
- }
- return posix_time::ptime(d, dst_offsets_.dst_end_offset_);
- }
- //! Base offset from UTC for zone (eg: -07:30:00)
- virtual time_duration_type base_utc_offset()const
- {
- return base_utc_offset_;
- }
- //! Adjustment forward or back made while DST is in effect
- virtual time_duration_type dst_offset()const
- {
- return dst_offsets_.dst_adjust_;
- }
-
- //! Returns a POSIX time_zone string for this object
- virtual string_type to_posix_string() const
- {
- // std offset dst [offset],start[/time],end[/time] - w/o spaces
- stringstream_type ss;
- ss.fill('0');
- boost::shared_ptr<dst_calc_rule> no_rules;
- // std
- ss << std_zone_abbrev();
- // offset
- if(base_utc_offset().is_negative()) {
- // inverting the sign guarantees we get two digits
- ss << '-' << std::setw(2) << base_utc_offset().invert_sign().hours();
- }
- else {
- ss << '+' << std::setw(2) << base_utc_offset().hours();
- }
- if(base_utc_offset().minutes() != 0 || base_utc_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << base_utc_offset().minutes();
- if(base_utc_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << base_utc_offset().seconds();
- }
- }
- if(dst_calc_rules_ != no_rules) {
- // dst
- ss << dst_zone_abbrev();
- // dst offset
- if(dst_offset().is_negative()) {
- // inverting the sign guarantees we get two digits
- ss << '-' << std::setw(2) << dst_offset().invert_sign().hours();
- }
- else {
- ss << '+' << std::setw(2) << dst_offset().hours();
- }
- if(dst_offset().minutes() != 0 || dst_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offset().minutes();
- if(dst_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offset().seconds();
- }
- }
- // start/time
- ss << ',' << date_time::convert_string_type<char, char_type>(dst_calc_rules_->start_rule_as_string()) << '/'
- << std::setw(2) << dst_offsets_.dst_start_offset_.hours() << ':'
- << std::setw(2) << dst_offsets_.dst_start_offset_.minutes();
- if(dst_offsets_.dst_start_offset_.seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offsets_.dst_start_offset_.seconds();
- }
- // end/time
- ss << ',' << date_time::convert_string_type<char, char_type>(dst_calc_rules_->end_rule_as_string()) << '/'
- << std::setw(2) << dst_offsets_.dst_end_offset_.hours() << ':'
- << std::setw(2) << dst_offsets_.dst_end_offset_.minutes();
- if(dst_offsets_.dst_end_offset_.seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offsets_.dst_end_offset_.seconds();
- }
- }
-
- return ss.str();
- }
- private:
- time_zone_names zone_names_;
- bool has_dst_;
- time_duration_type base_utc_offset_;
- dst_adjustment_offsets dst_offsets_;
- boost::shared_ptr<dst_calc_rule> dst_calc_rules_;
-
- /*! Extract time zone abbreviations for STD & DST as well
- * as the offsets for the time shift that occurs and how
- * much of a shift. At this time full time zone names are
- * NOT extracted so the abbreviations are used in their place */
- void calc_zone(const string_type& obj){
- const char_type empty_string[2] = {'\0'};
- stringstream_type ss(empty_string);
- typename string_type::const_pointer sit = obj.c_str(), obj_end = sit + obj.size();
- string_type l_std_zone_abbrev, l_dst_zone_abbrev;
-
- // get 'std' name/abbrev
- while(std::isalpha(*sit)){
- ss << *sit++;
- }
- l_std_zone_abbrev = ss.str();
- ss.str(empty_string);
-
- // get UTC offset
- if(sit != obj_end){
- // get duration
- while(sit != obj_end && !std::isalpha(*sit)){
- ss << *sit++;
- }
- base_utc_offset_ = date_time::str_from_delimited_time_duration<time_duration_type,char_type>(ss.str());
- ss.str(empty_string);
-
- // base offset must be within range of -12 hours to +14 hours
- if(base_utc_offset_ < time_duration_type(-12,0,0) ||
- base_utc_offset_ > time_duration_type(14,0,0))
- {
- boost::throw_exception(bad_offset(posix_time::to_simple_string(base_utc_offset_)));
- }
- }
-
- // get DST data if given
- if(sit != obj_end){
- has_dst_ = true;
-
- // get 'dst' name/abbrev
- while(sit != obj_end && std::isalpha(*sit)){
- ss << *sit++;
- }
- l_dst_zone_abbrev = ss.str();
- ss.str(empty_string);
-
- // get DST offset if given
- if(sit != obj_end){
- // get duration
- while(sit != obj_end && !std::isalpha(*sit)){
- ss << *sit++;
- }
- dst_offsets_.dst_adjust_ = date_time::str_from_delimited_time_duration<time_duration_type,char_type>(ss.str());
- ss.str(empty_string);
- }
- else{ // default DST offset
- dst_offsets_.dst_adjust_ = posix_time::hours(1);
- }
-
- // adjustment must be within +|- 1 day
- if(dst_offsets_.dst_adjust_ <= time_duration_type(-24,0,0) ||
- dst_offsets_.dst_adjust_ >= time_duration_type(24,0,0))
- {
- boost::throw_exception(bad_adjustment(posix_time::to_simple_string(dst_offsets_.dst_adjust_)));
- }
- }
- // full names not extracted so abbrevs used in their place
- zone_names_ = time_zone_names(l_std_zone_abbrev, l_std_zone_abbrev, l_dst_zone_abbrev, l_dst_zone_abbrev);
- }
-
- void calc_rules(const string_type& start, const string_type& end){
-#ifdef __HP_aCC
- // Work around bug in aC++ compiler: see QXCR1000880488 in the
- // HP bug tracking system
- const char_type sep_chars[2] = {'/',0};
-#else
- const char_type sep_chars[2] = {'/'};
-#endif
- char_separator_type sep(sep_chars);
- tokenizer_type st_tok(start, sep);
- tokenizer_type et_tok(end, sep);
- tokenizer_iterator_type sit = st_tok.begin();
- tokenizer_iterator_type eit = et_tok.begin();
-
- // generate date spec
- char_type x = string_type(*sit).at(0);
- if(x == 'M'){
- M_func(*sit, *eit);
- }
- else if(x == 'J'){
- julian_no_leap(*sit, *eit);
- }
- else{
- julian_day(*sit, *eit);
- }
-
- ++sit;
- ++eit;
- // generate durations
- // starting offset
- if(sit != st_tok.end()){
- dst_offsets_.dst_start_offset_ = date_time::str_from_delimited_time_duration<time_duration_type,char_type>(*sit);
- }
- else{
- // default
- dst_offsets_.dst_start_offset_ = posix_time::hours(2);
- }
- // start/end offsets must fall on given date
- if(dst_offsets_.dst_start_offset_ < time_duration_type(0,0,0) ||
- dst_offsets_.dst_start_offset_ >= time_duration_type(24,0,0))
- {
- boost::throw_exception(bad_offset(posix_time::to_simple_string(dst_offsets_.dst_start_offset_)));
- }
-
- // ending offset
- if(eit != et_tok.end()){
- dst_offsets_.dst_end_offset_ = date_time::str_from_delimited_time_duration<time_duration_type,char_type>(*eit);
- }
- else{
- // default
- dst_offsets_.dst_end_offset_ = posix_time::hours(2);
- }
- // start/end offsets must fall on given date
- if(dst_offsets_.dst_end_offset_ < time_duration_type(0,0,0) ||
- dst_offsets_.dst_end_offset_ >= time_duration_type(24,0,0))
- {
- boost::throw_exception(bad_offset(posix_time::to_simple_string(dst_offsets_.dst_end_offset_)));
- }
- }
-
- /* Parses out a start/end date spec from a posix time zone string.
- * Date specs come in three possible formats, this function handles
- * the 'M' spec. Ex "M2.2.4" => 2nd month, 2nd week, 4th day .
- */
- void M_func(const string_type& s, const string_type& e){
- typedef gregorian::nth_kday_of_month nkday;
- unsigned short sm=0,sw=0,sd=0,em=0,ew=0,ed=0; // start/end month,week,day
-#ifdef __HP_aCC
- // Work around bug in aC++ compiler: see QXCR1000880488 in the
- // HP bug tracking system
- const char_type sep_chars[3] = {'M','.',0};
-#else
- const char_type sep_chars[3] = {'M','.'};
-#endif
- char_separator_type sep(sep_chars);
- tokenizer_type stok(s, sep), etok(e, sep);
-
- tokenizer_iterator_type it = stok.begin();
- sm = lexical_cast<unsigned short>(*it++);
- sw = lexical_cast<unsigned short>(*it++);
- sd = lexical_cast<unsigned short>(*it);
-
- it = etok.begin();
- em = lexical_cast<unsigned short>(*it++);
- ew = lexical_cast<unsigned short>(*it++);
- ed = lexical_cast<unsigned short>(*it);
-
- dst_calc_rules_ = shared_ptr<dst_calc_rule>(
- new nth_kday_dst_rule(
- nth_last_dst_rule::start_rule(
- static_cast<nkday::week_num>(sw),sd,sm),
- nth_last_dst_rule::start_rule(
- static_cast<nkday::week_num>(ew),ed,em)
- )
- );
- }
-
- //! Julian day. Feb29 is never counted, even in leap years
- // expects range of 1-365
- void julian_no_leap(const string_type& s, const string_type& e){
- typedef gregorian::gregorian_calendar calendar;
- const unsigned short year = 2001; // Non-leap year
- unsigned short sm=1;
- int sd=0;
- sd = lexical_cast<int>(s.substr(1)); // skip 'J'
- while(sd >= calendar::end_of_month_day(year,sm)){
- sd -= calendar::end_of_month_day(year,sm++);
- }
- unsigned short em=1;
- int ed=0;
- ed = lexical_cast<int>(e.substr(1)); // skip 'J'
- while(ed > calendar::end_of_month_day(year,em)){
- ed -= calendar::end_of_month_day(year,em++);
- }
-
- dst_calc_rules_ = shared_ptr<dst_calc_rule>(
- new partial_date_dst_rule(
- partial_date_dst_rule::start_rule(
- static_cast<unsigned short>(sd), static_cast<date_time::months_of_year>(sm)),
- partial_date_dst_rule::end_rule(
- static_cast<unsigned short>(ed), static_cast<date_time::months_of_year>(em))
- )
- );
- }
-
- //! Julian day. Feb29 is always counted, but exception thrown in non-leap years
- // expects range of 0-365
- void julian_day(const string_type& s, const string_type& e){
- int sd=0, ed=0;
- sd = lexical_cast<int>(s);
- ed = lexical_cast<int>(e);
- dst_calc_rules_ = shared_ptr<dst_calc_rule>(
- new partial_date_dst_rule(
- partial_date_dst_rule::start_rule(++sd),// args are 0-365
- partial_date_dst_rule::end_rule(++ed) // pd expects 1-366
- )
- );
- }
-
- //! helper function used when throwing exceptions
- static std::string td_as_string(const time_duration_type& td)
- {
- std::string s;
-#if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
- s = posix_time::to_simple_string(td);
-#else
- std::stringstream ss;
- ss << td;
- s = ss.str();
-#endif
- return s;
- }
- };
-
- typedef posix_time_zone_base<char> posix_time_zone;
-
-} } // namespace boost::local_time
-
-
-#endif // _DATE_TIME_POSIX_TIME_ZONE__
diff --git a/contrib/restricted/boost/boost/date_time/local_time/tz_database.hpp b/contrib/restricted/boost/boost/date_time/local_time/tz_database.hpp
deleted file mode 100644
index 0c6fbbf9ea..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_time/tz_database.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef BOOST_DATE_TIME_TZ_DATABASE_HPP__
-#define BOOST_DATE_TIME_TZ_DATABASE_HPP__
-
-/* Copyright (c) 2003-2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <string>
-#include "boost/date_time/local_time/custom_time_zone.hpp"
-#include "boost/date_time/local_time/dst_transition_day_rules.hpp"
-#include "boost/date_time/tz_db_base.hpp"
-
-
-namespace boost {
-namespace local_time {
-
- using date_time::data_not_accessible;
- using date_time::bad_field_count;
-
- //! Object populated with boost::shared_ptr<time_zone_base> objects
- /*! Object populated with boost::shared_ptr<time_zone_base> objects
- * Database is populated from specs stored in external csv file. See
- * date_time::tz_db_base for greater detail */
- typedef date_time::tz_db_base<custom_time_zone, nth_kday_dst_rule> tz_database;
-
-}} // namespace
-
-#endif // BOOST_DATE_TIME_TZ_DATABASE_HPP__
-
diff --git a/contrib/restricted/boost/boost/date_time/local_time_adjustor.hpp b/contrib/restricted/boost/boost/date_time/local_time_adjustor.hpp
deleted file mode 100644
index 64134f3b28..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_time_adjustor.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-#ifndef DATE_TIME_LOCAL_TIME_ADJUSTOR_HPP__
-#define DATE_TIME_LOCAL_TIME_ADJUSTOR_HPP__
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-/*! @file local_time_adjustor.hpp
- Time adjustment calculations for local times
-*/
-
-#include <stdexcept>
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/date_generators.hpp>
-#include <boost/date_time/dst_rules.hpp>
-#include <boost/date_time/time_defs.hpp> // boost::date_time::dst_flags
-#include <boost/date_time/special_defs.hpp> // not_a_date_time
-
-namespace boost {
- namespace date_time {
-
-
- //! Provides a base offset adjustment from utc
- template<class time_duration_type,
- short hours, unsigned short minutes = 0>
- class utc_adjustment
- {
- public:
- static time_duration_type local_to_utc_base_offset()
- {
- time_duration_type td(hours,minutes,0);
- return td.invert_sign();
- }
- static time_duration_type utc_to_local_base_offset()
- {
- return time_duration_type(hours,minutes,0);
- }
- };
-
-
-
- //! Allow sliding utc adjustment with fixed dst rules
- template<class time_type, class dst_rules>
- class dynamic_local_time_adjustor : public dst_rules
- {
- public:
- typedef typename time_type::time_duration_type time_duration_type;
- typedef typename time_type::date_type date_type;
-
- dynamic_local_time_adjustor(time_duration_type utc_offset) :
- utc_offset_(utc_offset)
- {}
-
- //! Presumes local time
- time_duration_type utc_offset(bool is_dst)
- {
- if (is_dst) {
- return utc_offset_ + this->dst_offset();
- }
- else {
- return utc_offset_;
- }
-
- }
- private:
- time_duration_type utc_offset_;
-
- };
-
-
-
- //! Embed the rules for local time adjustments at compile time
- template<class time_type, class dst_rules, class utc_offset_rules>
- class static_local_time_adjustor: public dst_rules, public utc_offset_rules
- {
- public:
- typedef typename time_type::time_duration_type time_duration_type;
- typedef typename time_type::date_type date_type;
-
- //! Calculates the offset from a utc time to local based on dst and utc offset
- /*! @param t UTC time to calculate offset to local time
- * This adjustment depends on the following observations about the
- * workings of the DST boundary offset. Since UTC time labels are
- * monotonically increasing we can determine if a given local time
- * is in DST or not and therefore adjust the offset appropriately.
- *
- * The logic is as follows. Starting with UTC time use the offset to
- * create a label for an non-dst adjusted local time. Then call
- * dst_rules::local_is_dst with the non adjust local time. The
- * results of this function will either unabiguously decide that
- * the initial local time is in dst or return an illegal or
- * ambiguous result. An illegal result only occurs at the end
- * of dst (where labels are skipped) and indicates that dst has
- * ended. An ambiguous result means that we need to recheck by
- * making a dst adjustment and then rechecking. If the dst offset
- * is added to the utc time and the recheck proves non-ambiguous
- * then we are past the boundary. If it is still ambiguous then
- * we are ahead of the boundary and dst is still in effect.
- *
- * TODO -- check if all dst offsets are positive. If not then
- * the algorithm needs to check for this and reverse the
- * illegal/ambiguous logic.
- */
- static time_duration_type utc_to_local_offset(const time_type& t)
- {
- //get initial local time guess by applying utc offset
- time_type initial = t + utc_offset_rules::utc_to_local_base_offset();
- time_is_dst_result dst_flag =
- dst_rules::local_is_dst(initial.date(), initial.time_of_day());
- switch(dst_flag) {
- case is_in_dst: return utc_offset_rules::utc_to_local_base_offset() + dst_rules::dst_offset();
- case is_not_in_dst: return utc_offset_rules::utc_to_local_base_offset();
- case invalid_time_label:return utc_offset_rules::utc_to_local_base_offset() + dst_rules::dst_offset();
- case ambiguous: {
- time_type retry = initial + dst_rules::dst_offset();
- dst_flag = dst_rules::local_is_dst(retry.date(), retry.time_of_day());
- //if still ambibuous then the utc time still translates to a dst time
- if (dst_flag == ambiguous) {
- return utc_offset_rules::utc_to_local_base_offset() + dst_rules::dst_offset();
- }
- // we are past the dst boundary
- else {
- return utc_offset_rules::utc_to_local_base_offset();
- }
- }
- }//case
- //TODO better exception type
- boost::throw_exception(std::out_of_range("Unreachable case"));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return time_duration_type(not_a_date_time)); // should never reach
- }
-
- //! Get the offset to UTC given a local time
- static time_duration_type local_to_utc_offset(const time_type& t,
- date_time::dst_flags dst=date_time::calculate)
- {
- switch (dst) {
- case is_dst:
- return utc_offset_rules::local_to_utc_base_offset() - dst_rules::dst_offset();
- case not_dst:
- return utc_offset_rules::local_to_utc_base_offset();
- case calculate:
- time_is_dst_result res =
- dst_rules::local_is_dst(t.date(), t.time_of_day());
- switch(res) {
- case is_in_dst: return utc_offset_rules::local_to_utc_base_offset() - dst_rules::dst_offset();
- case is_not_in_dst: return utc_offset_rules::local_to_utc_base_offset();
- case ambiguous: return utc_offset_rules::local_to_utc_base_offset();
- case invalid_time_label: break;
- }
- }
- boost::throw_exception(std::out_of_range("Time label invalid"));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return time_duration_type(not_a_date_time)); // should never reach
- }
-
-
- private:
-
- };
-
- void dummy_to_prevent_msvc6_ice(); //why ask why?
-
- //! Template that simplifies the creation of local time calculator
- /*! Use this template to create the timezone to utc convertors as required.
- *
- * This class will also work for other regions that don't use dst and
- * have a utc offset which is an integral number of hours.
- *
- * <b>Template Parameters</b>
- * -time_type -- Time class to use
- * -utc_offset -- Number hours local time is adjust from utc
- * -use_dst -- true (default) if region uses dst, false otherwise
- * For example:
- * @code
- * //eastern timezone is utc-5
- typedef date_time::local_adjustor<ptime, -5, us_dst> us_eastern;
- typedef date_time::local_adjustor<ptime, -6, us_dst> us_central;
- typedef date_time::local_adjustor<ptime, -7, us_dst> us_mountain;
- typedef date_time::local_adjustor<ptime, -8, us_dst> us_pacific;
- typedef date_time::local_adjustor<ptime, -7, no_dst> us_arizona;
- @endcode
-
- */
- template<class time_type, short utc_offset, class dst_rule>
- class local_adjustor
- {
- public:
- typedef typename time_type::time_duration_type time_duration_type;
- typedef typename time_type::date_type date_type;
- typedef static_local_time_adjustor<time_type,
- dst_rule,
- utc_adjustment<time_duration_type,
- utc_offset> > dst_adjustor;
- //! Convert a utc time to local time
- static time_type utc_to_local(const time_type& t)
- {
- time_duration_type td = dst_adjustor::utc_to_local_offset(t);
- return t + td;
- }
- //! Convert a local time to utc
- static time_type local_to_utc(const time_type& t,
- date_time::dst_flags dst=date_time::calculate)
- {
- time_duration_type td = dst_adjustor::local_to_utc_offset(t, dst);
- return t + td;
- }
- };
-
-
- } } //namespace date_time
-
-
-
-#endif
diff --git a/contrib/restricted/boost/boost/date_time/local_timezone_defs.hpp b/contrib/restricted/boost/boost/date_time/local_timezone_defs.hpp
deleted file mode 100644
index 5564a11080..0000000000
--- a/contrib/restricted/boost/boost/date_time/local_timezone_defs.hpp
+++ /dev/null
@@ -1,193 +0,0 @@
-#ifndef DATE_TIME_LOCAL_TIMEZONE_DEFS_HPP__
-#define DATE_TIME_LOCAL_TIMEZONE_DEFS_HPP__
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-#include "boost/date_time/dst_rules.hpp"
-
-namespace boost {
- namespace date_time {
-
- // Configurations for common dst rules cases:
- // See http://www.wharton.co.uk/Support/sup_dst.htm for more
- // information on how various locales use dst rules
-
- //! Specification for daylight savings start rules in US
- /*! This class is used to configure dst_calc_engine template typically
- as follows:
- @code
- using namespace boost::gregorian;
- using namespace boost::posix_time;
- typedef us_dst_trait<date> us_dst_traits;
- typedef boost::date_time::dst_calc_engine<date, time_duration,
- us_dst_traits>
- us_dst_calc;
- //calculate the 2002 transition day of USA April 7 2002
- date dst_start = us_dst_calc::local_dst_start_day(2002);
-
- //calculate the 2002 transition day of USA Oct 27 2002
- date dst_end = us_dst_calc::local_dst_end_day(2002);
-
- //check if a local time is in dst or not -- posible answers
- //are yes, no, invalid time label, ambiguous
- ptime t(...some time...);
- if (us_dst::local_is_dst(t.date(), t.time_of_day())
- == boost::date_time::is_not_in_dst)
- {
-
- }
-
- @endcode
- This generates a type suitable for the calculation of dst
- transitions for the United States. Of course other templates
- can be used for other locales.
-
- */
-
- template<class date_type>
- struct us_dst_trait
- {
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::month_type month_type;
- typedef typename date_type::year_type year_type;
- typedef date_time::nth_kday_of_month<date_type> start_rule_functor;
- typedef date_time::first_kday_of_month<date_type> end_rule_functor;
- typedef date_time::first_kday_of_month<date_type> start_rule_functor_pre2007;
- typedef date_time::last_kday_of_month<date_type> end_rule_functor_pre2007;
- static day_of_week_type start_day(year_type) {return Sunday;}
- static month_type start_month(year_type y)
- {
- if (y < 2007) return Apr;
- return Mar;
- }
- static day_of_week_type end_day(year_type) {return Sunday;}
- static month_type end_month(year_type y)
- {
- if (y < 2007) return Oct;
- return Nov;
- }
- static date_type local_dst_start_day(year_type year)
- {
- if (year < 2007) {
- start_rule_functor_pre2007 start1(start_day(year),
- start_month(year));
- return start1.get_date(year);
- }
- start_rule_functor start(start_rule_functor::second,
- start_day(year),
- start_month(year));
- return start.get_date(year);
-
- }
- static date_type local_dst_end_day(year_type year)
- {
- if (year < 2007) {
- end_rule_functor_pre2007 end_rule(end_day(year),
- end_month(year));
- return end_rule.get_date(year);
- }
- end_rule_functor end(end_day(year),
- end_month(year));
- return end.get_date(year);
- }
- static int dst_start_offset_minutes() { return 120;}
- static int dst_end_offset_minutes() { return 120; }
- static int dst_shift_length_minutes() { return 60; }
- };
-
- //!Rules for daylight savings start in the EU (Last Sun in Mar)
- /*!These amount to the following:
- - Start of dst day is last Sunday in March
- - End day of dst is last Sunday in Oct
- - Going forward switch time is 2:00 am (offset 120 minutes)
- - Going back switch time is 3:00 am (off set 180 minutes)
- - Shift duration is one hour (60 minutes)
- */
- template<class date_type>
- struct eu_dst_trait
- {
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::month_type month_type;
- typedef typename date_type::year_type year_type;
- typedef date_time::last_kday_of_month<date_type> start_rule_functor;
- typedef date_time::last_kday_of_month<date_type> end_rule_functor;
- static day_of_week_type start_day(year_type) {return Sunday;}
- static month_type start_month(year_type) {return Mar;}
- static day_of_week_type end_day(year_type) {return Sunday;}
- static month_type end_month(year_type) {return Oct;}
- static int dst_start_offset_minutes() { return 120;}
- static int dst_end_offset_minutes() { return 180; }
- static int dst_shift_length_minutes() { return 60; }
- static date_type local_dst_start_day(year_type year)
- {
- start_rule_functor start(start_day(year),
- start_month(year));
- return start.get_date(year);
- }
- static date_type local_dst_end_day(year_type year)
- {
- end_rule_functor end(end_day(year),
- end_month(year));
- return end.get_date(year);
- }
- };
-
- //! Alternative dst traits for some parts of the United Kingdom
- /* Several places in the UK use EU start and end rules for the
- day, but different local conversion times (eg: forward change at 1:00
- am local and backward change at 2:00 am dst instead of 2:00am
- forward and 3:00am back for the EU).
- */
- template<class date_type>
- struct uk_dst_trait : public eu_dst_trait<date_type>
- {
- static int dst_start_offset_minutes() { return 60;}
- static int dst_end_offset_minutes() { return 120; }
- static int dst_shift_length_minutes() { return 60; }
- };
-
- //Rules for Adelaide Australia
- template<class date_type>
- struct acst_dst_trait
- {
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::month_type month_type;
- typedef typename date_type::year_type year_type;
- typedef date_time::last_kday_of_month<date_type> start_rule_functor;
- typedef date_time::last_kday_of_month<date_type> end_rule_functor;
- static day_of_week_type start_day(year_type) {return Sunday;}
- static month_type start_month(year_type) {return Oct;}
- static day_of_week_type end_day(year_type) {return Sunday;}
- static month_type end_month(year_type) {return Mar;}
- static int dst_start_offset_minutes() { return 120;}
- static int dst_end_offset_minutes() { return 180; }
- static int dst_shift_length_minutes() { return 60; }
- static date_type local_dst_start_day(year_type year)
- {
- start_rule_functor start(start_day(year),
- start_month(year));
- return start.get_date(year);
- }
- static date_type local_dst_end_day(year_type year)
- {
- end_rule_functor end(end_day(year),
- end_month(year));
- return end.get_date(year);
- }
- };
-
-
-
-
-
-
-} } //namespace boost::date_time
-
-
-#endif
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/time_serialize.hpp b/contrib/restricted/boost/boost/date_time/posix_time/time_serialize.hpp
deleted file mode 100644
index 71f60b3741..0000000000
--- a/contrib/restricted/boost/boost/date_time/posix_time/time_serialize.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-#ifndef POSIX_TIME_SERIALIZE_HPP___
-#define POSIX_TIME_SERIALIZE_HPP___
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/posix_time/posix_time.hpp"
-#include "boost/date_time/gregorian/greg_serialize.hpp"
-#include "boost/numeric/conversion/cast.hpp"
-#include "boost/serialization/split_free.hpp"
-#include "boost/serialization/nvp.hpp"
-#include "boost/serialization/version.hpp"
-
-// macros to split serialize functions into save & load functions
-// NOTE: these macros define template functions in the boost::serialization namespace.
-// They must be expanded *outside* of any namespace
-BOOST_SERIALIZATION_SPLIT_FREE(boost::posix_time::ptime)
-BOOST_SERIALIZATION_SPLIT_FREE(boost::posix_time::time_duration)
-BOOST_SERIALIZATION_SPLIT_FREE(boost::posix_time::time_period)
-
-// Define versions for serialization compatibility
-// alows the unit tests to make an older version to check compatibility
-#ifndef BOOST_DATE_TIME_POSIX_TIME_DURATION_VERSION
-#define BOOST_DATE_TIME_POSIX_TIME_DURATION_VERSION 1
-#endif
-
-BOOST_CLASS_VERSION(boost::posix_time::time_duration, BOOST_DATE_TIME_POSIX_TIME_DURATION_VERSION)
-
-namespace boost {
-namespace serialization {
-
-
-/*** time_duration ***/
-
-//! Function to save posix_time::time_duration objects using serialization lib
-/*! time_duration objects are broken down into 4 parts for serialization:
- * types are hour_type, min_type, sec_type, and fractional_seconds_type
- * as defined in the time_duration class
- */
-template<class TimeResTraitsSize, class Archive>
-void save_td(Archive& ar, const posix_time::time_duration& td)
-{
- TimeResTraitsSize h = boost::numeric_cast<TimeResTraitsSize>(td.hours());
- TimeResTraitsSize m = boost::numeric_cast<TimeResTraitsSize>(td.minutes());
- TimeResTraitsSize s = boost::numeric_cast<TimeResTraitsSize>(td.seconds());
- posix_time::time_duration::fractional_seconds_type fs = td.fractional_seconds();
- ar & make_nvp("time_duration_hours", h);
- ar & make_nvp("time_duration_minutes", m);
- ar & make_nvp("time_duration_seconds", s);
- ar & make_nvp("time_duration_fractional_seconds", fs);
-}
-
-template<class Archive>
-void save(Archive & ar,
- const posix_time::time_duration& td,
- unsigned int version)
-{
- // serialize a bool so we know how to read this back in later
- bool is_special = td.is_special();
- ar & make_nvp("is_special", is_special);
- if(is_special) {
- std::string s = to_simple_string(td);
- ar & make_nvp("sv_time_duration", s);
- }
- else {
- // Write support for earlier versions allows for upgrade compatibility testing
- // See load comments for version information
- if (version == 0) {
- save_td<int32_t>(ar, td);
- } else {
- save_td<int64_t>(ar, td);
- }
- }
-}
-
-//! Function to load posix_time::time_duration objects using serialization lib
-/*! time_duration objects are broken down into 4 parts for serialization:
- * types are hour_type, min_type, sec_type, and fractional_seconds_type
- * as defined in the time_duration class
- */
-template<class TimeResTraitsSize, class Archive>
-void load_td(Archive& ar, posix_time::time_duration& td)
-{
- TimeResTraitsSize h(0);
- TimeResTraitsSize m(0);
- TimeResTraitsSize s(0);
- posix_time::time_duration::fractional_seconds_type fs(0);
- ar & make_nvp("time_duration_hours", h);
- ar & make_nvp("time_duration_minutes", m);
- ar & make_nvp("time_duration_seconds", s);
- ar & make_nvp("time_duration_fractional_seconds", fs);
- td = posix_time::time_duration(h, m, s, fs);
-}
-
-template<class Archive>
-void load(Archive & ar,
- posix_time::time_duration & td,
- unsigned int version)
-{
- bool is_special = false;
- ar & make_nvp("is_special", is_special);
- if(is_special) {
- std::string s;
- ar & make_nvp("sv_time_duration", s);
- posix_time::special_values sv = gregorian::special_value_from_string(s);
- td = posix_time::time_duration(sv);
- }
- else {
- // Version "0" (Boost 1.65.1 or earlier, which used int32_t for day/hour/minute/second and
- // therefore suffered from the year 2038 issue.)
- // Version "0.5" (Boost 1.66.0 changed to std::time_t but did not increase the version;
- // it was missed in the original change, all code reviews, and there were no
- // static assertions to protect the code; further std::time_t can be 32-bit
- // or 64-bit so it reduced portability. This makes 1.66.0 hard to handle...)
- // Version "1" (Boost 1.67.0 or later uses int64_t and is properly versioned)
-
- // If the size of any of these items changes, a new version is needed.
- BOOST_STATIC_ASSERT(sizeof(posix_time::time_duration::hour_type) == sizeof(boost::int64_t));
- BOOST_STATIC_ASSERT(sizeof(posix_time::time_duration::min_type) == sizeof(boost::int64_t));
- BOOST_STATIC_ASSERT(sizeof(posix_time::time_duration::sec_type) == sizeof(boost::int64_t));
- BOOST_STATIC_ASSERT(sizeof(posix_time::time_duration::fractional_seconds_type) == sizeof(boost::int64_t));
-
- if (version == 0) {
- load_td<int32_t>(ar, td);
- } else {
- load_td<int64_t>(ar, td);
- }
- }
-}
-
-// no load_construct_data function provided as time_duration provides a
-// default constructor
-
-/*** ptime ***/
-
-//! Function to save posix_time::ptime objects using serialization lib
-/*! ptime objects are broken down into 2 parts for serialization:
- * a date object and a time_duration onject
- */
-template<class Archive>
-void save(Archive & ar,
- const posix_time::ptime& pt,
- unsigned int /*version*/)
-{
- // from_iso_string does not include fractional seconds
- // therefore date and time_duration are used
- posix_time::ptime::date_type d = pt.date();
- ar & make_nvp("ptime_date", d);
- if(!pt.is_special()) {
- posix_time::ptime::time_duration_type td = pt.time_of_day();
- ar & make_nvp("ptime_time_duration", td);
- }
-}
-
-//! Function to load posix_time::ptime objects using serialization lib
-/*! ptime objects are broken down into 2 parts for serialization:
- * a date object and a time_duration onject
- */
-template<class Archive>
-void load(Archive & ar,
- posix_time::ptime & pt,
- unsigned int /*version*/)
-{
- // from_iso_string does not include fractional seconds
- // therefore date and time_duration are used
- posix_time::ptime::date_type d(posix_time::not_a_date_time);
- posix_time::ptime::time_duration_type td;
- ar & make_nvp("ptime_date", d);
- if(!d.is_special()) {
- ar & make_nvp("ptime_time_duration", td);
- pt = boost::posix_time::ptime(d,td);
- }
- else {
- pt = boost::posix_time::ptime(d.as_special());
- }
-
-}
-
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- posix_time::ptime* pt,
- const unsigned int /*file_version*/)
-{
- // retrieve data from archive required to construct new
- // invoke inplace constructor to initialize instance of date
- new(pt) boost::posix_time::ptime(boost::posix_time::not_a_date_time);
-}
-
-/*** time_period ***/
-
-//! Function to save posix_time::time_period objects using serialization lib
-/*! time_period objects are broken down into 2 parts for serialization:
- * a begining ptime object and an ending ptime object
- */
-template<class Archive>
-void save(Archive & ar,
- const posix_time::time_period& tp,
- unsigned int /*version*/)
-{
- posix_time::ptime beg(tp.begin().date(), tp.begin().time_of_day());
- posix_time::ptime end(tp.end().date(), tp.end().time_of_day());
- ar & make_nvp("time_period_begin", beg);
- ar & make_nvp("time_period_end", end);
-}
-
-//! Function to load posix_time::time_period objects using serialization lib
-/*! time_period objects are broken down into 2 parts for serialization:
- * a begining ptime object and an ending ptime object
- */
-template<class Archive>
-void load(Archive & ar,
- boost::posix_time::time_period & tp,
- unsigned int /*version*/)
-{
- posix_time::time_duration td(1,0,0);
- gregorian::date d(gregorian::not_a_date_time);
- posix_time::ptime beg(d,td);
- posix_time::ptime end(d,td);
- ar & make_nvp("time_period_begin", beg);
- ar & make_nvp("time_period_end", end);
- tp = boost::posix_time::time_period(beg, end);
-}
-
-//!override needed b/c no default constructor
-template<class Archive>
-inline void load_construct_data(Archive & /*ar*/,
- boost::posix_time::time_period* tp,
- const unsigned int /*file_version*/)
-{
- posix_time::time_duration td(1,0,0);
- gregorian::date d(gregorian::not_a_date_time);
- posix_time::ptime beg(d,td);
- posix_time::ptime end(d,td);
- new(tp) boost::posix_time::time_period(beg,end);
-}
-
-} // namespace serialization
-} // namespace boost
-
-#endif
diff --git a/contrib/restricted/boost/boost/date_time/tz_db_base.hpp b/contrib/restricted/boost/boost/date_time/tz_db_base.hpp
deleted file mode 100644
index 5bf5b8af82..0000000000
--- a/contrib/restricted/boost/boost/date_time/tz_db_base.hpp
+++ /dev/null
@@ -1,398 +0,0 @@
-#ifndef DATE_TIME_TZ_DB_BASE_HPP__
-#define DATE_TIME_TZ_DB_BASE_HPP__
-
-/* Copyright (c) 2003-2005 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <map>
-#include <vector>
-#include <string>
-#include <sstream>
-#include <fstream>
-#include <stdexcept>
-#include <boost/tokenizer.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/time_zone_names.hpp>
-#include <boost/date_time/time_zone_base.hpp>
-#include <boost/date_time/time_parsing.hpp>
-#include <boost/algorithm/string.hpp>
-
-namespace boost {
- namespace date_time {
-
- //! Exception thrown when tz database cannot locate requested data file
- class data_not_accessible : public std::logic_error
- {
- public:
- data_not_accessible() :
- std::logic_error(std::string("Unable to locate or access the required datafile."))
- {}
- data_not_accessible(const std::string& filespec) :
- std::logic_error(std::string("Unable to locate or access the required datafile. Filespec: " + filespec))
- {}
- };
-
- //! Exception thrown when tz database locates incorrect field structure in data file
- class bad_field_count : public std::out_of_range
- {
- public:
- bad_field_count(const std::string& s) :
- std::out_of_range(s)
- {}
- };
-
- //! Creates a database of time_zones from csv datafile
- /*! The csv file containing the zone_specs used by the
- * tz_db_base is intended to be customized by the
- * library user. When customizing this file (or creating your own) the
- * file must follow a specific format.
- *
- * This first line is expected to contain column headings and is therefore
- * not processed by the tz_db_base.
- *
- * Each record (line) must have eleven fields. Some of those fields can
- * be empty. Every field (even empty ones) must be enclosed in
- * double-quotes.
- * Ex:
- * @code
- * "America/Phoenix" <- string enclosed in quotes
- * "" <- empty field
- * @endcode
- *
- * Some fields represent a length of time. The format of these fields
- * must be:
- * @code
- * "{+|-}hh:mm[:ss]" <- length-of-time format
- * @endcode
- * Where the plus or minus is mandatory and the seconds are optional.
- *
- * Since some time zones do not use daylight savings it is not always
- * necessary for every field in a zone_spec to contain a value. All
- * zone_specs must have at least ID and GMT offset. Zones that use
- * daylight savings must have all fields filled except:
- * STD ABBR, STD NAME, DST NAME. You should take note
- * that DST ABBR is mandatory for zones that use daylight savings
- * (see field descriptions for further details).
- *
- * ******* Fields and their description/details *********
- *
- * ID:
- * Contains the identifying string for the zone_spec. Any string will
- * do as long as it's unique. No two ID's can be the same.
- *
- * STD ABBR:
- * STD NAME:
- * DST ABBR:
- * DST NAME:
- * These four are all the names and abbreviations used by the time
- * zone being described. While any string will do in these fields,
- * care should be taken. These fields hold the strings that will be
- * used in the output of many of the local_time classes.
- * Ex:
- * @code
- * time_zone nyc = tz_db.time_zone_from_region("America/New_York");
- * local_time ny_time(date(2004, Aug, 30), IS_DST, nyc);
- * cout << ny_time.to_long_string() << endl;
- * // 2004-Aug-30 00:00:00 Eastern Daylight Time
- * cout << ny_time.to_short_string() << endl;
- * // 2004-Aug-30 00:00:00 EDT
- * @endcode
- *
- * NOTE: The exact format/function names may vary - see local_time
- * documentation for further details.
- *
- * GMT offset:
- * This is the number of hours added to utc to get the local time
- * before any daylight savings adjustments are made. Some examples
- * are: America/New_York offset -5 hours, & Africa/Cairo offset +2 hours.
- * The format must follow the length-of-time format described above.
- *
- * DST adjustment:
- * The amount of time added to gmt_offset when daylight savings is in
- * effect. The format must follow the length-of-time format described
- * above.
- *
- * DST Start Date rule:
- * This is a specially formatted string that describes the day of year
- * in which the transition take place. It holds three fields of it's own,
- * separated by semicolons.
- * The first field indicates the "nth" weekday of the month. The possible
- * values are: 1 (first), 2 (second), 3 (third), 4 (fourth), 5 (fifth),
- * and -1 (last).
- * The second field indicates the day-of-week from 0-6 (Sun=0).
- * The third field indicates the month from 1-12 (Jan=1).
- *
- * Examples are: "-1;5;9"="Last Friday of September",
- * "2;1;3"="Second Monday of March"
- *
- * Start time:
- * Start time is the number of hours past midnight, on the day of the
- * start transition, the transition takes place. More simply put, the
- * time of day the transition is made (in 24 hours format). The format
- * must follow the length-of-time format described above with the
- * exception that it must always be positive.
- *
- * DST End date rule:
- * See DST Start date rule. The difference here is this is the day
- * daylight savings ends (transition to STD).
- *
- * End time:
- * Same as Start time.
- */
- template<class time_zone_type, class rule_type>
- class tz_db_base {
- public:
- /* Having CharT as a template parameter created problems
- * with posix_time::duration_from_string. Templatizing
- * duration_from_string was not possible at this time, however,
- * it should be possible in the future (when poor compilers get
- * fixed or stop being used).
- * Since this class was designed to use CharT as a parameter it
- * is simply typedef'd here to ease converting in back to a
- * parameter the future */
- typedef char char_type;
-
- typedef typename time_zone_type::base_type time_zone_base_type;
- typedef typename time_zone_type::time_duration_type time_duration_type;
- typedef time_zone_names_base<char_type> time_zone_names;
- typedef boost::date_time::dst_adjustment_offsets<time_duration_type> dst_adjustment_offsets;
- typedef std::basic_string<char_type> string_type;
-
- //! Constructs an empty database
- tz_db_base() {}
-
- //! Process csv data file, may throw exceptions
- /*! May throw bad_field_count exceptions */
- void load_from_stream(std::istream &in)
- {
- std::string buff;
- while( std::getline(in, buff)) {
- boost::trim_right(buff);
- parse_string(buff);
- }
- }
-
- //! Process csv data file, may throw exceptions
- /*! May throw data_not_accessible, or bad_field_count exceptions */
- void load_from_file(const std::string& pathspec)
- {
- std::string buff;
-
- std::ifstream ifs(pathspec.c_str());
- if(!ifs){
- boost::throw_exception(data_not_accessible(pathspec));
- }
- std::getline(ifs, buff); // first line is column headings
- this->load_from_stream(ifs);
- }
-
- //! returns true if record successfully added to map
- /*! Takes a region name in the form of "America/Phoenix", and a
- * time_zone object for that region. The id string must be a unique
- * name that does not already exist in the database. */
- bool add_record(const string_type& region,
- boost::shared_ptr<time_zone_base_type> tz)
- {
- typename map_type::value_type p(region, tz);
- return (m_zone_map.insert(p)).second;
- }
-
- //! Returns a time_zone object built from the specs for the given region
- /*! Returns a time_zone object built from the specs for the given
- * region. If region does not exist a local_time::record_not_found
- * exception will be thrown */
- boost::shared_ptr<time_zone_base_type>
- time_zone_from_region(const string_type& region) const
- {
- // get the record
- typename map_type::const_iterator record = m_zone_map.find(region);
- if(record == m_zone_map.end()){
- return boost::shared_ptr<time_zone_base_type>(); //null pointer
- }
- return record->second;
- }
-
- //! Returns a vector of strings holding the time zone regions in the database
- std::vector<std::string> region_list() const
- {
- typedef std::vector<std::string> vector_type;
- vector_type regions;
- typename map_type::const_iterator itr = m_zone_map.begin();
- while(itr != m_zone_map.end()) {
- regions.push_back(itr->first);
- ++itr;
- }
- return regions;
- }
-
- private:
- typedef std::map<string_type, boost::shared_ptr<time_zone_base_type> > map_type;
- map_type m_zone_map;
-
- // start and end rule are of the same type
- typedef typename rule_type::start_rule::week_num week_num;
-
- /* TODO: mechanisms need to be put in place to handle different
- * types of rule specs. parse_rules() only handles nth_kday
- * rule types. */
-
- //! parses rule specs for transition day rules
- rule_type* parse_rules(const string_type& sr, const string_type& er) const
- {
- using namespace gregorian;
- // start and end rule are of the same type,
- // both are included here for readability
- typedef typename rule_type::start_rule start_rule;
- typedef typename rule_type::end_rule end_rule;
-
- // these are: [start|end] nth, day, month
- int s_nth = 0, s_d = 0, s_m = 0;
- int e_nth = 0, e_d = 0, e_m = 0;
- split_rule_spec(s_nth, s_d, s_m, sr);
- split_rule_spec(e_nth, e_d, e_m, er);
-
- typename start_rule::week_num s_wn, e_wn;
- s_wn = get_week_num(s_nth);
- e_wn = get_week_num(e_nth);
-
-
- return new rule_type(start_rule(s_wn,
- static_cast<unsigned short>(s_d),
- static_cast<unsigned short>(s_m)),
- end_rule(e_wn,
- static_cast<unsigned short>(e_d),
- static_cast<unsigned short>(e_m)));
- }
- //! helper function for parse_rules()
- week_num get_week_num(int nth) const
- {
- typedef typename rule_type::start_rule start_rule;
- switch(nth){
- case 1:
- return start_rule::first;
- case 2:
- return start_rule::second;
- case 3:
- return start_rule::third;
- case 4:
- return start_rule::fourth;
- case 5:
- case -1:
- return start_rule::fifth;
- default:
- // shouldn't get here - add error handling later
- break;
- }
- return start_rule::fifth; // silence warnings
- }
-
- //! splits the [start|end]_date_rule string into 3 ints
- void split_rule_spec(int& nth, int& d, int& m, string_type rule) const
- {
- typedef boost::char_separator<char_type, std::char_traits<char_type> > char_separator_type;
- typedef boost::tokenizer<char_separator_type,
- std::basic_string<char_type>::const_iterator,
- std::basic_string<char_type> > tokenizer;
- typedef boost::tokenizer<char_separator_type,
- std::basic_string<char_type>::const_iterator,
- std::basic_string<char_type> >::iterator tokenizer_iterator;
-
- const char_type sep_char[] = { ';', '\0'};
- char_separator_type sep(sep_char);
- tokenizer tokens(rule, sep); // 3 fields
-
- if ( std::distance ( tokens.begin(), tokens.end ()) != 3 ) {
- std::ostringstream msg;
- msg << "Expecting 3 fields, got "
- << std::distance ( tokens.begin(), tokens.end ())
- << " fields in line: " << rule;
- boost::throw_exception(bad_field_count(msg.str()));
- }
-
- tokenizer_iterator tok_iter = tokens.begin();
- nth = std::atoi(tok_iter->c_str()); ++tok_iter;
- d = std::atoi(tok_iter->c_str()); ++tok_iter;
- m = std::atoi(tok_iter->c_str());
- }
-
-
- //! Take a line from the csv, turn it into a time_zone_type.
- /*! Take a line from the csv, turn it into a time_zone_type,
- * and add it to the map. Zone_specs in csv file are expected to
- * have eleven fields that describe the time zone. Returns true if
- * zone_spec successfully added to database */
- bool parse_string(string_type& s)
- {
- std::vector<string_type> result;
- typedef boost::token_iterator_generator<boost::escaped_list_separator<char_type>, string_type::const_iterator, string_type >::type token_iter_type;
-
- token_iter_type i = boost::make_token_iterator<string_type>(s.begin(), s.end(),boost::escaped_list_separator<char_type>());
-
- token_iter_type end;
- while (i != end) {
- result.push_back(*i);
- i++;
- }
-
- enum db_fields { ID, STDABBR, STDNAME, DSTABBR, DSTNAME, GMTOFFSET,
- DSTADJUST, START_DATE_RULE, START_TIME, END_DATE_RULE,
- END_TIME, FIELD_COUNT };
-
- //take a shot at fixing gcc 4.x error
- const unsigned int expected_fields = static_cast<unsigned int>(FIELD_COUNT);
- if (result.size() != expected_fields) {
- std::ostringstream msg;
- msg << "Expecting " << FIELD_COUNT << " fields, got "
- << result.size() << " fields in line: " << s;
- boost::throw_exception(bad_field_count(msg.str()));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return false); // should never reach
- }
-
- // initializations
- bool has_dst = true;
- if(result[DSTABBR] == std::string()){
- has_dst = false;
- }
-
-
- // start building components of a time_zone
- time_zone_names names(result[STDNAME], result[STDABBR],
- result[DSTNAME], result[DSTABBR]);
-
- time_duration_type utc_offset =
- str_from_delimited_time_duration<time_duration_type,char_type>(result[GMTOFFSET]);
-
- dst_adjustment_offsets adjust(time_duration_type(0,0,0),
- time_duration_type(0,0,0),
- time_duration_type(0,0,0));
-
- boost::shared_ptr<rule_type> rules;
-
- if(has_dst){
- adjust = dst_adjustment_offsets(
- str_from_delimited_time_duration<time_duration_type,char_type>(result[DSTADJUST]),
- str_from_delimited_time_duration<time_duration_type,char_type>(result[START_TIME]),
- str_from_delimited_time_duration<time_duration_type,char_type>(result[END_TIME])
- );
-
- rules =
- boost::shared_ptr<rule_type>(parse_rules(result[START_DATE_RULE],
- result[END_DATE_RULE]));
- }
- string_type id(result[ID]);
- boost::shared_ptr<time_zone_base_type> zone(new time_zone_type(names, utc_offset, adjust, rules));
- return (add_record(id, zone));
-
- }
-
- };
-
-} } // namespace
-
-#endif // DATE_TIME_TZ_DB_BASE_HPP__
diff --git a/contrib/restricted/boost/date_time/CMakeLists.txt b/contrib/restricted/boost/date_time/CMakeLists.txt
new file mode 100644
index 0000000000..1f5f95a218
--- /dev/null
+++ b/contrib/restricted/boost/date_time/CMakeLists.txt
@@ -0,0 +1,40 @@
+
+# This file was gererated by the build system used internally in the Yandex monorepo.
+# Only simple modifications are allowed (adding source-files to targets, adding simple properties
+# like target_include_directories). These modifications will be ported to original
+# ya.make files by maintainers. Any complex modifications which can't be ported back to the
+# original buildsystem will not be accepted.
+
+
+
+add_library(restricted-boost-date_time)
+target_compile_options(restricted-boost-date_time PRIVATE
+ -Wno-everything
+)
+target_include_directories(restricted-boost-date_time PUBLIC
+ ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/date_time/include
+)
+target_link_libraries(restricted-boost-date_time PUBLIC
+ contrib-libs-cxxsupp
+ restricted-boost-algorithm
+ restricted-boost-assert
+ restricted-boost-config
+ restricted-boost-core
+ restricted-boost-io
+ restricted-boost-lexical_cast
+ restricted-boost-mpl
+ restricted-boost-numeric_conversion
+ restricted-boost-range
+ restricted-boost-smart_ptr
+ restricted-boost-static_assert
+ restricted-boost-throw_exception
+ restricted-boost-tokenizer
+ restricted-boost-type_traits
+ restricted-boost-utility
+ restricted-boost-winapi
+)
+target_sources(restricted-boost-date_time PRIVATE
+ ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/date_time/src/gregorian/date_generators.cpp
+ ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/date_time/src/gregorian/greg_month.cpp
+ ${CMAKE_SOURCE_DIR}/contrib/restricted/boost/date_time/src/gregorian/greg_weekday.cpp
+)
diff --git a/contrib/restricted/boost/date_time/README.md b/contrib/restricted/boost/date_time/README.md
new file mode 100644
index 0000000000..6cdecf5bfe
--- /dev/null
+++ b/contrib/restricted/boost/date_time/README.md
@@ -0,0 +1,39 @@
+DateTime, part of the collection of [Boost C++ Libraries](http://github.com/boostorg), makes programming with dates and times as simple and natural as programming with strings and integers.
+
+### License
+
+Distributed under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt).
+
+### Properties
+
+* C++03
+* Requires Linking
+
+### Build Status
+
+Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
+:-------------: | ------ | -------- | ------------- | ---------- | ---- | ---- | ----- |
+[`master`](https://github.com/boostorg/date_time/tree/master) | [![Build Status](https://travis-ci.org/boostorg/date_time.svg?branch=master)](https://travis-ci.org/boostorg/date_time) | [![Build status](https://ci.appveyor.com/api/projects/status/upf5c528fy09fudk?svg=true)](https://ci.appveyor.com/project/jeking3/date-time-1evbf) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/14908/badge.svg)](https://scan.coverity.com/projects/boostorg-date_time) | [![codecov](https://codecov.io/gh/boostorg/date_time/branch/master/graph/badge.svg)](https://codecov.io/gh/boostorg/date_time/branch/master) | [![Deps](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/date_time.html) | [![Documentation](https://img.shields.io/badge/docs-master-brightgreen.svg)](http://www.boost.org/doc/libs/master/doc/html/date_time.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/date_time.html)
+[`develop`](https://github.com/boostorg/date_time/tree/develop) | [![Build Status](https://travis-ci.org/boostorg/date_time.svg?branch=develop)](https://travis-ci.org/boostorg/date_time) | [![Build status](https://ci.appveyor.com/api/projects/status/upf5c528fy09fudk/branch/develop?svg=true)](https://ci.appveyor.com/project/boostorg/date_time/branch/develop) | [![Coverity Scan Build Status](https://scan.coverity.com/projects/14908/badge.svg)](https://scan.coverity.com/projects/boostorg-date_time) | [![codecov](https://codecov.io/gh/boostorg/date_time/branch/develop/graph/badge.svg)](https://codecov.io/gh/boostorg/date_time/branch/develop) | [![Deps](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/date_time.html) | [![Documentation](https://img.shields.io/badge/docs-develop-brightgreen.svg)](http://www.boost.org/doc/libs/develop/doc/html/date_time.html) | [![Enter the Matrix](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/date_time.html)
+
+### Directories
+
+| Name | Purpose |
+| --------- | ------------------------------ |
+| `build` | build script for link library |
+| `ci` | continuous integration scripts |
+| `data` | timezone database |
+| `doc` | documentation |
+| `example` | use case examples |
+| `include` | headers |
+| `src` | source code for link library |
+| `test` | unit tests |
+| `xmldoc` | additional documentation |
+
+### More information
+
+* [Ask questions](http://stackoverflow.com/questions/ask?tags=c%2B%2B,boost,boost-date_time): Be sure to read the documentation first to see if it answers your question.
+* [Report bugs](https://github.com/boostorg/date_time/issues): Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
+* [Submit Pull Requests](https://github.com/boostorg/date_time/pulls) against the **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](http://www.boost.org/LICENSE_1_0.txt). Be sure to include tests proving your changes work properly.
+* Discussions about the library are held on the [Boost developers mailing list](http://www.boost.org/community/groups.html#main). Be sure to read the [discussion policy](http://www.boost.org/community/policy.html) before posting and add the `[date_time]` tag at the beginning of the subject line.
+
diff --git a/contrib/restricted/boost/boost/date_time/adjust_functors.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/adjust_functors.hpp
index ec2a707659..ec2a707659 100644
--- a/contrib/restricted/boost/boost/date_time/adjust_functors.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/adjust_functors.hpp
diff --git a/contrib/restricted/boost/boost/date_time/c_time.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/c_time.hpp
index 0b07a1b283..0b07a1b283 100644
--- a/contrib/restricted/boost/boost/date_time/c_time.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/c_time.hpp
diff --git a/contrib/restricted/boost/boost/date_time/compiler_config.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/compiler_config.hpp
index e37d0614a4..e37d0614a4 100644
--- a/contrib/restricted/boost/boost/date_time/compiler_config.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/compiler_config.hpp
diff --git a/contrib/restricted/boost/boost/date_time/constrained_value.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/constrained_value.hpp
index b1122d76d8..b1122d76d8 100644
--- a/contrib/restricted/boost/boost/date_time/constrained_value.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/constrained_value.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date.hpp
index 18333fd3ff..18333fd3ff 100644
--- a/contrib/restricted/boost/boost/date_time/date.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_clock_device.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_clock_device.hpp
index 2145d65fd5..2145d65fd5 100644
--- a/contrib/restricted/boost/boost/date_time/date_clock_device.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_clock_device.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_defs.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_defs.hpp
index 6c80db3a83..6c80db3a83 100644
--- a/contrib/restricted/boost/boost/date_time/date_defs.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_defs.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_duration.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_duration.hpp
index da2824efb6..da2824efb6 100644
--- a/contrib/restricted/boost/boost/date_time/date_duration.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_duration.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_duration_types.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_duration_types.hpp
index 7271d0191a..7271d0191a 100644
--- a/contrib/restricted/boost/boost/date_time/date_duration_types.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_duration_types.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp
index df7d53b6c9..df7d53b6c9 100644
--- a/contrib/restricted/boost/boost/date_time/date_facet.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_format_simple.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp
index 452990379b..452990379b 100644
--- a/contrib/restricted/boost/boost/date_time/date_format_simple.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_formatting.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp
index c1b69a8c79..c1b69a8c79 100644
--- a/contrib/restricted/boost/boost/date_time/date_formatting.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_formatting_limited.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp
index 7c5c1735a3..7c5c1735a3 100644
--- a/contrib/restricted/boost/boost/date_time/date_formatting_limited.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_formatting_locales.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp
index a1daad33ae..a1daad33ae 100644
--- a/contrib/restricted/boost/boost/date_time/date_formatting_locales.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_generator_formatter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp
index 42c396b2c0..42c396b2c0 100644
--- a/contrib/restricted/boost/boost/date_time/date_generator_formatter.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_generator_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp
index f4d7b27a79..f4d7b27a79 100644
--- a/contrib/restricted/boost/boost/date_time/date_generator_parser.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_generators.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_generators.hpp
index 274ce1f06a..274ce1f06a 100644
--- a/contrib/restricted/boost/boost/date_time/date_generators.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_generators.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_iterator.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_iterator.hpp
index 3526ba18b4..3526ba18b4 100644
--- a/contrib/restricted/boost/boost/date_time/date_iterator.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_iterator.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_names_put.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp
index 20da2d2ed0..20da2d2ed0 100644
--- a/contrib/restricted/boost/boost/date_time/date_names_put.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp
diff --git a/contrib/restricted/boost/boost/date_time/date_parsing.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp
index 33c5366027..33c5366027 100644
--- a/contrib/restricted/boost/boost/date_time/date_parsing.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp
diff --git a/contrib/restricted/boost/boost/date_time/dst_rules.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/dst_rules.hpp
index 73a98996d8..73a98996d8 100644
--- a/contrib/restricted/boost/boost/date_time/dst_rules.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/dst_rules.hpp
diff --git a/contrib/restricted/boost/boost/date_time/dst_transition_generators.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp
index 16c1fd6361..16c1fd6361 100644
--- a/contrib/restricted/boost/boost/date_time/dst_transition_generators.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp
diff --git a/contrib/restricted/boost/boost/date_time/filetime_functions.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/filetime_functions.hpp
index f5ef7bfb5e..f5ef7bfb5e 100644
--- a/contrib/restricted/boost/boost/date_time/filetime_functions.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/filetime_functions.hpp
diff --git a/contrib/restricted/boost/boost/date_time/format_date_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp
index 0602e90f3f..0602e90f3f 100644
--- a/contrib/restricted/boost/boost/date_time/format_date_parser.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/conversion.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/conversion.hpp
index c844c4e34b..c844c4e34b 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/conversion.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/conversion.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/formatters.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp
index d486ef0f4c..d486ef0f4c 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/formatters.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/formatters_limited.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp
index 755f5aa68b..755f5aa68b 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/formatters_limited.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_calendar.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_calendar.hpp
index 16e47c1df4..16e47c1df4 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_calendar.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_calendar.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_date.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_date.hpp
index 8979849e23..8979849e23 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_date.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_date.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_day.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_day.hpp
index 014abfbda0..014abfbda0 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_day.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_day.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_day_of_year.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_day_of_year.hpp
index 3f753e1d6a..3f753e1d6a 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_day_of_year.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_day_of_year.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_duration.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_duration.hpp
index c79db881ea..c79db881ea 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_duration.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_duration.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_duration_types.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_duration_types.hpp
index e6611e680c..e6611e680c 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_duration_types.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_duration_types.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp
index 5352df1398..5352df1398 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_facet.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_month.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_month.hpp
index be0f93e13b..be0f93e13b 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_month.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_month.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_weekday.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_weekday.hpp
index 815051ede4..815051ede4 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_weekday.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_weekday.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_year.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_year.hpp
index a278bdaa03..a278bdaa03 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_year.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_year.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/greg_ymd.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_ymd.hpp
index 503666c31d..503666c31d 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/greg_ymd.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_ymd.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/gregorian.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp
index 47d545eccd..47d545eccd 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/gregorian.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/gregorian_io.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp
index 7da718f8a0..71e0c0a5b8 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/gregorian_io.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp
@@ -31,19 +31,19 @@ namespace gregorian {
typedef boost::date_time::period_formatter<wchar_t> wperiod_formatter;
typedef boost::date_time::period_formatter<char> period_formatter;
-
+
typedef boost::date_time::date_facet<date,wchar_t> wdate_facet;
typedef boost::date_time::date_facet<date,char> date_facet;
typedef boost::date_time::period_parser<date,char> period_parser;
typedef boost::date_time::period_parser<date,wchar_t> wperiod_parser;
-
- typedef boost::date_time::special_values_formatter<char> special_values_formatter;
- typedef boost::date_time::special_values_formatter<wchar_t> wspecial_values_formatter;
-
- typedef boost::date_time::special_values_parser<date,char> special_values_parser;
- typedef boost::date_time::special_values_parser<date,wchar_t> wspecial_values_parser;
-
+
+ typedef boost::date_time::special_values_formatter<char> special_values_formatter;
+ typedef boost::date_time::special_values_formatter<wchar_t> wspecial_values_formatter;
+
+ typedef boost::date_time::special_values_parser<date,char> special_values_parser;
+ typedef boost::date_time::special_values_parser<date,wchar_t> wspecial_values_parser;
+
typedef boost::date_time::date_input_facet<date,char> date_input_facet;
typedef boost::date_time::date_input_facet<date,wchar_t> wdate_input_facet;
@@ -57,7 +57,7 @@ namespace gregorian {
std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), d);
else {
//instantiate a custom facet for dealing with dates since the user
- //has not put one in the stream so far. This is for efficiency
+ //has not put one in the stream so far. This is for efficiency
//since we would always need to reconstruct for every date
//if the locale did not already exist. Of course this will be overridden
//if the user imbues at some later point. With the default settings
@@ -94,23 +94,23 @@ namespace gregorian {
f->get(sit, str_end, is, d);
}
}
- catch(...) {
+ catch(...) {
// mask tells us what exceptions are turned on
std::ios_base::iostate exception_mask = is.exceptions();
- // if the user wants exceptions on failbit, we'll rethrow our
+ // if the user wants exceptions on failbit, we'll rethrow our
// date_time exception & set the failbit
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {} // ignore this one
throw; // rethrow original exception
}
else {
// if the user want's to fail quietly, we simply set the failbit
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
- }
+ }
return is;
}
@@ -155,17 +155,17 @@ namespace gregorian {
f->get(sit, str_end, is, dd);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -181,7 +181,7 @@ namespace gregorian {
std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), dp);
else {
//instantiate a custom facet for dealing with date periods since the user
- //has not put one in the stream so far. This is for efficiency
+ //has not put one in the stream so far. This is for efficiency
//since we would always need to reconstruct for every time period
//if the local did not already exist. Of course this will be overridden
//if the user imbues at some later point. With the default settings
@@ -196,14 +196,14 @@ namespace gregorian {
return os;
}
- //! input operator for date_period
+ //! input operator for date_period
template <class CharT, class Traits>
inline
std::basic_istream<CharT, Traits>&
operator>>(std::basic_istream<CharT, Traits>& is, date_period& dp)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -219,24 +219,24 @@ namespace gregorian {
f->get(sit, str_end, is, dp);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
}
/********** small gregorian types **********/
-
+
template <class CharT, class TraitsT>
inline std::basic_ostream<CharT, TraitsT>&
operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::greg_month& gm) {
@@ -262,7 +262,7 @@ namespace gregorian {
operator>>(std::basic_istream<CharT, Traits>& is, greg_month& m)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -278,17 +278,17 @@ namespace gregorian {
f->get(sit, str_end, is, m);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -311,7 +311,7 @@ namespace gregorian {
}
return os;
}
-
+
//! input operator for greg_weekday
template <class CharT, class Traits>
inline
@@ -319,7 +319,7 @@ namespace gregorian {
operator>>(std::basic_istream<CharT, Traits>& is, greg_weekday& wd)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -335,17 +335,17 @@ namespace gregorian {
f->get(sit, str_end, is, wd);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -360,7 +360,7 @@ namespace gregorian {
operator>>(std::basic_istream<CharT, Traits>& is, greg_day& gd)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -376,17 +376,17 @@ namespace gregorian {
f->get(sit, str_end, is, gd);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -401,7 +401,7 @@ namespace gregorian {
operator>>(std::basic_istream<CharT, Traits>& is, greg_year& gy)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -417,24 +417,24 @@ namespace gregorian {
f->get(sit, str_end, is, gy);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
}
/********** date generator types **********/
-
+
template <class CharT, class TraitsT>
inline std::basic_ostream<CharT, TraitsT>&
operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::partial_date& pd) {
@@ -459,7 +459,7 @@ namespace gregorian {
operator>>(std::basic_istream<CharT, Traits>& is, partial_date& pd)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -475,17 +475,17 @@ namespace gregorian {
f->get(sit, str_end, is, pd);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -512,11 +512,11 @@ namespace gregorian {
template <class CharT, class Traits>
inline
std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
+ operator>>(std::basic_istream<CharT, Traits>& is,
nth_day_of_the_week_in_month& nday)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -532,17 +532,17 @@ namespace gregorian {
f->get(sit, str_end, is, nday);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -570,11 +570,11 @@ namespace gregorian {
template <class CharT, class Traits>
inline
std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
+ operator>>(std::basic_istream<CharT, Traits>& is,
first_day_of_the_week_in_month& fkd)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -590,17 +590,17 @@ namespace gregorian {
f->get(sit, str_end, is, fkd);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -628,11 +628,11 @@ namespace gregorian {
template <class CharT, class Traits>
inline
std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
+ operator>>(std::basic_istream<CharT, Traits>& is,
last_day_of_the_week_in_month& lkd)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -648,17 +648,17 @@ namespace gregorian {
f->get(sit, str_end, is, lkd);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -673,7 +673,7 @@ namespace gregorian {
std::ostreambuf_iterator<CharT> output_itr(os);
if (std::has_facet<custom_date_facet>(os.getloc())) {
std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), fda);
- }
+ }
else {
custom_date_facet* f = new custom_date_facet();
std::locale l = std::locale(os.getloc(), f);
@@ -687,11 +687,11 @@ namespace gregorian {
template <class CharT, class Traits>
inline
std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
+ operator>>(std::basic_istream<CharT, Traits>& is,
first_day_of_the_week_after& fka)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -707,17 +707,17 @@ namespace gregorian {
f->get(sit, str_end, is, fka);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
@@ -746,11 +746,11 @@ namespace gregorian {
template <class CharT, class Traits>
inline
std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
+ operator>>(std::basic_istream<CharT, Traits>& is,
first_day_of_the_week_before& fkb)
{
boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+ typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
if (strm_sentry) {
try {
typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
@@ -766,23 +766,23 @@ namespace gregorian {
f->get(sit, str_end, is, fkb);
}
}
- catch(...) {
+ catch(...) {
std::ios_base::iostate exception_mask = is.exceptions();
if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
+ try { is.setstate(std::ios_base::failbit); }
catch(std::ios_base::failure&) {}
throw; // rethrow original exception
}
else {
- is.setstate(std::ios_base::failbit);
- }
-
+ is.setstate(std::ios_base::failbit);
+ }
+
}
}
return is;
}
-
+
} } // namespaces
Y_PRAGMA_DIAGNOSTIC_POP
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/gregorian_types.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_types.hpp
index d50e9cc7d7..d50e9cc7d7 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/gregorian_types.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_types.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian/parsers.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp
index afc6537c3b..afc6537c3b 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian/parsers.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian_calendar.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian_calendar.hpp
index 0478592941..0478592941 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian_calendar.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian_calendar.hpp
diff --git a/contrib/restricted/boost/boost/date_time/gregorian_calendar.ipp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian_calendar.ipp
index 7b43ea8512..7b43ea8512 100644
--- a/contrib/restricted/boost/boost/date_time/gregorian_calendar.ipp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian_calendar.ipp
diff --git a/contrib/restricted/boost/boost/date_time/int_adapter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/int_adapter.hpp
index 6ee7712fab..6ee7712fab 100644
--- a/contrib/restricted/boost/boost/date_time/int_adapter.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/int_adapter.hpp
diff --git a/contrib/restricted/boost/boost/date_time/iso_format.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp
index 2e7942d8ba..2e7942d8ba 100644
--- a/contrib/restricted/boost/boost/date_time/iso_format.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp
diff --git a/contrib/restricted/boost/boost/date_time/local_time/custom_time_zone.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp
index f82d87a7d7..f82d87a7d7 100644
--- a/contrib/restricted/boost/boost/date_time/local_time/custom_time_zone.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp
diff --git a/contrib/restricted/boost/boost/date_time/local_time/date_duration_operators.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp
index e0f170fd7c..e0f170fd7c 100644
--- a/contrib/restricted/boost/boost/date_time/local_time/date_duration_operators.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp
diff --git a/contrib/restricted/boost/boost/date_time/local_time/dst_transition_day_rules.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp
index f372e44a45..f372e44a45 100644
--- a/contrib/restricted/boost/boost/date_time/local_time/dst_transition_day_rules.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp
diff --git a/contrib/restricted/boost/boost/date_time/local_time/local_date_time.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp
index e88a231b54..e88a231b54 100644
--- a/contrib/restricted/boost/boost/date_time/local_time/local_date_time.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp
diff --git a/contrib/restricted/boost/boost/date_time/local_time/local_time_types.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp
index df2d08cb49..df2d08cb49 100644
--- a/contrib/restricted/boost/boost/date_time/local_time/local_time_types.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp
diff --git a/contrib/restricted/boost/boost/date_time/locale_config.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/locale_config.hpp
index 26a928f7bc..26a928f7bc 100644
--- a/contrib/restricted/boost/boost/date_time/locale_config.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/locale_config.hpp
diff --git a/contrib/restricted/boost/boost/date_time/microsec_time_clock.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/microsec_time_clock.hpp
index 42a918b53a..42a918b53a 100644
--- a/contrib/restricted/boost/boost/date_time/microsec_time_clock.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/microsec_time_clock.hpp
diff --git a/contrib/restricted/boost/boost/date_time/parse_format_base.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp
index d4b2f5975b..d4b2f5975b 100644
--- a/contrib/restricted/boost/boost/date_time/parse_format_base.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp
diff --git a/contrib/restricted/boost/boost/date_time/period.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/period.hpp
index 13011af271..13011af271 100644
--- a/contrib/restricted/boost/boost/date_time/period.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/period.hpp
diff --git a/contrib/restricted/boost/boost/date_time/period_formatter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp
index 9610612834..9610612834 100644
--- a/contrib/restricted/boost/boost/date_time/period_formatter.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp
diff --git a/contrib/restricted/boost/boost/date_time/period_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp
index fe390d7e27..fe390d7e27 100644
--- a/contrib/restricted/boost/boost/date_time/period_parser.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/conversion.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/conversion.hpp
index cdff4b76fd..cdff4b76fd 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/conversion.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/conversion.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/date_duration_operators.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/date_duration_operators.hpp
index f3c61d7a95..f3c61d7a95 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/date_duration_operators.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/date_duration_operators.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp
index aecf8a818d..aecf8a818d 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_config.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_config.hpp
index 996afcae59..996afcae59 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_config.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_config.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_duration.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_duration.hpp
index c7ec57e8aa..c7ec57e8aa 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_duration.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_duration.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_io.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp
index 659253b825..33ae20b0e7 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_io.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp
@@ -54,7 +54,7 @@ namespace posix_time {
std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
else {
//instantiate a custom facet for dealing with times since the user
- //has not put one in the stream so far. This is for efficiency
+ //has not put one in the stream so far. This is for efficiency
//since we would always need to reconstruct for every time period
//if the locale did not already exist. Of course this will be overridden
//if the user imbues as some later point.
@@ -104,7 +104,7 @@ namespace posix_time {
catch(...) {
// mask tells us what exceptions are turned on
std::ios_base::iostate exception_mask = is.exceptions();
- // if the user wants exceptions on failbit, we'll rethrow our
+ // if the user wants exceptions on failbit, we'll rethrow our
// date_time exception & set the failbit
if(std::ios_base::failbit & exception_mask) {
try { is.setstate(std::ios_base::failbit); }
@@ -122,7 +122,7 @@ namespace posix_time {
template <class CharT, class TraitsT>
- inline
+ inline
std::basic_ostream<CharT, TraitsT>&
operator<<(std::basic_ostream<CharT, TraitsT>& os,
const boost::posix_time::time_period& p) {
@@ -134,7 +134,7 @@ namespace posix_time {
}
else {
//instantiate a custom facet for dealing with periods since the user
- //has not put one in the stream so far. This is for efficiency
+ //has not put one in the stream so far. This is for efficiency
//since we would always need to reconstruct for every time period
//if the local did not already exist. Of course this will be overridden
//if the user imbues as some later point.
@@ -197,7 +197,7 @@ namespace posix_time {
}
- //! ostream operator for posix_time::time_duration
+ //! ostream operator for posix_time::time_duration
// todo fix to use facet -- place holder for now...
template <class CharT, class Traits>
inline
@@ -211,7 +211,7 @@ namespace posix_time {
std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), td);
else {
//instantiate a custom facet for dealing with times since the user
- //has not put one in the stream so far. This is for efficiency
+ //has not put one in the stream so far. This is for efficiency
//since we would always need to reconstruct for every time period
//if the locale did not already exist. Of course this will be overridden
//if the user imbues as some later point.
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_legacy_io.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp
index b31fb98723..b31fb98723 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_legacy_io.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_system.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_system.hpp
index 84c21ca00f..84c21ca00f 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_system.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_system.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_types.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_types.hpp
index f2488f8bed..f2488f8bed 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/posix_time_types.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_types.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/ptime.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/ptime.hpp
index 99e5663830..2b26d06827 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/ptime.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/ptime.hpp
@@ -54,6 +54,7 @@ namespace posix_time {
ptime() : date_time::base_time<time_type,time_system_type>(gregorian::date(not_a_date_time), time_duration_type(not_a_date_time))
{}
#endif // DATE_TIME_NO_DEFAULT_CONSTRUCTOR
+
using base = date_time::base_time<ptime, posix_time_system>;
using base::operator==;
};
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/time_formatters.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp
index ce19568228..ce19568228 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/time_formatters.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/time_formatters_limited.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp
index c74fcfa0b0..c74fcfa0b0 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/time_formatters_limited.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/time_parsers.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp
index 24f20704aa..24f20704aa 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/time_parsers.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp
diff --git a/contrib/restricted/boost/boost/date_time/posix_time/time_period.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_period.hpp
index 7c6095b896..7c6095b896 100644
--- a/contrib/restricted/boost/boost/date_time/posix_time/time_period.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_period.hpp
diff --git a/contrib/restricted/boost/boost/date_time/special_defs.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/special_defs.hpp
index 5a757be103..5a757be103 100644
--- a/contrib/restricted/boost/boost/date_time/special_defs.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/special_defs.hpp
diff --git a/contrib/restricted/boost/boost/date_time/special_values_formatter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp
index c8653c1f48..c8653c1f48 100644
--- a/contrib/restricted/boost/boost/date_time/special_values_formatter.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp
diff --git a/contrib/restricted/boost/boost/date_time/special_values_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp
index b0813cbdbc..b0813cbdbc 100644
--- a/contrib/restricted/boost/boost/date_time/special_values_parser.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp
diff --git a/contrib/restricted/boost/boost/date_time/string_convert.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp
index 30be3567a5..30be3567a5 100644
--- a/contrib/restricted/boost/boost/date_time/string_convert.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp
diff --git a/contrib/restricted/boost/boost/date_time/string_parse_tree.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp
index a241e8553c..a241e8553c 100644
--- a/contrib/restricted/boost/boost/date_time/string_parse_tree.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp
diff --git a/contrib/restricted/boost/boost/date_time/strings_from_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp
index 800919a0b5..800919a0b5 100644
--- a/contrib/restricted/boost/boost/date_time/strings_from_facet.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time.hpp
index 632f10d7f2..632f10d7f2 100644
--- a/contrib/restricted/boost/boost/date_time/time.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_clock.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_clock.hpp
index a64a5b81b9..a64a5b81b9 100644
--- a/contrib/restricted/boost/boost/date_time/time_clock.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_clock.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_defs.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_defs.hpp
index 852207e685..852207e685 100644
--- a/contrib/restricted/boost/boost/date_time/time_defs.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_defs.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_duration.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_duration.hpp
index 8f88363960..8f88363960 100644
--- a/contrib/restricted/boost/boost/date_time/time_duration.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_duration.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp
index 1e07093ffc..1e07093ffc 100644
--- a/contrib/restricted/boost/boost/date_time/time_facet.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_formatting_streams.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp
index f69f87a348..f69f87a348 100644
--- a/contrib/restricted/boost/boost/date_time/time_formatting_streams.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_iterator.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_iterator.hpp
index 64439363d7..64439363d7 100644
--- a/contrib/restricted/boost/boost/date_time/time_iterator.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_iterator.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_parsing.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp
index 66ca455e9e..66ca455e9e 100644
--- a/contrib/restricted/boost/boost/date_time/time_parsing.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_resolution_traits.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_resolution_traits.hpp
index b622488005..b622488005 100644
--- a/contrib/restricted/boost/boost/date_time/time_resolution_traits.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_resolution_traits.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_system_counted.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_system_counted.hpp
index af27aad36e..af27aad36e 100644
--- a/contrib/restricted/boost/boost/date_time/time_system_counted.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_system_counted.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_system_split.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_system_split.hpp
index 8e1efbe4ca..8e1efbe4ca 100644
--- a/contrib/restricted/boost/boost/date_time/time_system_split.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_system_split.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_zone_base.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp
index a788429073..a788429073 100644
--- a/contrib/restricted/boost/boost/date_time/time_zone_base.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp
diff --git a/contrib/restricted/boost/boost/date_time/time_zone_names.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp
index 405e7e0a70..405e7e0a70 100644
--- a/contrib/restricted/boost/boost/date_time/time_zone_names.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp
diff --git a/contrib/restricted/boost/boost/date_time/wrapping_int.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/wrapping_int.hpp
index 6f869d3023..6f869d3023 100644
--- a/contrib/restricted/boost/boost/date_time/wrapping_int.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/wrapping_int.hpp
diff --git a/contrib/restricted/boost/boost/date_time/year_month_day.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/year_month_day.hpp
index 6355ab2711..6355ab2711 100644
--- a/contrib/restricted/boost/boost/date_time/year_month_day.hpp
+++ b/contrib/restricted/boost/date_time/include/boost/date_time/year_month_day.hpp
diff --git a/contrib/restricted/boost/libs/date_time/src/gregorian/date_generators.cpp b/contrib/restricted/boost/date_time/src/gregorian/date_generators.cpp
index 32a58c1792..32a58c1792 100644
--- a/contrib/restricted/boost/libs/date_time/src/gregorian/date_generators.cpp
+++ b/contrib/restricted/boost/date_time/src/gregorian/date_generators.cpp
diff --git a/contrib/restricted/boost/libs/date_time/src/gregorian/greg_month.cpp b/contrib/restricted/boost/date_time/src/gregorian/greg_month.cpp
index 8232378c0d..8232378c0d 100644
--- a/contrib/restricted/boost/libs/date_time/src/gregorian/greg_month.cpp
+++ b/contrib/restricted/boost/date_time/src/gregorian/greg_month.cpp
diff --git a/contrib/restricted/boost/libs/date_time/src/gregorian/greg_names.hpp b/contrib/restricted/boost/date_time/src/gregorian/greg_names.hpp
index f20b320d17..f20b320d17 100644
--- a/contrib/restricted/boost/libs/date_time/src/gregorian/greg_names.hpp
+++ b/contrib/restricted/boost/date_time/src/gregorian/greg_names.hpp
diff --git a/contrib/restricted/boost/libs/date_time/src/gregorian/greg_weekday.cpp b/contrib/restricted/boost/date_time/src/gregorian/greg_weekday.cpp
index ffdc96f8eb..ffdc96f8eb 100644
--- a/contrib/restricted/boost/libs/date_time/src/gregorian/greg_weekday.cpp
+++ b/contrib/restricted/boost/date_time/src/gregorian/greg_weekday.cpp
diff --git a/contrib/restricted/boost/libs/thread/CMakeLists.darwin.txt b/contrib/restricted/boost/libs/thread/CMakeLists.darwin.txt
index ed8bce3e20..71463e5380 100644
--- a/contrib/restricted/boost/libs/thread/CMakeLists.darwin.txt
+++ b/contrib/restricted/boost/libs/thread/CMakeLists.darwin.txt
@@ -35,6 +35,7 @@ target_link_libraries(boost-libs-thread PUBLIC
contrib-restricted-boost
restricted-boost-atomic
restricted-boost-container
+ restricted-boost-date_time
restricted-boost-exception
restricted-boost-chrono
restricted-boost-system
diff --git a/contrib/restricted/boost/libs/thread/CMakeLists.linux.txt b/contrib/restricted/boost/libs/thread/CMakeLists.linux.txt
index 596e1d42e5..c097ffbbcd 100644
--- a/contrib/restricted/boost/libs/thread/CMakeLists.linux.txt
+++ b/contrib/restricted/boost/libs/thread/CMakeLists.linux.txt
@@ -34,6 +34,7 @@ target_link_libraries(boost-libs-thread PUBLIC
contrib-restricted-boost
restricted-boost-atomic
restricted-boost-container
+ restricted-boost-date_time
restricted-boost-exception
restricted-boost-chrono
restricted-boost-system