Google Cloud Spanner C++ Client
1.32.0
A C++ Client Library for Google Cloud Spanner
|
A representation of the Spanner TIMESTAMP type: An instant in time. More...
#include <google/cloud/spanner/timestamp.h>
Public Member Functions | |
Timestamp () | |
Default construction yields 1970-01-01T00:00:00Z. More... | |
Regular value type, supporting copy, assign, move. | |
Timestamp (Timestamp &&)=default | |
Timestamp & | operator= (Timestamp &&)=default |
Timestamp (Timestamp const &)=default | |
Timestamp & | operator= (Timestamp const &)=default |
Friends | |
Relational operators | |
bool | operator== (Timestamp const &a, Timestamp const &b) |
bool | operator!= (Timestamp const &a, Timestamp const &b) |
bool | operator< (Timestamp const &a, Timestamp const &b) |
bool | operator<= (Timestamp const &a, Timestamp const &b) |
bool | operator>= (Timestamp const &a, Timestamp const &b) |
bool | operator> (Timestamp const &a, Timestamp const &b) |
Output streaming | |
template<typename T > | |
StatusOr< T > | get () const |
Convert the Timestamp to the user-specified template type. More... | |
std::ostream & | operator<< (std::ostream &os, Timestamp ts) |
Convert the Timestamp to the user-specified template type. More... | |
StatusOr< Timestamp > | MakeTimestamp (absl::Time) |
Construct a Timestamp from an absl::Time . More... | |
A representation of the Spanner TIMESTAMP type: An instant in time.
A Timestamp
represents an absolute point in time (i.e., is independent of any time zone), with at least nanosecond precision, and with a range of 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z, inclusive.
The MakeTimestamp(src)
factory function(s) should be used to construct Timestamp
values from standard representations of absolute time.
A Timestamp
can be converted back to a standard representation using ts.get<T>()
.
Definition at line 54 of file timestamp.h.
|
inline |
Default construction yields 1970-01-01T00:00:00Z.
Definition at line 57 of file timestamp.h.
|
default |
|
default |
|
inline |
Convert the Timestamp
to the user-specified template type.
Fails if *this
cannot be represented as a T
.
Supported destination types are:
absl::Time
- Since absl::Time
can represent all possible Timestamp
values, get<absl::Time>()
never returns an error.google::protobuf::Timestamp
- Never returns an error, but any sub-nanosecond precision will be lost.google::cloud::spanner::sys_time<Duration>
- Duration::rep
may not be wider than std::int64_t
, and Duration::period
may be no more precise than std::nano
.Definition at line 114 of file timestamp.h.
|
friend |
Construct a Timestamp
from an absl::Time
.
May produce out-of-range errors if the given time is beyond the range supported by Timestamp
(see class comments above).
Definition at line 67 of file timestamp.cc.
Definition at line 72 of file timestamp.h.
Definition at line 75 of file timestamp.h.
|
friend |
Convert the Timestamp
to the user-specified template type.
Fails if *this
cannot be represented as a T
.
Supported destination types are:
absl::Time
- Since absl::Time
can represent all possible Timestamp
values, get<absl::Time>()
never returns an error.google::protobuf::Timestamp
- Never returns an error, but any sub-nanosecond precision will be lost.google::cloud::spanner::sys_time<Duration>
- Duration::rep
may not be wider than std::int64_t
, and Duration::period
may be no more precise than std::nano
.Definition at line 83 of file timestamp.cc.
Definition at line 78 of file timestamp.h.
Definition at line 69 of file timestamp.h.
Definition at line 84 of file timestamp.h.
Definition at line 81 of file timestamp.h.