Drizzled Public API Documentation

drizzled::Temporal Class Reference

#include <temporal.h>

Inheritance diagram for drizzled::Temporal:
drizzled::Date drizzled::Time drizzled::DateTime drizzled::Timestamp drizzled::MicroTimestamp drizzled::NanoTimestamp

List of all members.

Public Member Functions

enum calendar calendar () const
void set_nseconds (const uint32_t nsecond)
uint32_t nseconds () const
void set_useconds (const uint32_t usecond)
uint32_t useconds () const
void set_epoch_seconds ()
void set_epoch_seconds (const uint32_t epoch_second)
time_t epoch_seconds () const
void set_seconds (const uint32_t second)
uint32_t seconds () const
void set_minutes (const uint32_t minute)
uint32_t minutes () const
void set_hours (const uint32_t hour)
uint32_t hours () const
void set_days (const uint32_t day)
uint32_t days () const
void set_months (const uint32_t month)
uint32_t months () const
void set_years (const uint32_t year)
uint32_t years () const
bool overflow () const
virtual bool is_valid_date () const =0
virtual bool is_valid_datetime () const =0
virtual bool is_valid_time () const =0
virtual bool is_valid_timestamp () const =0
virtual bool is_valid () const =0

Protected Member Functions

uint64_t _cumulative_seconds_in_time () const
void _reset ()

Protected Attributes

enum calendar _calendar
uint32_t _years
uint32_t _months
uint32_t _days
uint32_t _hours
uint32_t _minutes
uint32_t _seconds
time_t _epoch_seconds
uint32_t _useconds
uint32_t _nseconds
bool _overflow

Friends

class TemporalFormat

Detailed Description

Base class for all temporal data classes.

Definition at line 92 of file temporal.h.


Member Function Documentation

uint64_t drizzled::Temporal::_cumulative_seconds_in_time ( ) const [protected]
void drizzled::Temporal::_reset ( ) [inline, protected]

Resets all temporal components to zero

Definition at line 110 of file temporal.h.

enum calendar drizzled::Temporal::calendar ( ) const [inline]

Returns the calendar component.

Definition at line 121 of file temporal.h.

time_t drizzled::Temporal::epoch_seconds ( ) const [inline]

Returns the UNIX epoch seconds component.

Definition at line 139 of file temporal.h.

uint32_t drizzled::Temporal::hours ( ) const [inline]
virtual bool drizzled::Temporal::is_valid ( ) const [pure virtual]

Returns whether the temporal value is valid. Each subclass defines what is valid for the range of temporal data it contains.

Implemented in drizzled::Date, drizzled::Time, drizzled::DateTime, drizzled::Timestamp, drizzled::MicroTimestamp, and drizzled::NanoTimestamp.

virtual bool drizzled::Temporal::is_valid_date ( ) const [pure virtual]

Returns whether the temporal value is valid as a date.

Implemented in drizzled::Date, and drizzled::Time.

virtual bool drizzled::Temporal::is_valid_datetime ( ) const [pure virtual]

Returns whether the temporal value is valid as a datetime.

Implemented in drizzled::Date, and drizzled::Time.

virtual bool drizzled::Temporal::is_valid_time ( ) const [pure virtual]

Returns whether the temporal value is valid as a time.

Implemented in drizzled::Date, and drizzled::Time.

virtual bool drizzled::Temporal::is_valid_timestamp ( ) const [pure virtual]

Returns whether the temporal value is valid as a UNIX timestamp.

Implemented in drizzled::Date, drizzled::Time, and drizzled::Timestamp.

uint32_t drizzled::Temporal::minutes ( ) const [inline]
uint32_t drizzled::Temporal::nseconds ( ) const [inline]

Returns the nanoseconds component.

Definition at line 125 of file temporal.h.

Referenced by drizzled::Item_func_to_days::val_int_endpoint().

bool drizzled::Temporal::overflow ( ) const [inline]

Returns whether the overflow flag was set (which can occur during an overloaded operator's execution)

Definition at line 166 of file temporal.h.

References _overflow.

uint32_t drizzled::Temporal::seconds ( ) const [inline]
void drizzled::Temporal::set_days ( const uint32_t  day) [inline]
void drizzled::Temporal::set_epoch_seconds ( const uint32_t  epoch_second) [inline]

Sets the epch_seconds component manually.

Definition at line 136 of file temporal.h.

void drizzled::Temporal::set_epoch_seconds ( )

Sets the epoch_seconds component automatically, based on the temporal's components.

Definition at line 123 of file temporal.cc.

References drizzled::in_unix_epoch_range().

Referenced by drizzled::DateTime::from_int64_t(), drizzled::DateTime::from_string(), drizzled::Date::from_string(), drizzled::Date::from_tm(), and drizzled::Item_func_unix_timestamp::val_int().

void drizzled::Temporal::set_hours ( const uint32_t  hour) [inline]

Sets the hours component.

Definition at line 149 of file temporal.h.

Referenced by drizzled::Field_datetime::store_time(), and drizzled::Item_func_unix_timestamp::val_int().

void drizzled::Temporal::set_minutes ( const uint32_t  minute) [inline]

Sets the days component.

Definition at line 145 of file temporal.h.

Referenced by drizzled::Field_datetime::store_time(), and drizzled::Item_func_unix_timestamp::val_int().

void drizzled::Temporal::set_months ( const uint32_t  month) [inline]
void drizzled::Temporal::set_nseconds ( const uint32_t  nsecond) [inline]

Sets the nseconds component.

Definition at line 123 of file temporal.h.

void drizzled::Temporal::set_seconds ( const uint32_t  second) [inline]

Sets the seconds component.

Definition at line 141 of file temporal.h.

Referenced by drizzled::Field_datetime::store_time(), and drizzled::Item_func_unix_timestamp::val_int().

void drizzled::Temporal::set_useconds ( const uint32_t  usecond) [inline]

Sets the useconds component.

Definition at line 127 of file temporal.h.

void drizzled::Temporal::set_years ( const uint32_t  year) [inline]
uint32_t drizzled::Temporal::useconds ( ) const [inline]

Friends And Related Function Documentation

friend class TemporalFormat [friend]

All Temporal derived classes must implement conversion routines for converting to and from a string. Subclasses implement other conversion routines, but should always follow these notes:

1) Ensure that ALL from_xxx methods call is_valid() 2) Ensure that ALL to_xxx methods are void returns and do not call is_valid()

This minimizes the repeated bounds-checking to just the conversion from_xxx routines.

Definition at line 197 of file temporal.h.


Member Data Documentation

Set on some operator overloads. Indicates that an overflow occurred.

Definition at line 106 of file temporal.h.

Referenced by overflow().


The documentation for this class was generated from the following files: