Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::Interval Class Reference

#include <duckdb.hpp>

Static Public Member Functions

static bool FromString (const string &str, interval_t &result)
 Convert a string to an interval object.
 
static bool FromCString (const char *str, idx_t len, interval_t &result, string *error_message, bool strict)
 Convert a string to an interval object.
 
static string ToString (const interval_t &val)
 Convert an interval object to a string.
 
static DUCKDB_API interval_t FromMicro (int64_t micros)
 Convert milliseconds to a normalised interval.
 
static int64_t GetMilli (const interval_t &val)
 Get Interval in milliseconds.
 
static bool TryGetMicro (const interval_t &val, int64_t &micros)
 Get Interval in microseconds.
 
static int64_t GetMicro (const interval_t &val)
 
static int64_t GetNanoseconds (const interval_t &val)
 Get Interval in Nanoseconds.
 
static interval_t GetAge (timestamp_t timestamp_1, timestamp_t timestamp_2)
 Returns the age between two timestamps (including months)
 
static interval_t GetAge (TimestampComponents ts1, TimestampComponents ts2, bool is_negative)
 Returns the age between two timestamp components.
 
static interval_t GetDifference (timestamp_t timestamp_1, timestamp_t timestamp_2)
 Returns the exact difference between two timestamps (days and seconds)
 
static interval_t Invert (interval_t interval)
 Returns the inverted interval.
 
static date_t Add (date_t left, interval_t right)
 Add an interval to a date.
 
static timestamp_t Add (timestamp_t left, interval_t right)
 Add an interval to a timestamp.
 
static dtime_t Add (dtime_t left, interval_t right, date_t &date)
 
static dtime_tz_t Add (dtime_tz_t left, interval_t right, date_t &date)
 
static bool Equals (const interval_t &left, const interval_t &right)
 Comparison operators.
 
static bool GreaterThan (const interval_t &left, const interval_t &right)
 

Static Public Attributes

static constexpr const int32_t MONTHS_PER_MILLENIUM = 12000
 
static constexpr const int32_t MONTHS_PER_CENTURY = 1200
 
static constexpr const int32_t MONTHS_PER_DECADE = 120
 
static constexpr const int32_t MONTHS_PER_YEAR = 12
 
static constexpr const int32_t MONTHS_PER_QUARTER = 3
 
static constexpr const int32_t DAYS_PER_WEEK = 7
 
static constexpr const int64_t DAYS_PER_MONTH = 30
 only used for interval comparison/ordering purposes, in which case a month counts as 30 days
 
static constexpr const int64_t DAYS_PER_YEAR = 365
 
static constexpr const int64_t MSECS_PER_SEC = 1000
 
static constexpr const int32_t SECS_PER_MINUTE = 60
 
static constexpr const int32_t MINS_PER_HOUR = 60
 
static constexpr const int32_t HOURS_PER_DAY = 24
 
static constexpr const int32_t SECS_PER_HOUR = SECS_PER_MINUTE * MINS_PER_HOUR
 
static constexpr const int32_t SECS_PER_DAY = SECS_PER_HOUR * HOURS_PER_DAY
 
static constexpr const int32_t SECS_PER_WEEK = SECS_PER_DAY * DAYS_PER_WEEK
 
static constexpr const int64_t MICROS_PER_MSEC = 1000
 
static constexpr const int64_t MICROS_PER_SEC = MICROS_PER_MSEC * MSECS_PER_SEC
 
static constexpr const int64_t MICROS_PER_MINUTE = MICROS_PER_SEC * SECS_PER_MINUTE
 
static constexpr const int64_t MICROS_PER_HOUR = MICROS_PER_MINUTE * MINS_PER_HOUR
 
static constexpr const int64_t MICROS_PER_DAY = MICROS_PER_HOUR * HOURS_PER_DAY
 
static constexpr const int64_t MICROS_PER_WEEK = MICROS_PER_DAY * DAYS_PER_WEEK
 
static constexpr const int64_t MICROS_PER_MONTH = MICROS_PER_DAY * DAYS_PER_MONTH
 
static constexpr const int64_t NANOS_PER_MICRO = 1000
 
static constexpr const int64_t NANOS_PER_MSEC = NANOS_PER_MICRO * MICROS_PER_MSEC
 
static constexpr const int64_t NANOS_PER_SEC = NANOS_PER_MSEC * MSECS_PER_SEC
 
static constexpr const int64_t NANOS_PER_MINUTE = NANOS_PER_SEC * SECS_PER_MINUTE
 
static constexpr const int64_t NANOS_PER_HOUR = NANOS_PER_MINUTE * MINS_PER_HOUR
 
static constexpr const int64_t NANOS_PER_DAY = NANOS_PER_HOUR * HOURS_PER_DAY
 
static constexpr const int64_t NANOS_PER_WEEK = NANOS_PER_DAY * DAYS_PER_WEEK
 

Detailed Description

The Interval class is a static class that holds helper functions for the Interval type.

Member Function Documentation

◆ Add()

static dtime_t duckdb::Interval::Add ( dtime_t  left,
interval_t  right,
date_t date 
)
static

Add an interval to a time. In case the time overflows or underflows, modify the date by the overflow. For example if we go from 23:00 to 02:00, we add a day to the date

◆ Equals()

static bool duckdb::Interval::Equals ( const interval_t left,
const interval_t right 
)
inlinestatic

Comparison operators.

5326 {
5327 return left == right;
5328 }

◆ GreaterThan()

static bool duckdb::Interval::GreaterThan ( const interval_t left,
const interval_t right 
)
inlinestatic
5329 {
5330 return left > right;
5331 }

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