boost/date_time/time_zone_names.hpp
#ifndef DATE_TIME_TIME_ZONE_NAMES_HPP__
#define DATE_TIME_TIME_ZONE_NAMES_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
* $Date: 2004/09/02 04:16:18 $
*/
#include <string>
namespace boost {
namespace date_time {
//! Base type that holds various string names for timezone output.
/*! Class that holds various types of strings used for timezones.
* For example, for the western United States there is the full
* name: Pacific Standard Time and the abbreviated name: PST.
* During daylight savings there are additional names:
* Pacific Daylight Time and PDT.
*@parm CharT Allows class to support different character types
*/
template<class CharT = char>
class time_zone_names_base
{
public:
typedef std::basic_string<CharT> string_type;
time_zone_names_base(const string_type& std_zone_name,
const string_type& std_zone_abbrev,
const string_type& dst_zone_name,
const string_type& dst_zone_abbrev) :
std_zone_name_(std_zone_name),
std_zone_abbrev_(std_zone_abbrev),
dst_zone_name_(dst_zone_name),
dst_zone_abbrev_(dst_zone_abbrev)
{}
string_type dst_zone_abbrev() const
{
return dst_zone_abbrev_;
}
string_type std_zone_abbrev() const
{
return std_zone_abbrev_;
}
string_type dst_zone_name() const
{
return dst_zone_name_;
}
string_type std_zone_name() const
{
return std_zone_name_;
}
private:
string_type std_zone_name_;
string_type std_zone_abbrev_;
string_type dst_zone_name_;
string_type dst_zone_abbrev_;
};
//! Specialization of timezone names for standard char.
typedef time_zone_names_base<char> time_zone_names;
} } //namespace
#endif