25 #ifndef LSST_DAF_BASE_DATETIME_H 26 #define LSST_DAF_BASE_DATETIME_H 55 namespace serialization {
187 struct timespec timespec(
Timescale scale) const;
197 struct timeval timeval(
Timescale scale) const;
202 bool isValid()
const {
return _nsecs != DateTime::invalid_nsecs; };
204 bool operator==(
DateTime const& rhs)
const;
223 static void initializeLeapSeconds(
std::string const& leapString);
229 void _assertValid()
const {
269 void setNsecsFromMjd(
double mjd,
Timescale scale);
278 void setNsecsFromJd(
double jd,
Timescale scale);
287 void setNsecsFromEpoch(
double epoch,
Timescale scale);
289 friend class boost::serialization::access;
297 template <
class Archive>
298 void serialize(Archive ar,
int const version) {
Class for handling dates/times, including MJD, UTC, and TAI.
size_t operator()(argument_type const &obj) const noexcept
def scale(algorithm, min, max=None, frame=None)
std::size_t hash_value(Extent< T, N > const &extent) noexcept
A base class for image defects.
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
bool isValid() const
Is this date valid?
#define LSST_EXPORT
Make a symbol visible even if visiblity is hidden (e.g.
Reports errors that are due to events beyond the control of the program.