iso_format.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 304 行
HPP
304 行
#ifndef ISO_FORMAT_HPP___#define ISO_FORMAT_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 or http://www.boost.org/LICENSE-1.0) * Author: Jeff Garland, Bart Garst * $Date: 2004/11/20 10:36:26 $ */#include "boost/date_time/parse_format_base.hpp"namespace boost {namespace date_time {//! Class to provide common iso formatting spectemplate<class charT>class iso_format_base {public: //! Describe month format -- its an integer in iso format static month_format_spec month_format() { return month_as_integer; } //! String used printed is date is invalid static const charT* not_a_date() { return "not-a-date-time"; } //! String used to for positive infinity value static const charT* pos_infinity() { return "+infinity"; } //! String used to for positive infinity value static const charT* neg_infinity() { return "-infinity"; } //! ISO char for a year -- used in durations static charT year_sep_char() { return 'Y'; } //! ISO char for a month static charT month_sep_char() { return '-'; } //! ISO char for a day static charT day_sep_char() { return '-'; } //! char for minute static charT hour_sep_char() { return ':'; } //! char for minute static charT minute_sep_char() { return ':'; } //! char for second static charT second_sep_char() { return ':'; } //! ISO char for a period static charT period_start_char() { return 'P'; } //! Used in time in mixed strings to set start of time static charT time_start_char() { return 'T'; } //! Used in mixed strings to identify start of a week number static charT week_start_char() { return 'W'; } //! Separators for periods static charT period_sep_char() { return '/'; } //! Separator for hh:mm:ss static charT time_sep_char() { return ':'; } //! Preferred Separator for hh:mm:ss,decimal_fraction static charT fractional_time_sep_char() { return ','; } static bool is_component_sep(charT sep) { switch(sep) { case 'H': case 'M': case 'S': case 'W': case 'T': case 'Y': case 'D':return true; default: return false; } } static bool is_fractional_time_sep(charT sep) { switch(sep) { case ',': case '.': return true; default: return false; } } static bool is_timezone_sep(charT sep) { switch(sep) { case '+': case '-': return true; default: return false; } } static charT element_sep_char() { return '-'; }};#ifndef BOOST_NO_STD_WSTRING//! Class to provide common iso formatting spectemplate<>class iso_format_base<wchar_t> {public: //! Describe month format -- its an integer in iso format static month_format_spec month_format() { return month_as_integer; } //! String used printed is date is invalid static const wchar_t* not_a_date() { return L"not-a-date-time"; } //! String used to for positive infinity value static const wchar_t* pos_infinity() { return L"+infinity"; } //! String used to for positive infinity value static const wchar_t* neg_infinity() { return L"-infinity"; } //! ISO char for a year -- used in durations static wchar_t year_sep_char() { return 'Y'; } //! ISO char for a month static wchar_t month_sep_char() { return '-'; } //! ISO char for a day static wchar_t day_sep_char() { return '-'; } //! char for minute static wchar_t hour_sep_char() { return ':'; } //! char for minute static wchar_t minute_sep_char() { return ':'; } //! char for second static wchar_t second_sep_char() { return ':'; } //! ISO char for a period static wchar_t period_start_char() { return 'P'; } //! Used in time in mixed strings to set start of time static wchar_t time_start_char() { return 'T'; } //! Used in mixed strings to identify start of a week number static wchar_t week_start_char() { return 'W'; } //! Separators for periods static wchar_t period_sep_char() { return '/'; } //! Separator for hh:mm:ss static wchar_t time_sep_char() { return ':'; } //! Preferred Separator for hh:mm:ss,decimal_fraction static wchar_t fractional_time_sep_char() { return ','; } static bool is_component_sep(wchar_t sep) { switch(sep) { case 'H': case 'M': case 'S': case 'W': case 'T': case 'Y': case 'D':return true; default: return false; } } static bool is_fractional_time_sep(wchar_t sep) { switch(sep) { case ',': case '.': return true; default: return false; } } static bool is_timezone_sep(wchar_t sep) { switch(sep) { case '+': case '-': return true; default: return false; } } static wchar_t element_sep_char() { return '-'; }};#endif // BOOST_NO_STD_WSTRING//! Format description for iso normal YYYYMMDDtemplate<class charT>class iso_format : public iso_format_base<charT> {public: //! The ios standard format doesn't use char separators static bool has_date_sep_chars() { return false; }};//! Extended format uses seperators YYYY-MM-DDtemplate<class charT>class iso_extended_format : public iso_format_base<charT> {public: //! Extended format needs char separators static bool has_date_sep_chars() { return true; }};} } //namespace date_time#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?