diff options
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/chrono/io/ios_base_state.hpp')
-rw-r--r-- | src/third_party/boost-1.56.0/boost/chrono/io/ios_base_state.hpp | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/src/third_party/boost-1.56.0/boost/chrono/io/ios_base_state.hpp b/src/third_party/boost-1.56.0/boost/chrono/io/ios_base_state.hpp deleted file mode 100644 index 6e320a56788..00000000000 --- a/src/third_party/boost-1.56.0/boost/chrono/io/ios_base_state.hpp +++ /dev/null @@ -1,151 +0,0 @@ -// (C) Copyright 2011 Vicente J. Botet Escriba -// Use, modification and distribution are subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt). -// -// This code was adapted by Vicente from Howard Hinnant's experimental work -// on chrono i/o to Boost - -#ifndef BOOST_CHRONO_IO_IOS_BASE_STATE_HPP -#define BOOST_CHRONO_IO_IOS_BASE_STATE_HPP - -#include <boost/chrono/config.hpp> -#include <locale> -#include <boost/chrono/io/duration_style.hpp> -#include <boost/chrono/io/timezone.hpp> -#include <boost/chrono/io/utility/ios_base_state_ptr.hpp> - -namespace boost -{ - namespace chrono - { - - class fmt_masks : public ios_flags<fmt_masks> - { - typedef ios_flags<fmt_masks> base_type; - fmt_masks& operator=(fmt_masks const& rhs) ; - - public: - fmt_masks(std::ios_base& ios): base_type(ios) {} - enum type - { - uses_symbol = 1 << 0, - uses_local = 1 << 1 - }; - - inline duration_style get_duration_style() - { - return (flags() & uses_symbol) ? duration_style::symbol : duration_style::prefix; - } - inline void set_duration_style(duration_style style) - { - if (style == duration_style::symbol) - setf(uses_symbol); - else - unsetf(uses_symbol); - } - - inline timezone get_timezone() - { - return (flags() & uses_local) ? timezone::local : timezone::utc; - } - inline void set_timezone(timezone tz) - { - if (tz == timezone::local) - setf(uses_local); - else - unsetf(uses_local); - } - }; - namespace detail - { - namespace /**/ { - xalloc_key_initializer<fmt_masks > fmt_masks_xalloc_key_initializer; - } // namespace - } // namespace detail - - inline duration_style get_duration_style(std::ios_base & ios) - { - return fmt_masks(ios).get_duration_style(); - } - inline void set_duration_style(std::ios_base& ios, duration_style style) - { - fmt_masks(ios).set_duration_style(style); - } - inline std::ios_base& symbol_format(std::ios_base& ios) - { - fmt_masks(ios).setf(fmt_masks::uses_symbol); - return ios; - } - inline std::ios_base& name_format(std::ios_base& ios) - { - fmt_masks(ios).unsetf(fmt_masks::uses_symbol); - return ios; - } - - inline timezone get_timezone(std::ios_base & ios) - { - return fmt_masks(ios).get_timezone(); - } - inline void set_timezone(std::ios_base& ios, timezone tz) - { - fmt_masks(ios).set_timezone(tz); - } - inline std::ios_base& local_timezone(std::ios_base& ios) - { - fmt_masks(ios).setf(fmt_masks::uses_local); - return ios; - } - - inline std::ios_base& utc_timezone(std::ios_base& ios) - { - fmt_masks(ios).unsetf(fmt_masks::uses_local); - return ios; - } - - namespace detail - { - - template<typename CharT> - struct ios_base_data_aux - { - std::basic_string<CharT> time_fmt; - std::basic_string<CharT> duration_fmt; - public: - - ios_base_data_aux() : - time_fmt(""), - duration_fmt("") - { - } - }; - template<typename CharT> - struct ios_base_data {}; - namespace /**/ { - xalloc_key_initializer<detail::ios_base_data<char> > ios_base_data_aux_xalloc_key_initializer; - xalloc_key_initializer<detail::ios_base_data<wchar_t> > wios_base_data_aux_xalloc_key_initializer; -#if BOOST_CHRONO_HAS_UNICODE_SUPPORT - xalloc_key_initializer<detail::ios_base_data<char16_t> > u16ios_base_data_aux_xalloc_key_initializer; - xalloc_key_initializer<detail::ios_base_data<char32_t> > u32ios_base_data_aux_xalloc_key_initializer; -#endif - } // namespace - } // namespace detail - - template<typename CharT> - inline std::basic_string<CharT> get_time_fmt(std::ios_base & ios) - { - ios_state_not_null_ptr<detail::ios_base_data<CharT>, detail::ios_base_data_aux<CharT> > ptr(ios); - return ptr->time_fmt; - } - template<typename CharT> - inline void set_time_fmt(std::ios_base& ios, std::basic_string< - CharT> const& fmt) - { - ios_state_not_null_ptr<detail::ios_base_data<CharT>, detail::ios_base_data_aux<CharT> > ptr(ios); - ptr->time_fmt = fmt; - } - - } // chrono -} // boost - -#endif // header |