#ifndef POSIX_PTIME_HPP___ | |
#define POSIX_PTIME_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: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $ | |
*/ | |
#include "boost/date_time/posix_time/posix_time_system.hpp" | |
#include "boost/date_time/time.hpp" | |
namespace boost { | |
namespace posix_time { | |
//bring special enum values into the namespace | |
using date_time::special_values; | |
using date_time::not_special; | |
using date_time::neg_infin; | |
using date_time::pos_infin; | |
using date_time::not_a_date_time; | |
using date_time::max_date_time; | |
using date_time::min_date_time; | |
//! Time type with no timezone or other adjustments | |
/*! \ingroup time_basics | |
*/ | |
class ptime : public date_time::base_time<ptime, posix_time_system> | |
{ | |
public: | |
typedef posix_time_system time_system_type; | |
typedef time_system_type::time_rep_type time_rep_type; | |
typedef time_system_type::time_duration_type time_duration_type; | |
typedef ptime time_type; | |
//! Construct with date and offset in day | |
ptime(gregorian::date d,time_duration_type td) : date_time::base_time<time_type,time_system_type>(d,td) | |
{} | |
//! Construct a time at start of the given day (midnight) | |
explicit ptime(gregorian::date d) : date_time::base_time<time_type,time_system_type>(d,time_duration_type(0,0,0)) | |
{} | |
//! Copy from time_rep | |
ptime(const time_rep_type& rhs): | |
date_time::base_time<time_type,time_system_type>(rhs) | |
{} | |
//! Construct from special value | |
ptime(const special_values sv) : date_time::base_time<time_type,time_system_type>(sv) | |
{} | |
#if !defined(DATE_TIME_NO_DEFAULT_CONSTRUCTOR) | |
// Default constructor constructs to not_a_date_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 | |
}; | |
} }//namespace posix_time | |
#endif | |