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";
161 namespace config_parsing {
212 return milli_second < rhs.milli_second;
216 return milli_second == rhs.milli_second;
219 int64_t milli_second;
241 const boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
243 boost::gregorian::date new_date(
year(),
month(),
day());
244 boost::posix_time::ptime new_time_point(
245 new_date, boost::posix_time::time_duration(
hour(), 0, 0));
246 boost::posix_time::time_duration diff = new_time_point - epoch;
247 int64_t new_timestamp_sec = diff.total_seconds();
249 return new_timestamp_sec * 1000;
253 const boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
254 int64_t ts_sec = ts / 1000;
255 boost::posix_time::ptime time_point =
256 epoch + boost::posix_time::seconds(ts_sec);
257 boost::posix_time::ptime::date_type date = time_point.date();
258 boost::posix_time::time_duration td = time_point.time_of_day();
259 this->
value.internal.year = date.year();
260 this->
value.internal.month = date.month().as_number();
261 this->
value.internal.day = date.day();
262 this->
value.internal.hour = td.hours();
299 template <
typename T>
322 Record(
const std::vector<Any>& vec);
323 Record(
const std::initializer_list<Any>& list);
339 ptr =
new std::string(*other.
ptr);
346 if (
this == &other) {
353 ptr =
new std::string(*other.
ptr);
366 return std::string_view((*ptr).data(), (*ptr).size());
396 template <
typename T>
408 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&other.
value),
419 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&other.value),
424 Any(
const std::initializer_list<Any>& list) {
428 Any(
const std::vector<Any>& vec) {
433 Any(
const std::string& str) {
438 template <
typename T>
447 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&a.
value),
453 if (
this == &other) {
465 memcpy(
static_cast<void*
>(&
value),
static_cast<const void*
>(&other.
value),
587 return value.
d.to_string();
603 return value.
b ?
"true" :
"false";
611 LOG(FATAL) <<
"Unexpected property type: "
696 template <
typename T>
708 return value.
d.milli_second == other.
value.
d.milli_second;
764 return value.
d.milli_second < other.
value.
d.milli_second;
803 LOG(FATAL) <<
"Type [" <<
static_cast<int>(
type.
type_enum) <<
"] and ["
805 <<
"] cannot be compared..";
813 template <
typename T>
815 static void to(
const Any& value, T& out) {
816 LOG(FATAL) <<
"Unexpected convert type...";
822 static void to(
const Any& value,
bool& out) {
830 static void to(
const Any& value, int32_t& out) {
838 static void to(
const Any& value, uint32_t& out) {
846 static void to(
const Any& value, int64_t& out) {
854 static void to(
const Any& value, uint64_t& out) {
878 static void to(
const Any& value, Date& out) {
894 static void to(
const Any& value, grape::EmptyType& out) {
901 static void to(
const Any& value, std::string& out) {
909 static void to(
const Any& value, std::string_view& out) {
917 static void to(
const Any& value,
float& out) {
925 static void to(
const Any& value,
double& out) {
948 template <
typename T>
949 struct AnyConverter {};
1197 return grape::EmptyType();
1201 return grape::EmptyType();
1305 template <
typename T>
1313 grape::InArchive&
operator<<(grape::InArchive& in_archive,
1315 grape::OutArchive&
operator>>(grape::OutArchive& out_archive,
1318 grape::InArchive&
operator<<(grape::InArchive& in_archive,
const Any& value);
1319 grape::OutArchive&
operator>>(grape::OutArchive& out_archive,
Any& value);
1321 grape::InArchive&
operator<<(grape::InArchive& in_archive,
1322 const std::string_view& value);
1323 grape::OutArchive&
operator>>(grape::OutArchive& out_archive,
1324 std::string_view& value);
1326 grape::InArchive&
operator<<(grape::InArchive& in_archive,
1334 inline std::size_t
hash_value(
const grape::EmptyType& value) {
return 0; }
1336 return std::hash<uint64_t>()(value.
global_id);
1340 return std::hash<int32_t>()(key.
label_id);
1348 os << dt.to_string();
1389 os <<
"vertex_global_id";
1393 os <<
"record_view";
1403 struct hash<
gs::GlobalId> {
1405 return std::hash<uint64_t>()(value.
global_id);
1412 inline bool operator==(
const EmptyType& a,
const EmptyType& b) {
return true; }
1414 inline bool operator!=(
const EmptyType& a,
const EmptyType& b) {
return false; }
1419 struct convert<
gs::PropertyType> {
1422 if (config[
"primitive_type"]) {
1424 config[
"primitive_type"].as<std::string>());
1425 }
else if (config[
"string"]) {
1426 if (config[
"string"].IsMap()) {
1427 if (config[
"string"][
"long_text"]) {
1429 }
else if (config[
"string"][
"var_char"]) {
1430 if (config[
"string"][
"var_char"][
"max_length"]) {
1432 config[
"string"][
"var_char"][
"max_length"].as<int32_t>());
1438 LOG(ERROR) <<
"Unrecognized string type";
1441 LOG(ERROR) <<
"string should be a map";
1443 }
else if (config[
"temporal"]) {
1444 if (config[
"temporal"][
"date32"]) {
1446 }
else if (config[
"temporal"][
"timestamp"]) {
1449 LOG(ERROR) <<
"Unrecognized temporal type";
1453 else if (config[
"day"]) {
1455 config[
"day"].as<std::string>());
1456 }
else if (config[
"varchar"]) {
1457 if (config[
"varchar"][
"max_length"]) {
1459 config[
"varchar"][
"max_length"].as<int32_t>());
1464 }
else if (config[
"date"]) {
1467 LOG(ERROR) <<
"Unrecognized property type: " << config;
1481 node[
"primitive_type"] =
1485 node[
"string"][
"long_text"] =
"";
1487 node[
"string"][
"var_char"][
"max_length"] =
1490 node[
"temporal"][
"timestamp"] =
"";
1492 node[
"temporal"][
"date32"] =
"";
1494 LOG(ERROR) <<
"Unrecognized property type: " << type;
1501 #endif // GRAPHSCOPE_TYPES_H_
double db
Definition: types.h:386
static Any to_any(const LabelKey &value)
Definition: types.h:1248
static PropertyType type()
Definition: types.h:954
bool operator==(const Day &rhs) const
Definition: types.h:268
static Any to_any(const uint16_t &value)
Definition: types.h:986
static const PropertyType kFloat
Definition: types.h:143
static PropertyType UInt64()
Definition: types.cc:336
static PropertyType String()
Definition: types.cc:348
static void to(const Any &value, std::string &out)
Definition: types.h:901
static PropertyType type()
Definition: types.h:1078
~Record()
Definition: types.cc:186
static PropertyType type()
Definition: types.h:1188
static uint16_t GetStringDefaultMaxLength()
Definition: types.cc:103
uint32_t year
Definition: types.h:223
static PropertyType VertexGlobalId()
Definition: types.cc:361
static Any to_any(const RecordView &value)
Definition: types.h:1269
bool AsBool() const
Definition: types.h:642
StringPtr s_ptr
Definition: types.h:393
static const Date & from_any_value(const AnyValue &value)
Definition: types.h:1117
static Any to_any(const Day &value)
Definition: types.h:1124
uint64_t AsUInt64() const
Definition: types.h:627
bool operator==(const Any &other) const
Definition: types.h:701
std::string to_string() const
Definition: types.cc:559
static const PropertyType kUInt8
Definition: types.h:139
int64_t l
Definition: types.h:378
static void to(const Any &value, Date &out)
Definition: types.h:878
static PropertyType Empty()
Definition: types.cc:312
static const double & from_any_value(const AnyValue &value)
Definition: types.h:1220
void set_vertex_gid(GlobalId v)
Definition: types.h:508
Record record
Definition: types.h:392
std::string to_string() const
Definition: types.cc:115
static grape::EmptyType from_any_value(const AnyValue &value)
Definition: types.h:1200
void set_label_key(LabelKey v)
Definition: types.h:513
Any ConvertStringToAny(const std::string &value, const gs::PropertyType &type)
Definition: types.cc:585
Any * begin() const
Definition: types.cc:183
static Any to_any(const double &value)
Definition: types.h:1209
uint32_t month
Definition: types.h:224
static const bool & from_any(const Any &value)
Definition: types.h:961
static void to(const Any &value, bool &out)
Definition: types.h:822
static void to(const Any &value, grape::EmptyType &out)
Definition: types.h:894
const LabelKey & AsLabelKey() const
Definition: types.h:681
static PropertyType type()
Definition: types.h:1168
static const PropertyType kString
Definition: types.h:155
void set_u32(uint32_t v)
Definition: types.h:493
bool operator>(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:200
static const Day & from_any(const Any &value)
Definition: types.h:1137
int32_t i
Definition: types.h:375
static Any to_any(const std::string_view &value)
Definition: types.h:1149
bool operator<(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:196
static const std::string_view & from_any(const Any &value)
Definition: types.h:1155
StringPtr(const std::string &str)
Definition: types.h:336
static const float & from_any(const Any &value)
Definition: types.h:1236
static constexpr const char * DT_DOUBLE
Definition: types.h:52
static Any From(const T &value)
Definition: types.h:697
static PropertyType Label()
Definition: types.cc:365
static constexpr const char * DT_STRING
Definition: types.h:53
Any(const std::string &str)
Definition: types.h:433
static void to(const Any &value, uint32_t &out)
Definition: types.h:838
static Any to_any(int64_t value)
Definition: types.h:1106
static grape::EmptyType from_any(const Any &value)
Definition: types.h:1195
static const Record & from_any(const Any &value)
Definition: types.h:1295
void set_i64(int64_t v)
Definition: types.h:498
static PropertyType StringView()
Definition: types.cc:351
static const int32_t & from_any_value(const AnyValue &value)
Definition: types.h:1012
bool operator!=(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:193
static PropertyType Varchar(uint16_t max_length)
Definition: types.cc:357
std::string to_string(const gs::flex::interactive::Code &status)
Definition: result.h:166
bool operator<(const Day &rhs) const
Definition: types.h:267
static const PropertyType kDay
Definition: types.h:148
static PropertyType UInt32()
Definition: types.cc:327
static PropertyType type()
Definition: types.h:1228
static PropertyType Bool()
Definition: types.cc:315
static constexpr uint64_t vid_mask
Definition: types.h:172
uint32_t vid_t
Definition: types.h:169
uint32_t to_u32() const
Definition: types.cc:573
static const PropertyType kDate
Definition: types.h:147
uint8_t label_data_type
Definition: types.h:284
static constexpr const char * DT_DATE
Definition: types.h:55
static Any to_any(const Date &value)
Definition: types.h:1100
static void to(const Any &value, T &out)
Definition: types.h:815
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:538
size_t offset
Definition: types.h:311
Any operator[](size_t idx) const
Definition: types.cc:111
RecordView record_view
Definition: types.h:389
static const PropertyType kLabel
Definition: types.h:152
static const RecordView & from_any_value(const AnyValue &value)
Definition: types.h:1280
static const LabelKey & from_any(const Any &value)
Definition: types.h:1254
static const LabelKey & from_any_value(const AnyValue &value)
Definition: types.h:1259
static constexpr const char * DT_STRINGMAP
Definition: types.h:54
static Any to_any(const grape::EmptyType &value)
Definition: types.h:1190
static const PropertyType kUInt64
Definition: types.h:145
int32_t AsInt32() const
Definition: types.h:632
static const PropertyType kEmpty
Definition: types.h:137
static Any to_any(const int32_t &value)
Definition: types.h:1001
StorageStrategy
Definition: types.h:58
int64_t AsInt64() const
Definition: types.h:622
impl::PropertyTypeImpl type_enum
Definition: types.h:101
std::string ToString() const
Definition: types.cc:263
void set_date(int64_t v)
Definition: types.h:518
Any operator[](size_t idx) const
Definition: types.cc:176
static void to(const Any &value, int32_t &out)
Definition: types.h:830
void set_u8(uint8_t v)
Definition: types.h:553
bool operator==(const EmptyType &a, const EmptyType &b)
Definition: types.h:1412
void set_double(double db)
Definition: types.h:548
void set_bool(bool v)
Definition: types.h:483
uint32_t AsUInt32() const
Definition: types.h:637
static void to(const Any &value, RecordView &out)
Definition: types.h:933
static std::string & from_any_value(const AnyValue &value)
Definition: types.h:1181
static void to(const Any &value, int64_t &out)
Definition: types.h:846
int64_t to_timestamp() const
Definition: types.h:240
size_t len
Definition: types.h:330
static const int32_t & from_any(const Any &value)
Definition: types.h:1007
PropertyType StringToPrimitivePropertyType(const std::string &str)
Definition: types.cc:55
static PropertyType Date()
Definition: types.cc:342
Any * end() const
Definition: types.cc:184
bool operator<(const EmptyType &lhs, const EmptyType &rhs)
Definition: types.h:35
Any * props
Definition: types.h:331
const GlobalId & AsGlobalId() const
Definition: types.h:676
static constexpr const uint16_t STRING_DEFAULT_MAX_LENGTH
Definition: types.h:97
void set_i32(int32_t v)
Definition: types.h:488
static const PropertyType kStringView
Definition: types.h:149
static PropertyType type()
Definition: types.h:1058
bool b
Definition: types.h:374
double AsDouble() const
Definition: types.h:647
static const double & from_any(const Any &value)
Definition: types.h:1215
static const GlobalId & from_any_value(const AnyValue &value)
Definition: types.h:1091
Any(const std::initializer_list< Any > &list)
Definition: types.h:424
static const int64_t & from_any(const Any &value)
Definition: types.h:1046
constexpr PropertyType(impl::PropertyTypeImpl type, uint16_t max_length)
Definition: types.h:108
static Any to_any(const Record &value)
Definition: types.h:1289
static const uint32_t & from_any(const Any &value)
Definition: types.h:1027
static void to(const Any &value, double &out)
Definition: types.h:925
Any()
Definition: types.h:400
Any(const Any &other)
Definition: types.h:402
static const GlobalId & from_any(const Any &value)
Definition: types.h:1086
static PropertyType Int64()
Definition: types.cc:333
uint64_t gid_t
Definition: types.h:170
static PropertyType type()
Definition: types.h:999
AnyValue value
Definition: types.h:810
vid_t vid() const
Definition: types.cc:555
int day() const
Definition: types.cc:581
static void to(const Any &value, float &out)
Definition: types.h:917
static void to(const Any &value, Day &out)
Definition: types.h:886
int32_t label_id
Definition: types.h:285
static PropertyType type()
Definition: types.h:1098
static const PropertyType kUInt32
Definition: types.h:142
static std::string & from_any(const Any &value)
Definition: types.h:1176
static Any to_any(const uint64_t &value)
Definition: types.h:1060
PropertyTypeImpl
Definition: types.h:66
static PropertyType StringMap()
Definition: types.cc:354
uint64_t global_id
Definition: types.h:177
constexpr PropertyType()
Definition: types.h:104
bool operator!=(const PropertyType &other) const
Definition: types.cc:255
static void to(const Any &value, Record &out)
Definition: types.h:942
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:153
static const std::string_view & from_any_value(const AnyValue &value)
Definition: types.h:1161
static const Date & from_any(const Any &value)
Definition: types.h:1112
static PropertyType type()
Definition: types.h:1038
int64_t get_long() const
Definition: types.h:479
const Record & AsRecord() const
Definition: types.h:691
static Any to_any(const std::string &value)
Definition: types.h:1170
static const PropertyType kDouble
Definition: types.h:146
StringPtr()
Definition: types.h:335
std::ostream & operator<<(std::ostream &os, const LoadingStatus &status)
Definition: basic_fragment_loader.cc:22
float AsFloat() const
Definition: types.h:652
static PropertyType type()
Definition: types.h:1207
std::string_view operator*() const
Definition: types.h:365
const Day & AsDay() const
Definition: types.h:671
static void to(const Any &value, LabelKey &out)
Definition: types.h:870
const std::string & AsString() const
Definition: types.h:617
Any(const std::vector< Any > &vec)
Definition: types.h:428
const Table * table
Definition: types.h:312
static Any to_any(const bool &value)
Definition: types.h:956
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:854
static const float & from_any_value(const AnyValue &value)
Definition: types.h:1241
static PropertyType type()
Definition: types.h:1287
static Any to_any(const uint32_t &value)
Definition: types.h:1021
int hour() const
Definition: types.cc:583
static constexpr const char * DT_UNSIGNED_INT16
Definition: types.h:45
uint32_t hour
Definition: types.h:226
void set_u64(uint64_t v)
Definition: types.h:503
static const uint64_t & from_any(const Any &value)
Definition: types.h:1066
int month() const
Definition: types.cc:579
~StringPtr()
Definition: types.h:359
constexpr PropertyType(impl::PropertyTypeImpl type)
Definition: types.h:106
static constexpr const char * DT_SIGNED_INT32
Definition: types.h:46
static const int64_t & from_any_value(const AnyValue &value)
Definition: types.h:1051
Any(const T &val)
Definition: types.h:439
void set_u16(uint16_t v)
Definition: types.h:558
static constexpr int32_t label_id_offset
Definition: types.h:171
uint32_t ui
Definition: types.h:376
static label_id_t get_label_id(gid_t gid)
Definition: types.cc:535
static const PropertyType kInt64
Definition: types.h:144
bool operator<(const Any &other) const
Definition: types.h:757
void set_float(float v)
Definition: types.h:543
Any(Any &&other)
Definition: types.h:413
static constexpr const char * DT_UNSIGNED_INT8
Definition: types.h:44
static const uint64_t & from_any_value(const AnyValue &value)
Definition: types.h:1071
static PropertyType type()
Definition: types.h:985
static const Day & from_any_value(const AnyValue &value)
Definition: types.h:1142
static PropertyType type()
Definition: types.h:1267
~AnyValue()
Definition: types.h:372
static constexpr const char * DT_BOOL
Definition: types.h:50
static PropertyType Day()
Definition: types.cc:345
bool operator==(const GlobalId &lhs, const GlobalId &rhs)
Definition: types.h:189
Definition: loading_config.h:232
void set_record(Record v)
Definition: types.h:568
label_id_t label_id() const
Definition: types.cc:551
void from_timestamp(int64_t ts)
Definition: types.h:252
static PropertyType type()
Definition: types.h:1246
static const bool & from_any_value(const AnyValue &value)
Definition: types.h:966
Date d
Definition: types.h:383
std::string_view s
Definition: types.h:385
static PropertyType type()
Definition: types.h:1122
uint16_t u16
Definition: types.h:388
AnyValue()
Definition: types.h:371
static PropertyType Double()
Definition: types.cc:339
void set_string_view(std::string_view v)
Definition: types.h:533
static const PropertyType kRecord
Definition: types.h:154
std::size_t hash_value(const grape::EmptyType &value)
Definition: types.h:1334
StringPtr(const StringPtr &other)
Definition: types.h:337
static void to(const Any &value, GlobalId &out)
Definition: types.h:862
static constexpr const char * DT_DAY
Definition: types.h:56
size_t operator()(const gs::GlobalId &value) const
Definition: types.h:1404
static constexpr const char * DT_SIGNED_INT64
Definition: types.h:48
std::string to_string() const
Definition: types.cc:567
Record & operator=(const Record &other)
Definition: types.cc:144
static const PropertyType kBool
Definition: types.h:138
Record()
Definition: types.h:317
size_t size() const
Definition: types.cc:109
void set_record_view(RecordView v)
Definition: types.h:563
bool operator!=(const EmptyType &a, const EmptyType &b)
Definition: types.h:1414
static const uint8_t & from_any(const Any &value)
Definition: types.h:977
uint8_t u8
Definition: types.h:387
static PropertyType Record()
Definition: types.cc:373
void set_day(Day v)
Definition: types.h:528
PropertyType type
Definition: types.h:809
uint32_t day
Definition: types.h:225
float f
Definition: types.h:377
StringPtr & operator=(const StringPtr &other)
Definition: types.h:345
void set_date(Date v)
Definition: types.h:523
uint32_t integer
Definition: types.h:279
static Any to_any(int64_t value)
Definition: types.h:1130
bool operator==(const RecordView &other) const
Definition: types.h:302
static const Record & from_any_value(const AnyValue &value)
Definition: types.h:1300
bool IsVarchar() const
Definition: types.cc:259
bool operator==(const PropertyType &other) const
Definition: types.cc:232
uint64_t ul
Definition: types.h:379
void from_u32(uint32_t val)
Definition: types.cc:575
GlobalId()
Definition: types.cc:543
std::string PrimitivePropertyTypeToString(PropertyType type)
Definition: types.cc:25
static PropertyType UInt8()
Definition: types.cc:318
uint8_t label_id_t
Definition: types.h:168
static void to(const Any &value, std::string_view &out)
Definition: types.h:909
~Any()
Definition: types.h:471
static const RecordView & from_any(const Any &value)
Definition: types.h:1275
impl::AdditionalTypeInfo additional_type_info
Definition: types.h:102
static Any to_any(const uint8_t &value)
Definition: types.h:972
static PropertyType Int32()
Definition: types.cc:324
RecordView(size_t offset, const Table *table)
Definition: types.h:294
Any & operator=(const Any &other)
Definition: types.h:452
uint16_t max_length
Definition: types.h:91
std::string * ptr
Definition: types.h:368
int year() const
Definition: types.cc:577
LabelKey label_key
Definition: types.h:381
static vid_t get_vid(gid_t gid)
Definition: types.cc:539
static Node encode(const gs::PropertyType &type)
Definition: types.h:1473
static Any to_any(const float &value)
Definition: types.h:1230
std::string to_string() const
Definition: types.h:576
static const PropertyType kStringMap
Definition: types.h:150
static PropertyType RecordView()
Definition: types.cc:369
static const PropertyType kVertexGlobalId
Definition: types.h:151
static PropertyType UInt16()
Definition: types.cc:321
static Any to_any(const int64_t &value)
Definition: types.h:1040
StringPtr(StringPtr &&other)
Definition: types.h:344
static PropertyType Float()
Definition: types.cc:330
std::istream & operator>>(std::istream &is, LoadingStatus &status)
Definition: basic_fragment_loader.cc:35
Day day
Definition: types.h:384
static bool decode(const Node &config, gs::PropertyType &property_type)
Definition: types.h:1421
static const uint16_t & from_any(const Any &value)
Definition: types.h:991
static PropertyType type()
Definition: types.h:971
static const PropertyType kInt32
Definition: types.h:141
std::string_view AsStringView() const
Definition: types.h:657
static PropertyType type()
Definition: types.h:1019
static PropertyType type()
Definition: types.h:1147
GlobalId vertex_gid
Definition: types.h:380
const RecordView & AsRecordView() const
Definition: types.h:686
static const PropertyType kUInt16
Definition: types.h:140
T get_field(int col_id) const
Definition: types.h:1306
LabelKey(label_data_type id)
Definition: types.h:287
static const uint32_t & from_any_value(const AnyValue &value)
Definition: types.h:1032
static Any to_any(const GlobalId &value)
Definition: types.h:1080
size_t size() const
Definition: types.h:325
const Date & AsDate() const
Definition: types.h:666