Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JDATABASE::JDateAndTimeUS_t Struct Reference

Date and time. More...

#include <JDate_t.hh>

Inheritance diagram for JDATABASE::JDateAndTimeUS_t:
JDATABASE::JDateAndTime_t JEEP::JDate< JSeparator_t > JEEP::JTime< JSeparator_t > JLANG::JMultiComparable< JClass_t, JTypelist_t > JLANG::JComparable< JFirst_t, JSecond_t > JLANG::JComparable< JFirst_t, JSecond_t >

Public Member Functions

 JDateAndTimeUS_t ()
 Default constructor;.
 
bool less (const JDate &date) const
 Less-than method.
 
bool less (const JTime &time) const
 Less-than method.
 

Static Public Member Functions

static JDate min ()
 Minimal date.
 
static JTime min ()
 Minimal time.
 
static JDate max ()
 Maximal date.
 
static JTime max ()
 Maximal time.
 

Public Attributes

int year
 year
 
int month
 month
 
int day
 day
 
int hour
 hour
 
int minute
 minute
 
int second
 second
 

Static Public Attributes

static const char SEPARATOR = '-'
 Separation character.
 

Static Protected Member Functions

template<class JHead_t , class JTail_t >
static bool lt (const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JTail_t > > &type)
 Less than method for composite data types.
 
template<class JHead_t >
static bool lt (const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JNullType > > &type)
 Less than method for composite data types.
 

Friends

std::istream & operator>> (std::istream &in, JDateAndTimeUS_t &object)
 Read date and time from input stream.
 

Detailed Description

Date and time.

Definition at line 89 of file JDate_t.hh.

Constructor & Destructor Documentation

◆ JDateAndTimeUS_t()

JDATABASE::JDateAndTimeUS_t::JDateAndTimeUS_t ( )
inline

Default constructor;.

Definition at line 95 of file JDate_t.hh.

96 {}

Member Function Documentation

◆ min() [1/2]

template<char JSeparator_t>
static JDate JEEP::JDate< JSeparator_t >::min ( )
inlinestaticinherited

Minimal date.

Definition at line 86 of file JDate.hh.

◆ min() [2/2]

template<char JSeparator_t>
static JTime JEEP::JTime< JSeparator_t >::min ( )
inlinestaticinherited

Minimal time.

Definition at line 86 of file Jeep/JTime.hh.

◆ max() [1/2]

template<char JSeparator_t>
static JDate JEEP::JDate< JSeparator_t >::max ( )
inlinestaticinherited

Maximal date.

Definition at line 87 of file JDate.hh.

◆ max() [2/2]

template<char JSeparator_t>
static JTime JEEP::JTime< JSeparator_t >::max ( )
inlinestaticinherited

Maximal time.

Definition at line 87 of file Jeep/JTime.hh.

◆ less() [1/2]

template<char JSeparator_t>
bool JEEP::JDate< JSeparator_t >::less ( const JDate< JSeparator_t > & date) const
inlineinherited

Less-than method.

Parameters
datedate
Returns
true if this date earlier than given date; else false

Definition at line 96 of file JDate.hh.

97 {
98 if (this->year == date.year) {
99
100 if (this->month == date.month)
101 return this->day < date.day;
102 else
103 return this->month < date.month;
104
105 } else {
106
107 return this->year < date.year;
108 }
109 }
int year
year
Definition JDate.hh:153
int month
month
Definition JDate.hh:154
int day
day
Definition JDate.hh:155

◆ less() [2/2]

template<char JSeparator_t>
bool JEEP::JTime< JSeparator_t >::less ( const JTime< JSeparator_t > & time) const
inlineinherited

Less-than method.

Parameters
timetime
Returns
true if this time earlier than given time; else false

Definition at line 96 of file Jeep/JTime.hh.

97 {
98 if (this->hour == time.hour) {
99
100 if (this->minute == time.minute)
101 return this->second < time.second;
102 else
103 return this->minute < time.minute;
104
105 } else {
106
107 return this->hour < time.hour;
108 }
109 }
int second
second
int minute
minute
int hour
hour

◆ lt() [1/2]

