Lightweight 0.1.0
Loading...
Searching...
No Matches
SqlDateTime Struct Reference

#include <SqlDateTime.hpp>

Public Types

using native_type = std::chrono::system_clock::time_point
 
using duration_type = std::chrono::system_clock::duration
 

Public Member Functions

constexpr SqlDateTime (SqlDateTime &&) noexcept=default
 
constexpr SqlDateTimeoperator= (SqlDateTime &&) noexcept=default
 
constexpr SqlDateTime (SqlDateTime const &) noexcept=default
 
constexpr SqlDateTimeoperator= (SqlDateTime const &other) noexcept=default
 
constexpr std::weak_ordering operator<=> (SqlDateTime const &other) const noexcept
 
constexpr bool operator== (SqlDateTime const &other) const noexcept
 
constexpr bool operator!= (SqlDateTime const &other) const noexcept
 
LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime (std::chrono::year_month_day ymd, std::chrono::hh_mm_ss< duration_type > time) noexcept
 Constructs a date and time from individual components.
 
LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime (std::chrono::year year, std::chrono::month month, std::chrono::day day, std::chrono::hours hour, std::chrono::minutes minute, std::chrono::seconds second, std::chrono::nanoseconds nanosecond=std::chrono::nanoseconds(0)) noexcept
 Constructs a date and time from individual components.
 
LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime (std::chrono::system_clock::time_point value) noexcept
 Constructs a date and time from a time point.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::year year () const noexcept
 Returns the year of this date-time object.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::month month () const noexcept
 Returns the month of this date-time object.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::day day () const noexcept
 Returns the day of this date-time object.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::hours hour () const noexcept
 Returns the hour of this date-time object.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::minutes minute () const noexcept
 Returns the minute of this date-time object.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::seconds second () const noexcept
 Returns the second of this date-time object.
 
constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::nanoseconds nanosecond () const noexcept
 Returns the nanosecond of this date-time object.
 
LIGHTWEIGHT_FORCE_INLINE constexpr operator native_type () const noexcept
 
constexpr LIGHTWEIGHT_FORCE_INLINE native_type value () const noexcept
 Returns the current date and time.
 
LIGHTWEIGHT_FORCE_INLINE SqlDateTimeoperator+= (duration_type duration) noexcept
 
LIGHTWEIGHT_FORCE_INLINE SqlDateTimeoperator-= (duration_type duration) noexcept
 

Static Public Member Functions

static LIGHTWEIGHT_FORCE_INLINE SqlDateTime Now () noexcept
 Returns the current date and time.
 
static LIGHTWEIGHT_FORCE_INLINE SQL_TIMESTAMP_STRUCT constexpr ConvertToSqlValue (native_type value) noexcept
 
static LIGHTWEIGHT_FORCE_INLINE SQL_TIMESTAMP_STRUCT constexpr ConvertToSqlValue (std::chrono::year_month_day ymd, std::chrono::hh_mm_ss< duration_type > hms) noexcept
 
static LIGHTWEIGHT_FORCE_INLINE native_type constexpr ConvertToNative (SQL_TIMESTAMP_STRUCT const &time) noexcept
 

Public Attributes

SQL_TIMESTAMP_STRUCT sqlValue {}
 

Detailed Description

Represents a date and time to efficiently write to or read from a database.

See also
SqlDate, SqlTime

Definition at line 20 of file SqlDateTime.hpp.

Member Typedef Documentation

◆ native_type

using SqlDateTime::native_type = std::chrono::system_clock::time_point

Definition at line 22 of file SqlDateTime.hpp.

◆ duration_type

using SqlDateTime::duration_type = std::chrono::system_clock::duration

Definition at line 23 of file SqlDateTime.hpp.

Constructor & Destructor Documentation

◆ SqlDateTime() [1/3]

LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime::SqlDateTime ( std::chrono::year_month_day  ymd,
std::chrono::hh_mm_ss< duration_type >  time 
)
inlineconstexprnoexcept

Constructs a date and time from individual components.

Definition at line 53 of file SqlDateTime.hpp.

◆ SqlDateTime() [2/3]

LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime::SqlDateTime ( std::chrono::year  year,
std::chrono::month  month,
std::chrono::day  day,
std::chrono::hours  hour,
std::chrono::minutes  minute,
std::chrono::seconds  second,
std::chrono::nanoseconds  nanosecond = std::chrono::nanoseconds(0) 
)
inlineconstexprnoexcept

Constructs a date and time from individual components.

Definition at line 69 of file SqlDateTime.hpp.

References day(), hour(), minute(), month(), nanosecond(), second(), and year().

◆ SqlDateTime() [3/3]

LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime::SqlDateTime ( std::chrono::system_clock::time_point  value)
inlineconstexprnoexcept

Constructs a date and time from a time point.

Definition at line 90 of file SqlDateTime.hpp.

References value().

Member Function Documentation

◆ Now()

static LIGHTWEIGHT_FORCE_INLINE SqlDateTime SqlDateTime::Now ( )
inlinestaticnoexcept

Returns the current date and time.

Definition at line 26 of file SqlDateTime.hpp.

◆ operator<=>()

constexpr std::weak_ordering SqlDateTime::operator<=> ( SqlDateTime const &  other) const
inlineconstexprnoexcept

Definition at line 38 of file SqlDateTime.hpp.

◆ operator==()

constexpr bool SqlDateTime::operator== ( SqlDateTime const &  other) const
inlineconstexprnoexcept

Definition at line 42 of file SqlDateTime.hpp.

◆ operator!=()

constexpr bool SqlDateTime::operator!= ( SqlDateTime const &  other) const
inlineconstexprnoexcept

Definition at line 47 of file SqlDateTime.hpp.

◆ year()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::year SqlDateTime::year ( ) const
inlineconstexprnoexcept

Returns the year of this date-time object.

Definition at line 96 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ month()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::month SqlDateTime::month ( ) const
inlineconstexprnoexcept

Returns the month of this date-time object.

Definition at line 102 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ day()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::day SqlDateTime::day ( ) const
inlineconstexprnoexcept

Returns the day of this date-time object.

Definition at line 108 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ hour()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::hours SqlDateTime::hour ( ) const
inlineconstexprnoexcept

Returns the hour of this date-time object.

Definition at line 114 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ minute()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::minutes SqlDateTime::minute ( ) const
inlineconstexprnoexcept

Returns the minute of this date-time object.

Definition at line 120 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ second()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::seconds SqlDateTime::second ( ) const
inlineconstexprnoexcept

Returns the second of this date-time object.

Definition at line 126 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ nanosecond()

constexpr LIGHTWEIGHT_FORCE_INLINE std::chrono::nanoseconds SqlDateTime::nanosecond ( ) const
inlineconstexprnoexcept

Returns the nanosecond of this date-time object.

Definition at line 132 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ operator native_type()

LIGHTWEIGHT_FORCE_INLINE constexpr SqlDateTime::operator native_type ( ) const
inlineconstexprnoexcept

Definition at line 137 of file SqlDateTime.hpp.

◆ ConvertToSqlValue() [1/2]

static LIGHTWEIGHT_FORCE_INLINE SQL_TIMESTAMP_STRUCT constexpr SqlDateTime::ConvertToSqlValue ( native_type  value)
inlinestaticconstexprnoexcept

Definition at line 142 of file SqlDateTime.hpp.

◆ ConvertToSqlValue() [2/2]

static LIGHTWEIGHT_FORCE_INLINE SQL_TIMESTAMP_STRUCT constexpr SqlDateTime::ConvertToSqlValue ( std::chrono::year_month_day  ymd,
std::chrono::hh_mm_ss< duration_type >  hms 
)
inlinestaticconstexprnoexcept

Definition at line 152 of file SqlDateTime.hpp.

◆ ConvertToNative()

static LIGHTWEIGHT_FORCE_INLINE native_type constexpr SqlDateTime::ConvertToNative ( SQL_TIMESTAMP_STRUCT const &  time)
inlinestaticconstexprnoexcept

Definition at line 169 of file SqlDateTime.hpp.

◆ value()

constexpr LIGHTWEIGHT_FORCE_INLINE native_type SqlDateTime::value ( ) const
inlineconstexprnoexcept

Returns the current date and time.

Definition at line 187 of file SqlDateTime.hpp.

Referenced by SqlDateTime().

◆ operator+=()

LIGHTWEIGHT_FORCE_INLINE SqlDateTime & SqlDateTime::operator+= ( duration_type  duration)
inlinenoexcept

Definition at line 192 of file SqlDateTime.hpp.

◆ operator-=()

LIGHTWEIGHT_FORCE_INLINE SqlDateTime & SqlDateTime::operator-= ( duration_type  duration)
inlinenoexcept

Definition at line 198 of file SqlDateTime.hpp.

Member Data Documentation

◆ sqlValue

SQL_TIMESTAMP_STRUCT SqlDateTime::sqlValue {}

Definition at line 216 of file SqlDateTime.hpp.


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