Go to the documentation of this file.
16 #ifndef GRAPHSCOPE_TYPES_H_
17 #define GRAPHSCOPE_TYPES_H_
26 #include <boost/date_time/posix_time/posix_time.hpp>
28 #include "grape/serialization/in_archive.h"
29 #include "grape/serialization/out_archive.h"
31 #include <yaml-cpp/yaml.h>
35 inline bool operator<(
const EmptyType& lhs,
const EmptyType& rhs) {
50 static constexpr
const char*
DT_BOOL =
"DT_BOOL";
51 static constexpr
const char*
DT_FLOAT =
"DT_FLOAT";
52 static constexpr
const char*
DT_DOUBLE =
"DT_DOUBLE";
53 static constexpr
const char*
DT_STRING =
"DT_STRING";
55 static constexpr
const char*
DT_DATE =
"DT_DATE32";
56 static constexpr
const char*
DT_DAY =
"DT_DAY32";
157 namespace config_parsing {
208 return milli_second < rhs.milli_second;
212 return milli_second == rhs.milli_second;
215 int64_t milli_second;
237 const boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
239 boost::gregorian::date new_date(
year(),
month(),
day());
240 boost::posix_time::ptime new_time_point(
241 new_date, boost::posix_time::time_duration(
hour(), 0, 0));
242 boost::posix_time::time_duration diff = new_time_point - epoch;
243 int64_t new_timestamp_sec = diff.total_seconds();
245 return new_timestamp_sec * 1000;
249 const boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
250 int64_t ts_sec = ts / 1000;
251 boost::posix_time::ptime time_point =
252 epoch + boost::posix_time::seconds(ts_sec);
253 boost::posix_time::ptime::date_type date = time_point.date();
254 boost::posix_time::time_duration td = time_point.time_of_day();
255 this->
value.internal.year = date.year();
256 this->
value.internal.month = date.month().as_number();
257 this->
value.internal.day = date.day();
258 this->
value.internal.hour = td.hours();
295 template <
typename T>
318 Record(
const std::vector<Any>& vec);
319 Record(
const std::initializer_list<Any>& list);
335 ptr =
new std::string(*other.
ptr);
342 if (
this == &other) {
349 ptr =
new std::string(*other.
ptr);
362 return std::string_view((*ptr).data(), (*ptr).size());
392 template <
typename T>
404 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&other.
value),
415 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&other.value),
420 Any(
const std::initializer_list<Any>& list) {
424 Any(
const std::vector<Any>& vec) {
429 Any(
const std::string& str) {
434 template <
typename T>
443 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&a.
value),
449 if (
this == &other) {
461 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&other.
value),
583 return value.
d.to_string();
599 return value.
b ?
"true" :
"false";
607 LOG(FATAL) <<
"Unexpected property type: "
692 template <
typename T>
704 return value.
d.milli_second == other.
value.
d.milli_second;
760 return value.
d.milli_second < other.
value.
d.milli_second;
799 LOG(FATAL) <<
"Type [" <<
static_cast<int>(
type.
type_enum) <<
"] and ["
801 <<
"] cannot be compared..";
809 template <
typename T>
811 static void to(
const Any& value, T& out) {
812 LOG(FATAL) <<
"Unexpected convert type...";
818 static void to(
const Any& value,
bool& out) {
826 static void to(
const Any& value, int32_t& out) {
834 static void to(
const Any& value, uint32_t& out) {
842 static void to(
const Any& value, int64_t& out) {
850 static void to(
const Any& value, uint64_t& out) {
874 static void to(
const Any& value, Date& out) {
890 static void to(
const Any& value, grape::EmptyType& out) {
897 static void to(
const Any& value, std::string& out) {
905 static void to(
const Any& value, std::string_view& out) {
913 static void to(
const Any& value,
float& out) {
921 static void to(
const Any& value,
double& out) {
944 template <
typename T>
945 struct AnyConverter {};
1193 return grape::EmptyType();
1197 return grape::EmptyType();
1301 template <
typename T>
1309 grape::InArchive&
operator<<(grape::InArchive& in_archive,
1311 grape::OutArchive&
operator>>(grape::OutArchive& out_archive,
1314 grape::InArchive&
operator<<(grape::InArchive& in_archive,
const Any& value);
1315 grape::OutArchive&
operator>>(grape::OutArchive& out_archive,
Any& value);
1317 grape::InArchive&
operator<<(grape::InArchive& in_archive,
1318 const std::string_view& value);
1319 grape::OutArchive&
operator>>(grape::OutArchive& out_archive,
1320 std::string_view& value);
1322 grape::InArchive&
operator<<(grape::InArchive& in_archive,
1330 inline std::size_t
hash_value(
const grape::EmptyType& value) {
return 0; }
1332 return std::hash<uint64_t>()(value.
global_id);
1336 return std::hash<int32_t>()(key.
label_id);
1344 os << dt.to_string();
1385 os <<
"vertex_global_id";
1389 os <<
"record_view";
1399 struct hash<
gs::GlobalId> {
1401 return std::hash<uint64_t>()(value.
global_id);
1408 inline bool operator==(
const EmptyType& a,
const EmptyType& b) {
return true; }
1410 inline bool operator!=(
const EmptyType& a,
const EmptyType& b) {
return false; }
1415 struct convert<
gs::PropertyType> {
1418 if (config[
"primitive_type"]) {
1420 config[
"primitive_type"].as<std::string>());
1421 }
else if (config[
"string"]) {
1422 if (config[
"string"].IsMap()) {
1423 if (config[
"string"][
"long_text"]) {
1425 }
else if (config[
"string"][
"var_char"]) {
1426 if (config[
"string"][
"var_char"][
"max_length"]) {
1428 config[
"string"][
"var_char"][
"max_length"].as<int32_t>());
1434 LOG(ERROR) <<
"Unrecognized string type";
1437 LOG(ERROR) <<
"string should be a map";
1439 }
else if (config[
"temporal"]) {
1440 if (config[
"temporal"][
"date32"]) {
1442 }
else if (config[
"temporal"][
"timestamp"]) {
1445 LOG(ERROR) <<
"Unrecognized temporal type";
1449 else if (config[
"day"]) {
1451 config[
"day"].as<std::string>());
1452 }
else if (config[
"varchar"]) {
1453 if (config[
"varchar"][
"max_length"]) {
1455 config[
"varchar"][
"max_length"].as<int32_t>());
1460 }
else if (config[
"date"]) {
1463 LOG(ERROR) <<
"Unrecognized property type: " << config;
1477 node[
"primitive_type"] =
1481 node[
"string"][
"long_text"] =
"";
1483 node[
"string"][
"var_char"][
"max_length"] =
1486 node[
"temporal"][
"timestamp"] =
"";
1488 node[
"temporal"][
"date32"] =
"";
1490 LOG(ERROR) <<
"Unrecognized property type: " << type;
1497 #endif // GRAPHSCOPE_TYPES_H_
double db
Definition: types.h:382
static Any to_any(const LabelKey &value)
Definition: types.h:1244
static PropertyType type()
Definition: types.h:950
bool operator==(const Day &rhs) const
Definition: types.h:264
static Any to_any(const uint16_t &value)
Definition: types.h:982
static const PropertyType kFloat
Definition: types.h:139
static PropertyType UInt64()
Definition: types.cc:314
static PropertyType String()
Definition: types.cc:326
static void to(const Any &value, std::string &out)
Definition: types.h:897
static PropertyType type()
Definition: types.h:1074
~Record()
Definition: types.cc:164
static PropertyType type()
Definition: types.h:1184
uint32_t year
Definition: types.h:219
static PropertyType VertexGlobalId()
Definition: types.cc:339
static Any to_any(const RecordView &value)
Definition: types.h:1265
bool AsBool() const
Definition: types.h:638
StringPtr s_ptr
Definition: types.h:389
static const Date & from_any_value(const AnyValue &value)
Definition: types.h:1113
static Any to_any(const Day &value)
Definition: types.h:1120
uint64_t AsUInt64() const
Definition: types.h:623
bool operator==(const Any &other) const
Definition: types.h:697
std::string to_string() const
Definition: types.cc:537
static const PropertyType kUInt8
Definition: types.h:135
int64_t l
Definition: types.h:374
static void to(const Any &value, Date &out)
Definition: types.h:874
static PropertyType Empty()
Definition: types.cc:290
static const double & from_any_value(const AnyValue &value)
Definition: types.h:1216
void set_vertex_gid(GlobalId v)
Definition: types.h:504
Record record
Definition: types.h:388
std::string to_string() const
Definition: types.cc:93
static grape::EmptyType from_any_value(const AnyValue &value)
Definition: types.h:1196
void set_label_key(LabelKey v)
Definition: types.h:509
Any ConvertStringToAny(const std::string &value, const gs::PropertyType &type)
Definition: types.cc:563
Any * begin() const
Definition: types.cc:161
static Any to_any(const double &value)
Definition: types.h:1205
uint32_t month
Definition: types.h:220
static const bool & from_any(const Any &value)
Definition: types.h:957
static void to(const Any &value, bool &out)
Definition: types.h:818
static void to(const Any &value, grape::EmptyType &out)
Definition: types.h:890
const LabelKey & AsLabelKey() const
Definition: types.h:677
static PropertyType type()
Definition: types.h:1164
static const PropertyType kString
Definition: types.h:151
void set_u32(uint32_t v)
Definition: types.h:489
bool operator>(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:196
static const Day & from_any(const Any &value)
Definition: types.h:1133
int32_t i
Definition: types.h:371
static Any to_any(const std::string_view &value)
Definition: types.h:1145
bool operator<(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:192
static const std::string_view & from_any(const Any &value)
Definition: types.h:1151
StringPtr(const std::string &str)
Definition: types.h:332
static const float & from_any(const Any &value)
Definition: types.h:1232
static constexpr const char * DT_DOUBLE
Definition: types.h:52
static Any From(const T &value)
Definition: types.h:693
static PropertyType Label()
Definition: types.cc:343
static constexpr const char * DT_STRING
Definition: types.h:53
Any(const std::string &str)
Definition: types.h:429
static void to(const Any &value, uint32_t &out)
Definition: types.h:834
static Any to_any(int64_t value)
Definition: types.h:1102
static grape::EmptyType from_any(const Any &value)
Definition: types.h:1191
static const Record & from_any(const Any &value)
Definition: types.h:1291
void set_i64(int64_t v)
Definition: types.h:494
static PropertyType StringView()
Definition: types.cc:329
static const int32_t & from_any_value(const AnyValue &value)
Definition: types.h:1008
bool operator!=(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:189
static PropertyType Varchar(uint16_t max_length)
Definition: types.cc:335
std::string to_string(const gs::flex::interactive::Code &status)
Definition: result.h:166
bool operator<(const Day &rhs) const
Definition: types.h:263
static const PropertyType kDay
Definition: types.h:144
static PropertyType UInt32()
Definition: types.cc:305
static PropertyType type()
Definition: types.h:1224
static PropertyType Bool()
Definition: types.cc:293
static constexpr uint64_t vid_mask
Definition: types.h:168
uint32_t vid_t
Definition: types.h:165
uint32_t to_u32() const
Definition: types.cc:551
static const PropertyType kDate
Definition: types.h:143
uint8_t label_data_type
Definition: types.h:280
static constexpr const char * DT_DATE
Definition: types.h:55
static Any to_any(const Date &value)
Definition: types.h:1096
static void to(const Any &value, T &out)
Definition: types.h:811
static constexpr const char * DT_FLOAT
Definition: types.h:51
Definition: adj_list.h:23
void set_string(const std::string &v)
Definition: types.h:534
size_t offset
Definition: types.h:307
Any operator[](size_t idx) const
Definition: types.cc:89
RecordView record_view
Definition: types.h:385
static const PropertyType kLabel
Definition: types.h:148
static const RecordView & from_any_value(const AnyValue &value)
Definition: types.h:1276
static const LabelKey & from_any(const Any &value)
Definition: types.h:1250
static const LabelKey & from_any_value(const AnyValue &value)
Definition: types.h:1255
static constexpr const char * DT_STRINGMAP
Definition: types.h:54
static Any to_any(const grape::EmptyType &value)
Definition: types.h:1186
static const PropertyType kUInt64
Definition: types.h:141
int32_t AsInt32() const
Definition: types.h:628
static const PropertyType kEmpty
Definition: types.h:133
static Any to_any(const int32_t &value)
Definition: types.h:997
StorageStrategy
Definition: types.h:58
int64_t AsInt64() const
Definition: types.h:618
impl::PropertyTypeImpl type_enum
Definition: types.h:97
std::string ToString() const
Definition: types.cc:241
void set_date(int64_t v)
Definition: types.h:514
Any operator[](size_t idx) const
Definition: types.cc:154
static void to(const Any &value, int32_t &out)
Definition: types.h:826
void set_u8(uint8_t v)
Definition: types.h:549
bool operator==(const EmptyType &a, const EmptyType &b)
Definition: types.h:1408
void set_double(double db)
Definition: types.h:544
void set_bool(bool v)
Definition: types.h:479
uint32_t AsUInt32() const
Definition: types.h:633
static void to(const Any &value, RecordView &out)
Definition: types.h:929
static std::string & from_any_value(const AnyValue &value)
Definition: types.h:1177
static void to(const Any &value, int64_t &out)
Definition: types.h:842
int64_t to_timestamp() const
Definition: types.h:236
size_t len
Definition: types.h:326
static const int32_t & from_any(const Any &value)
Definition: types.h:1003
PropertyType StringToPrimitivePropertyType(const std::string &str)
Definition: types.cc:55
static PropertyType Date()
Definition: types.cc:320
Any * end() const
Definition: types.cc:162
bool operator<(const EmptyType &lhs, const EmptyType &rhs)
Definition: types.h:35
Any * props
Definition: types.h:327
const GlobalId & AsGlobalId() const
Definition: types.h:672
static constexpr const uint16_t STRING_DEFAULT_MAX_LENGTH
Definition: types.h:96
void set_i32(int32_t v)
Definition: types.h:484
static const PropertyType kStringView
Definition: types.h:145
static PropertyType type()
Definition: types.h:1054
bool b
Definition: types.h:370
double AsDouble() const
Definition: types.h:643
static const double & from_any(const Any &value)
Definition: types.h:1211
static const GlobalId & from_any_value(const AnyValue &value)
Definition: types.h:1087
Any(const std::initializer_list< Any > &list)
Definition: types.h:420
static const int64_t & from_any(const Any &value)
Definition: types.h:1042
constexpr PropertyType(impl::PropertyTypeImpl type, uint16_t max_length)
Definition: types.h:104
static Any to_any(const Record &value)
Definition: types.h:1285
static const uint32_t & from_any(const Any &value)
Definition: types.h:1023
static void to(const Any &value, double &out)
Definition: types.h:921
Any()
Definition: types.h:396
Any(const Any &other)
Definition: types.h:398
static const GlobalId & from_any(const Any &value)
Definition: types.h:1082
static PropertyType Int64()
Definition: types.cc:311
uint64_t gid_t
Definition: types.h:166
static PropertyType type()
Definition: types.h:995
AnyValue value
Definition: types.h:806
vid_t vid() const
Definition: types.cc:533
int day() const
Definition: types.cc:559
static void to(const Any &value, float &out)
Definition: types.h:913
static void to(const Any &value, Day &out)
Definition: types.h:882
int32_t label_id
Definition: types.h:281
static PropertyType type()
Definition: types.h:1094
static const PropertyType kUInt32
Definition: types.h:138
static std::string & from_any(const Any &value)
Definition: types.h:1172
static Any to_any(const uint64_t &value)
Definition: types.h:1056
PropertyTypeImpl
Definition: types.h:66
static PropertyType StringMap()
Definition: types.cc:332
uint64_t global_id
Definition: types.h:173
constexpr PropertyType()
Definition: types.h:100
bool operator!=(const PropertyType &other) const
Definition: types.cc:233
static void to(const Any &value, Record &out)
Definition: types.h:938
struct __attribute__((packed)) ImmutableNbr< Date >
Definition: nbr.h:54
static constexpr const char * DT_UNSIGNED_INT32
Definition: types.h:47
static const PropertyType kRecordView
Definition: types.h:149
static const std::string_view & from_any_value(const AnyValue &value)
Definition: types.h:1157
static const Date & from_any(const Any &value)
Definition: types.h:1108
static PropertyType type()
Definition: types.h:1034
int64_t get_long() const
Definition: types.h:475
const Record & AsRecord() const
Definition: types.h:687
static Any to_any(const std::string &value)
Definition: types.h:1166
static const PropertyType kDouble
Definition: types.h:142
StringPtr()
Definition: types.h:331
std::ostream & operator<<(std::ostream &os, const LoadingStatus &status)
Definition: basic_fragment_loader.cc:22
float AsFloat() const
Definition: types.h:648
static PropertyType type()
Definition: types.h:1203
std::string_view operator*() const
Definition: types.h:361
const Day & AsDay() const
Definition: types.h:667
static void to(const Any &value, LabelKey &out)
Definition: types.h:866
const std::string & AsString() const
Definition: types.h:613
Any(const std::vector< Any > &vec)
Definition: types.h:424
const Table * table
Definition: types.h:308
static Any to_any(const bool &value)
Definition: types.h:952
static constexpr const char * DT_UNSIGNED_INT64
Definition: types.h:49
ostream & operator<<(ostream &os, const gs::BulkLoadMethod &method)
Definition: loading_config.h:234
static void to(const Any &value, uint64_t &out)
Definition: types.h:850
static const float & from_any_value(const AnyValue &value)
Definition: types.h:1237
static PropertyType type()
Definition: types.h:1283
static Any to_any(const uint32_t &value)
Definition: types.h:1017
int hour() const
Definition: types.cc:561
static constexpr const char * DT_UNSIGNED_INT16
Definition: types.h:45
uint32_t hour
Definition: types.h:222
void set_u64(uint64_t v)
Definition: types.h:499
static const uint64_t & from_any(const Any &value)
Definition: types.h:1062
int month() const
Definition: types.cc:557
~StringPtr()
Definition: types.h:355
constexpr PropertyType(impl::PropertyTypeImpl type)
Definition: types.h:102
static constexpr const char * DT_SIGNED_INT32
Definition: types.h:46
static const int64_t & from_any_value(const AnyValue &value)
Definition: types.h:1047
Any(const T &val)
Definition: types.h:435
void set_u16(uint16_t v)
Definition: types.h:554
static constexpr int32_t label_id_offset
Definition: types.h:167
uint32_t ui
Definition: types.h:372
static label_id_t get_label_id(gid_t gid)
Definition: types.cc:513
static const PropertyType kInt64
Definition: types.h:140
bool operator<(const Any &other) const
Definition: types.h:753
void set_float(float v)
Definition: types.h:539
Any(Any &&other)
Definition: types.h:409
static constexpr const char * DT_UNSIGNED_INT8
Definition: types.h:44
static const uint64_t & from_any_value(const AnyValue &value)
Definition: types.h:1067
static PropertyType type()
Definition: types.h:981
static const Day & from_any_value(const AnyValue &value)
Definition: types.h:1138
static PropertyType type()
Definition: types.h:1263
~AnyValue()
Definition: types.h:368
static constexpr const char * DT_BOOL
Definition: types.h:50
static PropertyType Day()
Definition: types.cc:323
bool operator==(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:185
Definition: loading_config.h:232
void set_record(Record v)
Definition: types.h:564
label_id_t label_id() const
Definition: types.cc:529
void from_timestamp(int64_t ts)
Definition: types.h:248
static PropertyType type()
Definition: types.h:1242
static const bool & from_any_value(const AnyValue &value)
Definition: types.h:962
Date d
Definition: types.h:379
std::string_view s
Definition: types.h:381
static PropertyType type()
Definition: types.h:1118
uint16_t u16
Definition: types.h:384
AnyValue()
Definition: types.h:367
static PropertyType Double()
Definition: types.cc:317
void set_string_view(std::string_view v)
Definition: types.h:529
static const PropertyType kRecord
Definition: types.h:150
std::size_t hash_value(const grape::EmptyType &value)
Definition: types.h:1330
StringPtr(const StringPtr &other)
Definition: types.h:333
static void to(const Any &value, GlobalId &out)
Definition: types.h:858
static constexpr const char * DT_DAY
Definition: types.h:56
size_t operator()(const gs::GlobalId &value) const
Definition: types.h:1400
static constexpr const char * DT_SIGNED_INT64
Definition: types.h:48
std::string to_string() const
Definition: types.cc:545
Record & operator=(const Record &other)
Definition: types.cc:122
static const PropertyType kBool
Definition: types.h:134
Record()
Definition: types.h:313
size_t size() const
Definition: types.cc:87
void set_record_view(RecordView v)
Definition: types.h:559
bool operator!=(const EmptyType &a, const EmptyType &b)
Definition: types.h:1410
static const uint8_t & from_any(const Any &value)
Definition: types.h:973
uint8_t u8
Definition: types.h:383
static PropertyType Record()
Definition: types.cc:351
void set_day(Day v)
Definition: types.h:524
PropertyType type
Definition: types.h:805
uint32_t day
Definition: types.h:221
float f
Definition: types.h:373
StringPtr & operator=(const StringPtr &other)
Definition: types.h:341
void set_date(Date v)
Definition: types.h:519
uint32_t integer
Definition: types.h:275
static Any to_any(int64_t value)
Definition: types.h:1126
bool operator==(const RecordView &other) const
Definition: types.h:298
static const Record & from_any_value(const AnyValue &value)
Definition: types.h:1296
bool IsVarchar() const
Definition: types.cc:237
bool operator==(const PropertyType &other) const
Definition: types.cc:210
uint64_t ul
Definition: types.h:375
void from_u32(uint32_t val)
Definition: types.cc:553
GlobalId()
Definition: types.cc:521
std::string PrimitivePropertyTypeToString(PropertyType type)
Definition: types.cc:25
static PropertyType UInt8()
Definition: types.cc:296
uint8_t label_id_t
Definition: types.h:164
static void to(const Any &value, std::string_view &out)
Definition: types.h:905
~Any()
Definition: types.h:467
static const RecordView & from_any(const Any &value)
Definition: types.h:1271
impl::AdditionalTypeInfo additional_type_info
Definition: types.h:98
static Any to_any(const uint8_t &value)
Definition: types.h:968
static PropertyType Int32()
Definition: types.cc:302
RecordView(size_t offset, const Table *table)
Definition: types.h:290
Any & operator=(const Any &other)
Definition: types.h:448
uint16_t max_length
Definition: types.h:91
std::string * ptr
Definition: types.h:364
int year() const
Definition: types.cc:555
LabelKey label_key
Definition: types.h:377
static vid_t get_vid(gid_t gid)
Definition: types.cc:517
static Node encode(const gs::PropertyType &type)
Definition: types.h:1469
static Any to_any(const float &value)
Definition: types.h:1226
std::string to_string() const
Definition: types.h:572
static const PropertyType kStringMap
Definition: types.h:146
static PropertyType RecordView()
Definition: types.cc:347
static const PropertyType kVertexGlobalId
Definition: types.h:147
static PropertyType UInt16()
Definition: types.cc:299
static Any to_any(const int64_t &value)
Definition: types.h:1036
StringPtr(StringPtr &&other)
Definition: types.h:340
static PropertyType Float()
Definition: types.cc:308
std::istream & operator>>(std::istream &is, LoadingStatus &status)
Definition: basic_fragment_loader.cc:35
Day day
Definition: types.h:380
static bool decode(const Node &config, gs::PropertyType &property_type)
Definition: types.h:1417
static const uint16_t & from_any(const Any &value)
Definition: types.h:987
static PropertyType type()
Definition: types.h:967
static const PropertyType kInt32
Definition: types.h:137
std::string_view AsStringView() const
Definition: types.h:653
static PropertyType type()
Definition: types.h:1015
static PropertyType type()
Definition: types.h:1143
GlobalId vertex_gid
Definition: types.h:376
const RecordView & AsRecordView() const
Definition: types.h:682
static const PropertyType kUInt16
Definition: types.h:136
T get_field(int col_id) const
Definition: types.h:1302
LabelKey(label_data_type id)
Definition: types.h:283
static const uint32_t & from_any_value(const AnyValue &value)
Definition: types.h:1028
static Any to_any(const GlobalId &value)
Definition: types.h:1076
size_t size() const
Definition: types.h:321
const Date & AsDate() const
Definition: types.h:662