template<class JClass_t , class JTypelist_t >
template<class JHead_t , class JTail_t >
static bool JLANG::JMultiComparable< JClass_t, JTypelist_t >::lt ( const JClass_t & first,
const JClass_t & second,
const JType< JTypeList< JHead_t, JTail_t > > & type )
inlinestaticprotectedinherited

Less than method for composite data types.

Parameters
firstfirst object
secondsecond object
typetype
Returns
true if first object is less than second object; else false

Definition at line 43 of file JMultiComparable.hh.

46 {
47 if (static_cast<const JHead_t&>(first) <
48 static_cast<const JHead_t&>(second))
49 return true;
50 else if (static_cast<const JHead_t&>(second) <
51 static_cast<const JHead_t&>(first))
52 return false;
53 else
54 return lt(first, second, JType<JTail_t>());
55 }
static bool lt(const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JTail_t > > &type)
Less than method for composite data types.

◆ lt() [2/2]

template<class JClass_t , class JTypelist_t >
template<class JHead_t >
static bool JLANG::JMultiComparable< JClass_t, JTypelist_t >::lt ( const JClass_t & first,
const JClass_t & second,
const JType< JTypeList< JHead_t, JNullType > > & type )
inlinestaticprotectedinherited

Less than method for composite data types.

Parameters
firstfirst object
secondsecond object
typetype
Returns
true if first object is less than second object; else false

Definition at line 67 of file JMultiComparable.hh.

70 {
71 return (static_cast<const JHead_t&>(first) <
72 static_cast<const JHead_t&>(second));
73 }

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream & in,
JDateAndTimeUS_t & object )
friend

Read date and time from input stream.

Parameters
ininput stream
objectdate and time
Returns
input stream

Definition at line 106 of file JDate_t.hh.

107 {
108 using namespace std;
109 using namespace JPP;
110
111 object = JDateAndTimeUS_t();
112
113 while (isspace(in.peek())) { in.ignore(); }
114
115 const locale loc = in.imbue(locale(in.getloc(), new JWhiteSpacesFacet(in.getloc(), JDate_t::SEPARATOR)));
116
117 in >> object.month >> object.day >> object.year;
118
119 if (in.get() == (int) ' ') {
120
121 in.imbue(locale(in.getloc(), new JWhiteSpacesFacet(in.getloc(), JTime_t::SEPARATOR)));
122
123 in >> object.hour >> object.minute >> object.second;
124
125 if (in.get() == (int) ' ') {
126
127 string key;
128
129 in >> key;
130
131 if (key == "am" || key == "AM") {}
132 if (key == "pm" || key == "PM") { object.hour += 12; }
133 }
134 }
135
136 in.imbue(loc);
137
138 return in;
139 }
Auxiliary class to specify white space character(s) in currect locale.
char * loc(char *orig)
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JDateAndTimeUS_t()
Default constructor;.
Definition JDate_t.hh:95
static const char SEPARATOR
Separation character.
Definition JDate.hh:44
static const char SEPARATOR
Separation character.
Definition Jeep/JTime.hh:44

Member Data Documentation

◆ SEPARATOR

const char JDATABASE::JDateAndTime_t::SEPARATOR = '-'
staticinherited

Separation character.

Definition at line 39 of file JDate_t.hh.

◆ year

template<char JSeparator_t>
int JEEP::JDate< JSeparator_t >::year
inherited

year

Definition at line 153 of file JDate.hh.

◆ month

template<char JSeparator_t>
int JEEP::JDate< JSeparator_t >::month
inherited

month

Definition at line 154 of file JDate.hh.

◆ day

template<char JSeparator_t>
int JEEP::JDate< JSeparator_t >::day
inherited

day

Definition at line 155 of file JDate.hh.

◆ hour

template<char JSeparator_t>
int JEEP::JTime< JSeparator_t >::hour
inherited

hour

Definition at line 153 of file Jeep/JTime.hh.

◆ minute

template<char JSeparator_t>
int JEEP::JTime< JSeparator_t >::minute
inherited

minute

Definition at line 154 of file Jeep/JTime.hh.

◆ second

template<char JSeparator_t>
int JEEP::JTime< JSeparator_t >::second
inherited

second

Definition at line 155 of file Jeep/JTime.hh.


The documentation for this struct was generated from the following file: