added:
Date(const char * str); Date(const wchar_t * str); Date(const std::string & str); Date(const std::wstring & str); Date & operator=(const char * str); Date & operator=(const wchar_t * str); Date & operator=(const std::string & str); Date & operator=(const std::wstring & str); void Swap(Date&); removed: templates cctors and operators= it is better to have directly char*, wchar_t and string, wstring git-svn-id: svn://ttmath.org/publicrep/pikotools/trunk@414 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
27cde22774
commit
03bac5721d
|
@ -62,12 +62,44 @@ Date::Date(time_t t)
|
|||
FromTime(t);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Date::Date(const tm & t)
|
||||
{
|
||||
FromTm(t);
|
||||
}
|
||||
|
||||
|
||||
Date::Date(const char * str)
|
||||
{
|
||||
// parsing can be break in the middle of the string (if errors)
|
||||
// and some values would not be initialized
|
||||
Clear();
|
||||
Parse(str);
|
||||
}
|
||||
|
||||
|
||||
Date::Date(const wchar_t * str)
|
||||
{
|
||||
Clear();
|
||||
Parse(str);
|
||||
}
|
||||
|
||||
|
||||
Date::Date(const std::string & str)
|
||||
{
|
||||
Clear();
|
||||
Parse(str);
|
||||
}
|
||||
|
||||
|
||||
Date::Date(const std::wstring & str)
|
||||
{
|
||||
Clear();
|
||||
Parse(str);
|
||||
}
|
||||
|
||||
|
||||
Date & Date::operator=(const Date & d)
|
||||
{
|
||||
year = d.year;
|
||||
|
@ -89,6 +121,8 @@ return *this;
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Date & Date::operator=(const tm & t)
|
||||
{
|
||||
FromTm(t);
|
||||
|
@ -97,6 +131,41 @@ return *this;
|
|||
}
|
||||
|
||||
|
||||
Date & Date::operator=(const char * str)
|
||||
{
|
||||
Parse(str);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Date & Date::operator=(const wchar_t * str)
|
||||
{
|
||||
Parse(str);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Date & Date::operator=(const std::string & str)
|
||||
{
|
||||
Parse(str);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Date & Date::operator=(const std::wstring & str)
|
||||
{
|
||||
Parse(str);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Date Date::operator+(time_t t) const
|
||||
{
|
||||
time_t t0 = ToTime();
|
||||
|
@ -133,6 +202,15 @@ return *this;
|
|||
}
|
||||
|
||||
|
||||
void Date::Swap(Date & date)
|
||||
{
|
||||
Date temp(*this);
|
||||
|
||||
*this = date;
|
||||
date = temp;
|
||||
}
|
||||
|
||||
|
||||
time_t Date::operator-(const Date & d) const
|
||||
{
|
||||
time_t t0 = ToTime();
|
||||
|
|
54
date/date.h
54
date/date.h
|
@ -39,6 +39,7 @@
|
|||
#define headerfile_picotools_mainparser_mainparser
|
||||
|
||||
#include <ctime>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
||||
|
@ -86,14 +87,19 @@ public:
|
|||
Date(const Date & d);
|
||||
Date(time_t t);
|
||||
Date(const tm & t);
|
||||
template<class CStringType> Date(const CStringType * str);
|
||||
template<class StringType> Date(const StringType & str);
|
||||
Date(const char * str);
|
||||
Date(const wchar_t * str);
|
||||
Date(const std::string & str);
|
||||
Date(const std::wstring & str);
|
||||
|
||||
Date & operator=(const Date & d);
|
||||
Date & operator=(time_t t);
|
||||
Date & operator=(const tm & t);
|
||||
template<class CStringType> Date & operator=(const CStringType * str);
|
||||
template<class StringType> Date & operator=(const StringType & str);
|
||||
Date & operator=(const char * str);
|
||||
Date & operator=(const wchar_t * str);
|
||||
Date & operator=(const std::string & str);
|
||||
Date & operator=(const std::wstring & str);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
@ -105,6 +111,12 @@ public:
|
|||
Date & operator-=(time_t t);
|
||||
|
||||
|
||||
/*
|
||||
swapping the contents of *this with date
|
||||
*/
|
||||
void Swap(Date & date);
|
||||
|
||||
|
||||
/*
|
||||
converts time_t in seconds (from the Unix Epoch) to this object
|
||||
*/
|
||||
|
@ -456,40 +468,6 @@ private:
|
|||
|
||||
|
||||
|
||||
template<class CStringType>
|
||||
Date::Date(const CStringType * str)
|
||||
{
|
||||
// parsing can be break in the middle of the string (if errors)
|
||||
// and some values would not be initialized
|
||||
Clear();
|
||||
Parse(str);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
Date::Date(const StringType & str)
|
||||
{
|
||||
Clear();
|
||||
Parse(str);
|
||||
}
|
||||
|
||||
|
||||
template<class CStringType>
|
||||
Date & Date::operator=(const CStringType * str)
|
||||
{
|
||||
Parse(str);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
Date & Date::operator=(const StringType & str)
|
||||
{
|
||||
Parse(str);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue