ANNA Suite  2020b
Multipurpose development suite for Telco applications
TimeStamp.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7 
8 
9 #ifndef anna_dbms_TimeStamp_hpp
10 #define anna_dbms_TimeStamp_hpp
11 
12 #include <anna/dbms/Date.hpp>
13 
14 namespace anna {
15 
16 namespace dbms {
17 
25 class TimeStamp : public Date {
26 public:
133  explicit TimeStamp(const bool isNulleable = false, const char* format = NULL) :
134  Date(Data::Type::TimeStamp, isNulleable, format),
135  a_fractionalSecond(0)
136  {;}
137 
142  int getFractionalSecond() const { return a_fractionalSecond; }
143 
148  void setFractionalSecond(const int fsec) { a_fractionalSecond = fsec; }
149 
155  virtual const char* getCStringValue() const ;
156 
163  TimeStamp& operator = (const TimeStamp& timeStamp) noexcept(false) {
164  Date::operator= (timeStamp);
165  a_fractionalSecond = timeStamp.a_fractionalSecond;
166  return *this;
167  }
168 
175  TimeStamp& operator = (const Date& date) noexcept(false) { Date::operator= (date); a_fractionalSecond = 0; return *this; }
176 
177 private:
178  char a_anotherBuffer [MaxDateSize + 1];
179  int a_fractionalSecond;
180 
181  void do_clear() { a_fractionalSecond = 0; a_anotherBuffer [0] = 0; }
182 };
183 
184 }
185 }
186 
187 #endif
188 
static const int MaxDateSize
Definition: Date.hpp:50
Definition: Date.hpp:45
Definition: Data.hpp:29
Definition: Data.hpp:27
Definition: TimeStamp.hpp:25
TimeStamp & operator=(const TimeStamp &timeStamp) noexcept(false)
Definition: TimeStamp.hpp:163
Date & operator=(const Date &date) noexcept(false)
Definition: app.hpp:12
TimeStamp(const bool isNulleable=false, const char *format=NULL)
Definition: TimeStamp.hpp:133
bool isNulleable() const
Definition: Data.hpp:68
virtual const char * getCStringValue() const
int getFractionalSecond() const
Definition: TimeStamp.hpp:142
void setFractionalSecond(const int fsec)
Definition: TimeStamp.hpp:148