Go to the documentation of this file.
16 #ifndef STORAGES_RT_MUTABLE_GRAPH_CSR_NBR_H_
17 #define STORAGES_RT_MUTABLE_GRAPH_CSR_NBR_H_
19 #include "grape/types.h"
28 template <
typename EDATA_T>
47 bool exists()
const {
return neighbor != std::numeric_limits<vid_t>::max(); }
66 const Date& get_data()
const {
return data; }
67 vid_t get_neighbor()
const {
return neighbor; }
69 void set_data(
const Date& val) { data = val; }
70 void set_neighbor(
vid_t neighbor) { this->neighbor = neighbor; }
72 bool exists()
const {
return neighbor != std::numeric_limits<vid_t>::max(); }
99 template <
typename EDATA_T>
137 :
ptr_(ptr), column_(column) {}
143 const ColumnNbr&
operator=(
const ColumnNbr& nbr)
const {
170 : slice_(rhs.slice_), column_(rhs.column_) {}
173 int size()
const {
return slice_.size(); }
177 const ColumnNbr
begin()
const {
return ColumnNbr(slice_.begin(), column_); }
178 const ColumnNbr
end()
const {
return ColumnNbr(slice_.end(), column_); }
192 template <
typename EDATA_T>
252 template <
typename EDATA_T>
285 struct MutableTableNbr {
290 :
ptr_(ptr), table_(table) {}
295 const MutableTableNbr&
operator*()
const {
return *
this; }
297 const MutableTableNbr&
operator=(
const MutableTableNbr& nbr)
const {
302 return ptr_ == nbr.ptr_;
305 return ptr_ != nbr.ptr_;
318 return ptr_ - nbr.ptr_;
321 bool operator<(
const MutableTableNbr& nbr)
const {
return ptr_ < nbr.ptr_; }
329 : slice_(slice), table_(table) {}
331 : slice_(rhs.slice_), table_(rhs.table_) {}
335 int size()
const {
return slice_.size(); }
340 const MutableTableNbr
begin()
const {
341 return MutableTableNbr(slice_.begin(), table_);
344 const MutableTableNbr
end()
const {
345 return MutableTableNbr(slice_.end(), table_);
358 struct MutableColumnNbr {
363 :
ptr_(ptr), column_(column) {}
368 const MutableColumnNbr&
operator*()
const {
return *
this; }
370 const MutableColumnNbr&
operator=(
const MutableColumnNbr& nbr)
const {
375 return ptr_ == nbr.ptr_;
378 return ptr_ != nbr.ptr_;
391 return ptr_ - nbr.ptr_;
395 return ptr_ < nbr.ptr_;
404 : slice_(slice), column_(column) {}
406 : slice_(rhs.slice_), column_(rhs.column_) {}
409 int size()
const {
return slice_.size(); }
413 const MutableColumnNbr
begin()
const {
414 return MutableColumnNbr(slice_.begin(), column_);
416 const MutableColumnNbr
end()
const {
417 return MutableColumnNbr(slice_.end(), column_);
430 template <
typename EDATA_T>
461 struct MutableColumnNbr {
465 :
ptr_(ptr), column_(column) {}
470 return column_.get_view(
ptr_->
data);
482 const MutableColumnNbr&
operator*()
const {
return *
this; }
484 MutableColumnNbr&
operator=(
const MutableColumnNbr& nbr) {
489 return ptr_ == nbr.ptr_;
492 return ptr_ != nbr.ptr_;
512 : slice_(slice), column_(column) {}
515 int size()
const {
return slice_.size(); }
519 MutableColumnNbr
begin() {
return MutableColumnNbr(slice_.begin(), column_); }
520 MutableColumnNbr
end() {
return MutableColumnNbr(slice_.end(), column_); }
535 struct MutableTableNbr {
547 for (
size_t i = 0; i < r.
len; ++i) {
550 grape::OutArchive out;
551 out.SetSlice(in.GetBuffer(), in.GetSize());
559 const MutableTableNbr&
operator*()
const {
return *
this; }
563 MutableTableNbr&
operator=(
const MutableTableNbr& nbr) {
568 return ptr_ == nbr.ptr_;
571 return ptr_ != nbr.ptr_;
583 return ptr_ - nbr.ptr_;
594 : slice_(slice), table_(table) {}
597 int size()
const {
return slice_.size(); }
615 #endif // STORAGES_RT_MUTABLE_GRAPH_CSR_NBR_H_
MutableNbrSlice(const MutableNbrSlice &rhs)
Definition: nbr.h:405
timestamp_t get_timestamp() const
Definition: nbr.h:244
void set_neighbor(vid_t neighbor)
Definition: nbr.h:45
nbr_t * ptr_
Definition: nbr.h:506
ImmutableNbr(const ImmutableNbr &rhs)
Definition: nbr.h:31
void set_size(int size)
Definition: nbr.h:438
MutableColumnNbr & operator++()
Definition: nbr.h:495
MutableNbrSliceMut(MutableNbrSliceMut< size_t > slice, StringColumn &column)
Definition: nbr.h:511
const_nbr_ptr_t ptr_
Definition: nbr.h:323
timestamp_t get_timestamp() const
Definition: nbr.h:210
const_nbr_ptr_t ptr_
Definition: nbr.h:278
Table & table_
Definition: nbr.h:611
void set_data(const Record &r, timestamp_t ts)
Definition: nbr.h:545
MutableNbrSlice< size_t > slice_
Definition: nbr.h:426
const MutableColumnNbr & operator*() const
Definition: nbr.h:482
const MutableTableNbr & operator++() const
Definition: nbr.h:574
void set_data(const EDATA_T &val, timestamp_t ts)
Definition: nbr.h:212
void set_begin(MutableNbr< size_t > *ptr)
Definition: nbr.h:517
const MutableTableNbr begin() const
Definition: nbr.h:340
bool operator<(const MutableColumnNbr &nbr) const
Definition: nbr.h:394
const MutableTableNbr end() const
Definition: nbr.h:344
MutableColumnNbr nbr_ptr_t
Definition: nbr.h:509
uint32_t timestamp_t
Definition: types.h:30
void set_size(int size)
Definition: nbr.h:262
const ColumnNbr & operator++() const
Definition: nbr.h:149
const MutableTableNbr & operator++() const
Definition: nbr.h:307
void set_timestamp(timestamp_t ts)
Definition: nbr.h:241
void set_begin(const_nbr_ptr_t ptr)
Definition: nbr.h:265
int field_num() const
Definition: nbr.h:336
vid_t neighbor
Definition: nbr.h:94
nbr_ptr_t end()
Definition: nbr.h:603
vid_t get_neighbor() const
Definition: nbr.h:364
const StringColumn & column_
Definition: nbr.h:427
timestamp_t get_timestamp() const
Definition: nbr.h:292
void set_begin(const_nbr_ptr_t ptr)
Definition: nbr.h:112
const Table & table_
Definition: nbr.h:324
vid_t get_neighbor() const
Definition: nbr.h:291
uint32_t vid_t
Definition: types.h:31
MutableColumnNbr & operator=(const MutableColumnNbr &nbr)
Definition: nbr.h:484
Table & table_
Definition: nbr.h:589
vid_t neighbor
Definition: nbr.h:49
MutableNbrSlice()
Definition: nbr.h:257
const MutableTableNbr & operator=(const MutableTableNbr &nbr) const
Definition: nbr.h:297
const_nbr_ptr_t ptr_
Definition: nbr.h:125
size_t operator-(const ColumnNbr &nbr) const
Definition: nbr.h:159
nbr_t * end()
Definition: nbr.h:444
int size_
Definition: nbr.h:279
size_t operator-(const MutableTableNbr &nbr) const
Definition: nbr.h:582
std::atomic< timestamp_t > timestamp
Definition: nbr.h:247
MutableNbr & operator=(const MutableNbr &rhs)
Definition: nbr.h:201
const MutableColumnNbr & operator++() const
Definition: nbr.h:380
MutableNbr(const MutableNbr &rhs)
Definition: nbr.h:195
const MutableColumnNbr begin() const
Definition: nbr.h:413
int size() const
Definition: nbr.h:439
const MutableColumnNbr & operator*() const
Definition: nbr.h:368
void set_size(int size)
Definition: nbr.h:596
vid_t get_neighbor() const
Definition: nbr.h:138
Definition: adj_list.h:23
MutableNbrSlice(MutableNbrSlice< size_t > slice, const StringColumn &column)
Definition: nbr.h:403
bool operator<(const MutableTableNbr &nbr)
Definition: nbr.h:586
StringColumn & column_
Definition: nbr.h:507
nbr_t * ptr_
Definition: nbr.h:588
bool operator!=(const MutableTableNbr &nbr) const
Definition: nbr.h:570
const MutableTableNbr const_nbr_t
Definition: nbr.h:326
const EDATA_T & get_data() const
Definition: nbr.h:41
static MutableNbrSlice empty(const Table &table)
Definition: nbr.h:347
const MutableColumnNbr * operator->() const
Definition: nbr.h:369
const MutableTableNbr & operator*() const
Definition: nbr.h:559
void set_data(const grape::EmptyType &, timestamp_t ts)
Definition: nbr.h:237
const_nbr_ptr_t begin() const
Definition: nbr.h:267
std::atomic< timestamp_t > timestamp
Definition: nbr.h:220
const_nbr_ptr_t end() const
Definition: nbr.h:115
const ColumnNbr & operator+=(size_t n) const
Definition: nbr.h:154
MutableColumnNbr & operator*()
Definition: nbr.h:483
RecordView get_data() const
Definition: nbr.h:543
timestamp_t get_timestamp() const
Definition: nbr.h:472
static ImmutableNbrSlice empty()
Definition: nbr.h:117
ImmutableNbrSlice()=default
int size() const
Definition: nbr.h:173
void set_neighbor(vid_t neighbor)
Definition: nbr.h:90
bool operator==(const MutableColumnNbr &nbr) const
Definition: nbr.h:374
size_t len
Definition: types.h:314
vid_t get_neighbor() const
Definition: nbr.h:209
bool operator==(const MutableTableNbr &nbr) const
Definition: nbr.h:301
const ColumnNbr & operator=(const ColumnNbr &nbr) const
Definition: nbr.h:143
Any * props
Definition: types.h:315
size_t operator-(const MutableTableNbr &nbr) const
Definition: nbr.h:317
void set_size(int size)
Definition: nbr.h:109
void set_timestamp(timestamp_t ts)
Definition: nbr.h:217
void set_neighbor(vid_t neighbor)
Definition: nbr.h:478
static ImmutableNbrSlice empty(const StringColumn &column)
Definition: nbr.h:180
const Table & table_
Definition: nbr.h:352
const MutableTableNbr & operator+=(size_t n) const
Definition: nbr.h:578
const_nbr_ptr_t end() const
Definition: nbr.h:268
EDATA_T data
Definition: nbr.h:221
const ColumnNbr const_nbr_t
Definition: nbr.h:166
const StringColumn & column_
Definition: nbr.h:399
MutableColumnNbr(const_nbr_ptr_t ptr, const StringColumn &column)
Definition: nbr.h:362
vid_t neighbor
Definition: nbr.h:245
void set_neighbor(vid_t neighbor)
Definition: nbr.h:216
bool exists() const
Definition: nbr.h:47
const std::string_view get_data() const
Definition: nbr.h:469
MutableNbrSliceMut(MutableNbrSliceMut< size_t > slice, Table &table)
Definition: nbr.h:593
bool operator!=(const MutableColumnNbr &nbr) const
Definition: nbr.h:491
void set_timestamp(timestamp_t ts)
Definition: nbr.h:480
vid_t get_neighbor() const
Definition: nbr.h:42
const MutableTableNbr * operator->() const
Definition: nbr.h:296
~ImmutableNbrSlice()=default
bool operator!=(const MutableColumnNbr &nbr) const
Definition: nbr.h:377
MutableTableNbr(const_nbr_ptr_t ptr, const Table &table)
Definition: nbr.h:289
const_nbr_ptr_t begin() const
Definition: nbr.h:114
static MutableNbrSlice empty(const StringColumn &column)
Definition: nbr.h:420
timestamp_t get_timestamp() const
Definition: nbr.h:541
bool operator<(const MutableColumnNbr &nbr)
Definition: nbr.h:504
vid_t get_neighbor() const
Definition: nbr.h:92
ImmutableNbrSlice(const StringColumn &column)
Definition: nbr.h:168
const StringColumn & column_
Definition: nbr.h:164
timestamp_t get_timestamp() const
Definition: nbr.h:366
int size() const
Definition: nbr.h:335
struct __attribute__((packed)) ImmutableNbr< Date >
Definition: nbr.h:54
void set_data(const EDATA_T &val)
Definition: nbr.h:44
int size() const
Definition: nbr.h:515
void set_data(const std::string_view &sw, timestamp_t ts)
Definition: nbr.h:474
static MutableNbrSliceMut empty(Table &table)
Definition: nbr.h:605
MutableNbrSlice(MutableNbrSlice< size_t > slice, const Table &table)
Definition: nbr.h:328
const MutableColumnNbr & operator=(const MutableColumnNbr &nbr) const
Definition: nbr.h:370
MutableColumnNbr(nbr_t *ptr, StringColumn &column)
Definition: nbr.h:464
bool operator!=(const ColumnNbr &nbr) const
Definition: nbr.h:148
EDATA_T data
Definition: nbr.h:50
~MutableNbrSliceMut()=default
const MutableTableNbr & operator*() const
Definition: nbr.h:295
const MutableTableNbr * operator->() const
Definition: nbr.h:561
MutableNbr & operator=(const MutableNbr &rhs)
Definition: nbr.h:231
size_t get_index() const
Definition: nbr.h:542
void set_begin(const MutableNbr< size_t > *ptr)
Definition: nbr.h:411
bool operator==(const ColumnNbr &nbr) const
Definition: nbr.h:147
void set_begin(nbr_t *ptr)
Definition: nbr.h:441
void set_size(int size)
Definition: nbr.h:172
vid_t get_neighbor() const
Definition: nbr.h:540
bool operator<(const MutableTableNbr &nbr) const
Definition: nbr.h:321
const StringColumn & column_
Definition: nbr.h:189
grape::EmptyType data
Definition: nbr.h:95
const ColumnNbr * operator->() const
Definition: nbr.h:142
ImmutableNbrSlice< size_t > slice_
Definition: nbr.h:188
const MutableColumnNbr const_nbr_ptr_t
Definition: nbr.h:402
vid_t neighbor
Definition: nbr.h:219
bool operator==(const MutableTableNbr &nbr) const
Definition: nbr.h:567
const MutableColumnNbr end() const
Definition: nbr.h:416
std::string_view get_data() const
Definition: nbr.h:365
MutableTableNbr & operator*()
Definition: nbr.h:560
Definition: loading_config.h:232
bool operator!=(const MutableTableNbr &nbr) const
Definition: nbr.h:304
MutableNbrSliceMut< size_t > slice_
Definition: nbr.h:528
int size() const
Definition: nbr.h:409
vid_t neighbor() const
Definition: nbr.h:539
void set_data(const grape::EmptyType &)
Definition: nbr.h:89
void set_begin(MutableNbr< size_t > *ptr)
Definition: nbr.h:600
MutableTableNbr nbr_ptr_t
Definition: nbr.h:591
~MutableNbrSlice()=default
ImmutableNbrSlice(const ImmutableNbrSlice &rhs)
Definition: nbr.h:105
vid_t get_neighbor() const
Definition: nbr.h:468
grape::EmptyType data
Definition: nbr.h:248
const ColumnNbr & operator*() const
Definition: nbr.h:141
void set_neighbor(vid_t neighbor)
Definition: nbr.h:240
MutableNbrSliceMut()
Definition: nbr.h:435
ColumnNbr(const_nbr_ptr_t ptr, const StringColumn &column)
Definition: nbr.h:136
nbr_t * begin()
Definition: nbr.h:443
void set_neighbor(vid_t neighbor)
Definition: nbr.h:555
const EDATA_T & get_data() const
Definition: nbr.h:208
std::string_view get_data() const
Definition: nbr.h:139
ImmutableNbrSlice(const ImmutableNbrSlice &rhs)
Definition: nbr.h:169
MutableNbrSlice< size_t > slice_
Definition: nbr.h:351
vid_t get_neighbor() const
Definition: nbr.h:243
MutableNbr(const MutableNbr &rhs)
Definition: nbr.h:227
size_t operator-(const MutableColumnNbr &nbr) const
Definition: nbr.h:390
ImmutableNbr & operator=(const ImmutableNbr &rhs)
Definition: nbr.h:35
size_t get_index() const
Definition: nbr.h:473
const grape::EmptyType & get_data() const
Definition: nbr.h:242
MutableTableNbr & operator=(const MutableTableNbr &nbr)
Definition: nbr.h:563
nbr_ptr_t begin()
Definition: nbr.h:602
MutableNbrSlice(const MutableNbrSlice &rhs)
Definition: nbr.h:258
const MutableTableNbr & operator+=(size_t n) const
Definition: nbr.h:312
void set_size(int size)
Definition: nbr.h:514
int size() const
Definition: nbr.h:263
nbr_t * ptr_
Definition: nbr.h:454
ImmutableNbr & operator=(const ImmutableNbr &rhs)
Definition: nbr.h:84
const MutableColumnNbr & operator+=(size_t n) const
Definition: nbr.h:385
const_nbr_ptr_t ptr_
Definition: nbr.h:163
int field_num() const
Definition: nbr.h:598
static MutableNbrSlice empty()
Definition: nbr.h:270
void set_begin(const ImmutableNbr< size_t > *ptr)
Definition: nbr.h:175
static MutableNbrSliceMut empty()
Definition: nbr.h:446
void set_size(int size)
Definition: nbr.h:408
MutableColumnNbr & operator+=(size_t n)
Definition: nbr.h:499
const MutableTableNbr const_nbr_ptr_t
Definition: nbr.h:327
int size() const
Definition: nbr.h:110
MutableNbrSliceMut< size_t > slice_
Definition: nbr.h:610
void set_timestamp(timestamp_t ts)
Definition: nbr.h:557
static MutableNbrSliceMut empty(StringColumn &column)
Definition: nbr.h:522
StringColumn & column_
Definition: nbr.h:529
bool operator==(const MutableColumnNbr &nbr) const
Definition: nbr.h:488
std::string_view data()
Definition: nbr.h:467
void set_begin(const MutableNbr< size_t > *ptr)
Definition: nbr.h:338
int size_
Definition: nbr.h:455
RecordView get_data() const
Definition: nbr.h:293
int size_
Definition: nbr.h:126
MutableTableNbr * operator->()
Definition: nbr.h:562
MutableColumnNbr end()
Definition: nbr.h:520
ImmutableNbr(const ImmutableNbr &rhs)
Definition: nbr.h:81
bool operator<(const ColumnNbr &nbr) const
Definition: nbr.h:161
const ColumnNbr end() const
Definition: nbr.h:178
const ColumnNbr const_nbr_ptr_t
Definition: nbr.h:167
MutableNbrSlice(const MutableNbrSlice &rhs)
Definition: nbr.h:330
MutableTableNbr(nbr_t *ptr, Table &table)
Definition: nbr.h:538
int size() const
Definition: nbr.h:597
MutableColumnNbr begin()
Definition: nbr.h:519
vid_t neighbor() const
Definition: nbr.h:466
const_nbr_ptr_t ptr_
Definition: nbr.h:398
const grape::EmptyType & get_data() const
Definition: nbr.h:91
const ColumnNbr begin() const
Definition: nbr.h:177
void set_size(int size)
Definition: nbr.h:334
const MutableColumnNbr const_nbr_t
Definition: nbr.h:401