Flex  0.17.9
nbr.h
Go to the documentation of this file.
1 
16 #ifndef STORAGES_RT_MUTABLE_GRAPH_CSR_NBR_H_
17 #define STORAGES_RT_MUTABLE_GRAPH_CSR_NBR_H_
18 
19 #include "grape/types.h"
20 
25 
26 namespace gs {
27 
28 template <typename EDATA_T>
29 struct ImmutableNbr {
30  ImmutableNbr() = default;
32  : neighbor(rhs.neighbor), data(rhs.data) {}
33  ~ImmutableNbr() = default;
34 
36  neighbor = rhs.neighbor;
37  data = rhs.data;
38  return *this;
39  }
40 
41  const EDATA_T& get_data() const { return data; }
42  vid_t get_neighbor() const { return neighbor; }
43 
44  void set_data(const EDATA_T& val) { data = val; }
45  void set_neighbor(vid_t neighbor) { this->neighbor = neighbor; }
46 
47  bool exists() const { return neighbor != std::numeric_limits<vid_t>::max(); }
48 
50  EDATA_T data;
51 };
52 
53 template <>
54 struct __attribute__((packed)) ImmutableNbr<Date> {
55  ImmutableNbr() = default;
56  ImmutableNbr(const ImmutableNbr& rhs)
57  : neighbor(rhs.neighbor), data(rhs.data) {}
58  ~ImmutableNbr() = default;
59 
60  ImmutableNbr& operator=(const ImmutableNbr& rhs) {
61  neighbor = rhs.neighbor;
62  data = rhs.data;
63  return *this;
64  }
65 
66  const Date& get_data() const { return data; }
67  vid_t get_neighbor() const { return neighbor; }
68 
69  void set_data(const Date& val) { data = val; }
70  void set_neighbor(vid_t neighbor) { this->neighbor = neighbor; }
71 
72  bool exists() const { return neighbor != std::numeric_limits<vid_t>::max(); }
73 
74  vid_t neighbor;
75  Date data;
76 };
77 
78 template <>
79 struct ImmutableNbr<grape::EmptyType> {
80  ImmutableNbr() = default;
82  ~ImmutableNbr() = default;
83 
85  neighbor = rhs.neighbor;
86  return *this;
87  }
88 
89  void set_data(const grape::EmptyType&) {}
90  void set_neighbor(vid_t neighbor) { this->neighbor = neighbor; }
91  const grape::EmptyType& get_data() const { return data; }
92  vid_t get_neighbor() const { return neighbor; }
93  union {
95  grape::EmptyType data;
96  };
97 };
98 
99 template <typename EDATA_T>
101  public:
104  ImmutableNbrSlice() = default;
106  : ptr_(rhs.ptr_), size_(rhs.size_) {}
107  ~ImmutableNbrSlice() = default;
108 
109  void set_size(int size) { size_ = size; }
110  int size() const { return size_; }
111 
112  void set_begin(const_nbr_ptr_t ptr) { ptr_ = ptr; }
113 
114  const_nbr_ptr_t begin() const { return ptr_; }
115  const_nbr_ptr_t end() const { return ptr_ + size_; }
116 
118  ImmutableNbrSlice ret;
119  ret.set_begin(nullptr);
120  ret.set_size(0);
121  return ret;
122  }
123 
124  private:
126  int size_;
127 };
128 
129 template <>
130 class ImmutableNbrSlice<std::string_view> {
131  public:
132  struct ColumnNbr {
135 
137  : ptr_(ptr), column_(column) {}
138  vid_t get_neighbor() const { return ptr_->neighbor; }
139  std::string_view get_data() const { return column_.get_view(ptr_->data); }
140 
141  const ColumnNbr& operator*() const { return *this; }
142  const ColumnNbr* operator->() const { return this; }
143  const ColumnNbr& operator=(const ColumnNbr& nbr) const {
144  ptr_ = nbr.ptr_;
145  return *this;
146  }
147  bool operator==(const ColumnNbr& nbr) const { return ptr_ == nbr.ptr_; }
148  bool operator!=(const ColumnNbr& nbr) const { return ptr_ != nbr.ptr_; }
149  const ColumnNbr& operator++() const {
150  ++ptr_;
151  return *this;
152  }
153 
154  const ColumnNbr& operator+=(size_t n) const {
155  ptr_ += n;
156  return *this;
157  }
158 
159  size_t operator-(const ColumnNbr& nbr) const { return ptr_ - nbr.ptr_; }
160 
161  bool operator<(const ColumnNbr& nbr) const { return ptr_ < nbr.ptr_; }
162 
165  };
166  using const_nbr_t = const ColumnNbr;
167  using const_nbr_ptr_t = const ColumnNbr;
168  ImmutableNbrSlice(const StringColumn& column) : slice_(), column_(column) {}
170  const StringColumn& column)
171  : slice_(slice), column_(column) {}
173  : slice_(rhs.slice_), column_(rhs.column_) {}
174  ~ImmutableNbrSlice() = default;
175  void set_size(int size) { slice_.set_size(size); }
176  int size() const { return slice_.size(); }
177 
178  void set_begin(const ImmutableNbr<size_t>* ptr) { slice_.set_begin(ptr); }
179 
180  const ColumnNbr begin() const { return ColumnNbr(slice_.begin(), column_); }
181  const ColumnNbr end() const { return ColumnNbr(slice_.end(), column_); }
182 
183  static ImmutableNbrSlice empty(const StringColumn& column) {
184  ImmutableNbrSlice ret(column);
185  ret.set_begin(nullptr);
186  ret.set_size(0);
187  return ret;
188  }
189 
190  private:
193 };
194 
195 template <>
197  public:
198  struct TableNbr {
201 
202  TableNbr(const_nbr_ptr_t ptr, const Table& table)
203  : ptr_(ptr), table_(table) {}
204  vid_t get_neighbor() const { return ptr_->neighbor; }
205  RecordView get_data() const { return RecordView(ptr_->data, &table_); }
206 
207  const TableNbr& operator*() const { return *this; }
208  const TableNbr* operator->() const { return this; }
209  const TableNbr& operator=(const TableNbr& nbr) const {
210  ptr_ = nbr.ptr_;
211  return *this;
212  }
213  bool operator==(const TableNbr& nbr) const { return ptr_ == nbr.ptr_; }
214  bool operator!=(const TableNbr& nbr) const { return ptr_ != nbr.ptr_; }
215  const TableNbr& operator++() const {
216  ++ptr_;
217  return *this;
218  }
219 
220  const TableNbr& operator+=(size_t n) const {
221  ptr_ += n;
222  return *this;
223  }
224 
225  size_t operator-(const TableNbr& nbr) const { return ptr_ - nbr.ptr_; }
226 
227  bool operator<(const TableNbr& nbr) const { return ptr_ < nbr.ptr_; }
228 
230  const Table& table_;
231  };
232  using const_nbr_t = const TableNbr;
233  using const_nbr_ptr_t = const TableNbr;
235  : slice_(slice), table_(table) {}
237  : slice_(rhs.slice_), table_(rhs.table_) {}
238  ~ImmutableNbrSlice() = default;
239  void set_size(int size) { slice_.set_size(size); }
240  int size() const { return slice_.size(); }
241 
242  void set_begin(const ImmutableNbr<size_t>* ptr) { slice_.set_begin(ptr); }
243 
244  const TableNbr begin() const { return TableNbr(slice_.begin(), table_); }
245  const TableNbr end() const { return TableNbr(slice_.end(), table_); }
246 
247  static ImmutableNbrSlice empty(const Table& table) {
249  return ret;
250  }
251 
252  private:
254  const Table& table_;
255 };
256 
257 template <typename EDATA_T>
258 struct MutableNbr {
259  MutableNbr() = default;
260  MutableNbr(const MutableNbr& rhs)
261  : neighbor(rhs.neighbor),
262  timestamp(rhs.timestamp.load()),
263  data(rhs.data) {}
264  ~MutableNbr() = default;
265 
267  neighbor = rhs.neighbor;
268  timestamp.store(rhs.timestamp.load());
269  data = rhs.data;
270  return *this;
271  }
272 
273  const EDATA_T& get_data() const { return data; }
274  vid_t get_neighbor() const { return neighbor; }
275  timestamp_t get_timestamp() const { return timestamp.load(); }
276 
277  void set_data(const EDATA_T& val, timestamp_t ts) {
278  data = val;
279  timestamp.store(ts);
280  }
281  void set_neighbor(vid_t neighbor) { this->neighbor = neighbor; }
282  void set_timestamp(timestamp_t ts) { timestamp.store(ts); }
283 
285  std::atomic<timestamp_t> timestamp;
286  EDATA_T data;
287 };
288 
289 template <>
290 struct MutableNbr<grape::EmptyType> {
291  MutableNbr() = default;
292  MutableNbr(const MutableNbr& rhs)
293  : neighbor(rhs.neighbor), timestamp(rhs.timestamp.load()) {}
294  ~MutableNbr() = default;
295 
297  neighbor = rhs.neighbor;
298  timestamp.store(rhs.timestamp.load());
299  return *this;
300  }
301 
302  void set_data(const grape::EmptyType&, timestamp_t ts) {
303  timestamp.store(ts);
304  }
305  void set_neighbor(vid_t neighbor) { this->neighbor = neighbor; }
306  void set_timestamp(timestamp_t ts) { timestamp.store(ts); }
307  const grape::EmptyType& get_data() const { return data; }
308  vid_t get_neighbor() const { return neighbor; }
309  timestamp_t get_timestamp() const { return timestamp.load(); }
311  union {
312  std::atomic<timestamp_t> timestamp;
313  grape::EmptyType data;
314  };
315 };
316 
317 template <typename EDATA_T>
319  public:
322  MutableNbrSlice() : ptr_(nullptr), size_(0){};
324  : ptr_(rhs.ptr_), size_(rhs.size_) {}
325  ~MutableNbrSlice() = default;
326 
327  void set_size(int size) { size_ = size; }
328  inline int size() const { return size_; }
329 
330  void set_begin(const_nbr_ptr_t ptr) { ptr_ = ptr; }
331 
332  inline const_nbr_ptr_t begin() const { return ptr_; }
333  inline const_nbr_ptr_t end() const { return ptr_ + size_; }
334 
336  MutableNbrSlice ret;
337  ret.set_begin(nullptr);
338  ret.set_size(0);
339  return ret;
340  }
341 
342  private:
344  int size_;
345 };
346 
347 template <>
349  public:
350  struct MutableTableNbr {
353 
355  : ptr_(ptr), table_(table) {}
356  vid_t get_neighbor() const { return ptr_->neighbor; }
357  timestamp_t get_timestamp() const { return ptr_->timestamp.load(); }
358  RecordView get_data() const { return RecordView(ptr_->data, &table_); }
359 
360  const MutableTableNbr& operator*() const { return *this; }
361  const MutableTableNbr* operator->() const { return this; }
362  const MutableTableNbr& operator=(const MutableTableNbr& nbr) const {
363  ptr_ = nbr.ptr_;
364  return *this;
365  }
366  bool operator==(const MutableTableNbr& nbr) const {
367  return ptr_ == nbr.ptr_;
368  }
369  bool operator!=(const MutableTableNbr& nbr) const {
370  return ptr_ != nbr.ptr_;
371  }
372  const MutableTableNbr& operator++() const {
373  ++ptr_;
374  return *this;
375  }
376 
377  const MutableTableNbr& operator+=(size_t n) const {
378  ptr_ += n;
379  return *this;
380  }
381 
382  size_t operator-(const MutableTableNbr& nbr) const {
383  return ptr_ - nbr.ptr_;
384  }
385 
386  bool operator<(const MutableTableNbr& nbr) const { return ptr_ < nbr.ptr_; }
387 
389  const Table& table_;
390  };
391  using const_nbr_t = const MutableTableNbr;
392  using const_nbr_ptr_t = const MutableTableNbr;
394  : slice_(slice), table_(table) {}
396  : slice_(rhs.slice_), table_(rhs.table_) {}
397  ~MutableNbrSlice() = default;
398 
399  void set_size(int size) { slice_.set_size(size); }
400  int size() const { return slice_.size(); }
401  int field_num() const { return table_.col_num(); }
402 
403  void set_begin(const MutableNbr<size_t>* ptr) { slice_.set_begin(ptr); }
404 
405  const MutableTableNbr begin() const {
406  return MutableTableNbr(slice_.begin(), table_);
407  }
408 
409  const MutableTableNbr end() const {
410  return MutableTableNbr(slice_.end(), table_);
411  }
412  static MutableNbrSlice empty(const Table& table) {
414  return ret;
415  }
417  const Table& table_;
418 };
419 
420 template <>
421 class MutableNbrSlice<std::string_view> {
422  public:
423  struct MutableColumnNbr {
426 
428  : ptr_(ptr), column_(column) {}
429  vid_t get_neighbor() const { return ptr_->neighbor; }
430  std::string_view get_data() const { return column_.get_view(ptr_->data); }
431  timestamp_t get_timestamp() const { return ptr_->timestamp.load(); }
432 
433  const MutableColumnNbr& operator*() const { return *this; }
434  const MutableColumnNbr* operator->() const { return this; }
435  const MutableColumnNbr& operator=(const MutableColumnNbr& nbr) const {
436  ptr_ = nbr.ptr_;
437  return *this;
438  }
439  bool operator==(const MutableColumnNbr& nbr) const {
440  return ptr_ == nbr.ptr_;
441  }
442  bool operator!=(const MutableColumnNbr& nbr) const {
443  return ptr_ != nbr.ptr_;
444  }
445  const MutableColumnNbr& operator++() const {
446  ++ptr_;
447  return *this;
448  }
449 
450  const MutableColumnNbr& operator+=(size_t n) const {
451  ptr_ += n;
452  return *this;
453  }
454 
455  size_t operator-(const MutableColumnNbr& nbr) const {
456  return ptr_ - nbr.ptr_;
457  }
458 
459  bool operator<(const MutableColumnNbr& nbr) const {
460  return ptr_ < nbr.ptr_;
461  }
462 
465  };
466  using const_nbr_t = const MutableColumnNbr;
467  using const_nbr_ptr_t = const MutableColumnNbr;
469  : slice_(slice), column_(column) {}
471  : slice_(rhs.slice_), column_(rhs.column_) {}
472  ~MutableNbrSlice() = default;
473  void set_size(int size) { slice_.set_size(size); }
474  int size() const { return slice_.size(); }
475 
476  void set_begin(const MutableNbr<size_t>* ptr) { slice_.set_begin(ptr); }
477 
478  const MutableColumnNbr begin() const {
479  return MutableColumnNbr(slice_.begin(), column_);
480  }
481  const MutableColumnNbr end() const {
482  return MutableColumnNbr(slice_.end(), column_);
483  }
484 
485  static MutableNbrSlice empty(const StringColumn& column) {
487  return ret;
488  }
489 
490  private:
493 };
494 
495 template <typename EDATA_T>
497  public:
500  MutableNbrSliceMut() : ptr_(nullptr), size_(0){};
501  ~MutableNbrSliceMut() = default;
502 
503  void set_size(int size) { size_ = size; }
504  int size() const { return size_; }
505 
506  void set_begin(nbr_t* ptr) { ptr_ = ptr; }
507 
508  nbr_t* begin() { return ptr_; }
509  nbr_t* end() { return ptr_ + size_; }
510 
512  MutableNbrSliceMut ret;
513  ret.set_begin(nullptr);
514  ret.set_size(0);
515  return ret;
516  }
517 
518  private:
520  int size_;
521 };
522 
523 template <>
524 class MutableNbrSliceMut<std::string_view> {
525  public:
526  struct MutableColumnNbr {
528 
530  : ptr_(ptr), column_(column) {}
531  vid_t neighbor() const { return ptr_->neighbor; }
532  std::string_view data() { return column_.get_view(ptr_->data); }
533  vid_t get_neighbor() const { return ptr_->neighbor; }
534  const std::string_view get_data() const {
535  return column_.get_view(ptr_->data);
536  }
537  timestamp_t get_timestamp() const { return ptr_->timestamp.load(); }
538  size_t get_index() const { return ptr_->data; }
539  void set_data(const std::string_view& sw, timestamp_t ts) {
540  column_.set_value(ptr_->data, sw);
541  ptr_->timestamp.store(ts);
542  }
543  void set_neighbor(vid_t neighbor) { ptr_->neighbor = neighbor; }
544 
545  void set_timestamp(timestamp_t ts) { ptr_->timestamp.store(ts); }
546 
547  const MutableColumnNbr& operator*() const { return *this; }
548  MutableColumnNbr& operator*() { return *this; }
549  MutableColumnNbr& operator=(const MutableColumnNbr& nbr) {
550  ptr_ = nbr.ptr_;
551  return *this;
552  }
553  bool operator==(const MutableColumnNbr& nbr) const {
554  return ptr_ == nbr.ptr_;
555  }
556  bool operator!=(const MutableColumnNbr& nbr) const {
557  return ptr_ != nbr.ptr_;
558  }
559 
560  MutableColumnNbr& operator++() {
561  ptr_++;
562  return *this;
563  }
564  MutableColumnNbr& operator+=(size_t n) {
565  ptr_ += n;
566  return *this;
567  }
568 
569  bool operator<(const MutableColumnNbr& nbr) { return ptr_ < nbr.ptr_; }
570 
573  };
574  using nbr_ptr_t = MutableColumnNbr;
575 
577  : slice_(slice), column_(column) {}
578  ~MutableNbrSliceMut() = default;
579  void set_size(int size) { slice_.set_size(size); }
580  int size() const { return slice_.size(); }
581 
582  void set_begin(MutableNbr<size_t>* ptr) { slice_.set_begin(ptr); }
583 
584  MutableColumnNbr begin() { return MutableColumnNbr(slice_.begin(), column_); }
585  MutableColumnNbr end() { return MutableColumnNbr(slice_.end(), column_); }
586 
589  return ret;
590  }
591 
592  private:
595 };
596 
597 template <>
599  public:
600  struct MutableTableNbr {
602 
603  MutableTableNbr(nbr_t* ptr, Table& table) : ptr_(ptr), table_(table) {}
604  vid_t neighbor() const { return ptr_->neighbor; }
605  vid_t get_neighbor() const { return ptr_->neighbor; }
606  timestamp_t get_timestamp() const { return ptr_->timestamp.load(); }
607  size_t get_index() const { return ptr_->data; }
608  RecordView get_data() const { return RecordView(ptr_->data, &table_); }
609 
610  void set_data(const Record& r, timestamp_t ts) {
611  grape::InArchive in;
612  for (size_t i = 0; i < r.len; ++i) {
613  in << r.props[i];
614  }
615  grape::OutArchive out;
616  out.SetSlice(in.GetBuffer(), in.GetSize());
617  table_.ingest(ptr_->data, out);
618  ptr_->timestamp.store(ts);
619  }
620  void set_neighbor(vid_t neighbor) { ptr_->neighbor = neighbor; }
621 
622  void set_timestamp(timestamp_t ts) { ptr_->timestamp.store(ts); }
623 
624  const MutableTableNbr& operator*() const { return *this; }
625  MutableTableNbr& operator*() { return *this; }
626  const MutableTableNbr* operator->() const { return this; }
627  MutableTableNbr* operator->() { return this; }
628  MutableTableNbr& operator=(const MutableTableNbr& nbr) {
629  ptr_ = nbr.ptr_;
630  return *this;
631  }
632  bool operator==(const MutableTableNbr& nbr) const {
633  return ptr_ == nbr.ptr_;
634  }
635  bool operator!=(const MutableTableNbr& nbr) const {
636  return ptr_ != nbr.ptr_;
637  }
638 
639  const MutableTableNbr& operator++() const {
640  ptr_++;
641  return *this;
642  }
643  const MutableTableNbr& operator+=(size_t n) const {
644  ptr_ += n;
645  return *this;
646  }
647  size_t operator-(const MutableTableNbr& nbr) const {
648  return ptr_ - nbr.ptr_;
649  }
650 
651  bool operator<(const MutableTableNbr& nbr) { return ptr_ < nbr.ptr_; }
652 
653  mutable nbr_t* ptr_;
655  };
656  using nbr_ptr_t = MutableTableNbr;
657 
659  : slice_(slice), table_(table) {}
660  ~MutableNbrSliceMut() = default;
661  void set_size(int size) { slice_.set_size(size); }
662  int size() const { return slice_.size(); }
663  int field_num() const { return table_.col_num(); }
664 
665  void set_begin(MutableNbr<size_t>* ptr) { slice_.set_begin(ptr); }
666 
667  nbr_ptr_t begin() { return MutableTableNbr(slice_.begin(), table_); }
668  nbr_ptr_t end() { return MutableTableNbr(slice_.end(), table_); }
669 
670  static MutableNbrSliceMut empty(Table& table) {
672  return ret;
673  }
674 
677 };
678 } // namespace gs
679 
680 #endif // STORAGES_RT_MUTABLE_GRAPH_CSR_NBR_H_
grape
Definition: types.h:33
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator!=
bool operator!=(const TableNbr &nbr) const
Definition: nbr.h:214
gs::MutableNbrSlice< std::string_view >::MutableNbrSlice
MutableNbrSlice(const MutableNbrSlice &rhs)
Definition: nbr.h:470
gs::MutableNbr< grape::EmptyType >::get_timestamp
timestamp_t get_timestamp() const
Definition: nbr.h:309
gs::ImmutableNbr::set_neighbor
void set_neighbor(vid_t neighbor)
Definition: nbr.h:45
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::ptr_
nbr_t * ptr_
Definition: nbr.h:571
gs::ImmutableNbr::ImmutableNbr
ImmutableNbr(const ImmutableNbr &rhs)
Definition: nbr.h:31
gs::MutableNbrSliceMut::set_size
void set_size(int size)
Definition: nbr.h:503
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator++
MutableColumnNbr & operator++()
Definition: nbr.h:560
gs::MutableNbrSliceMut< std::string_view >::MutableNbrSliceMut
MutableNbrSliceMut(MutableNbrSliceMut< size_t > slice, StringColumn &column)
Definition: nbr.h:576
gs::MutableNbrSlice< RecordView >::MutableTableNbr::ptr_
const_nbr_ptr_t ptr_
Definition: nbr.h:388
gs::MutableNbr::get_timestamp
timestamp_t get_timestamp() const
Definition: nbr.h:275
gs::MutableNbrSlice::ptr_
const_nbr_ptr_t ptr_
Definition: nbr.h:343
gs::MutableNbrSliceMut< RecordView >::table_
Table & table_
Definition: nbr.h:676
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::set_data
void set_data(const Record &r, timestamp_t ts)
Definition: nbr.h:610
gs::MutableNbrSlice< std::string_view >::slice_
MutableNbrSlice< size_t > slice_
Definition: nbr.h:491
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator*
const MutableColumnNbr & operator*() const
Definition: nbr.h:547
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator++
const MutableTableNbr & operator++() const
Definition: nbr.h:639
gs::MutableNbr::set_data
void set_data(const EDATA_T &val, timestamp_t ts)
Definition: nbr.h:277
gs::MutableNbrSliceMut< std::string_view >::set_begin
void set_begin(MutableNbr< size_t > *ptr)
Definition: nbr.h:582
gs::MutableNbrSlice< RecordView >::begin
const MutableTableNbr begin() const
Definition: nbr.h:405
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator<
bool operator<(const MutableColumnNbr &nbr) const
Definition: nbr.h:459
gs::MutableNbrSlice< RecordView >::end
const MutableTableNbr end() const
Definition: nbr.h:409
gs::MutableNbrSliceMut< std::string_view >::nbr_ptr_t
MutableColumnNbr nbr_ptr_t
Definition: nbr.h:574
gs::timestamp_t
uint32_t timestamp_t
Definition: types.h:30
gs::ImmutableNbrSlice< RecordView >::TableNbr::table_
const Table & table_
Definition: nbr.h:230
gs::MutableNbrSlice::set_size
void set_size(int size)
Definition: nbr.h:327
types.h
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator++
const ColumnNbr & operator++() const
Definition: nbr.h:149
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator++
const MutableTableNbr & operator++() const
Definition: nbr.h:372
gs::MutableNbr< grape::EmptyType >::set_timestamp
void set_timestamp(timestamp_t ts)
Definition: nbr.h:306
gs::MutableNbrSlice::set_begin
void set_begin(const_nbr_ptr_t ptr)
Definition: nbr.h:330
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator==
bool operator==(const TableNbr &nbr) const
Definition: nbr.h:213
gs::MutableNbrSlice< RecordView >::field_num
int field_num() const
Definition: nbr.h:401
gs::ImmutableNbr< grape::EmptyType >::neighbor
vid_t neighbor
Definition: nbr.h:94
gs::MutableNbrSliceMut< RecordView >::end
nbr_ptr_t end()
Definition: nbr.h:668
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:429
gs::ImmutableNbrSlice< RecordView >::begin
const TableNbr begin() const
Definition: nbr.h:244
gs::MutableNbrSlice< std::string_view >::column_
const StringColumn & column_
Definition: nbr.h:492
gs::ImmutableNbrSlice
Definition: nbr.h:100
gs::MutableNbrSlice< RecordView >::MutableTableNbr::get_timestamp
timestamp_t get_timestamp() const
Definition: nbr.h:357
gs::ImmutableNbrSlice< RecordView >::TableNbr::ptr_
const_nbr_ptr_t ptr_
Definition: nbr.h:229
gs::ImmutableNbrSlice::set_begin
void set_begin(const_nbr_ptr_t ptr)
Definition: nbr.h:112
gs::MutableNbrSlice< RecordView >::MutableTableNbr::table_
const Table & table_
Definition: nbr.h:389
gs::MutableNbrSlice< RecordView >::MutableTableNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:356
column.h
gs::ImmutableNbr::ImmutableNbr
ImmutableNbr()=default
gs::vid_t
uint32_t vid_t
Definition: types.h:31
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator=
MutableColumnNbr & operator=(const MutableColumnNbr &nbr)
Definition: nbr.h:549
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::table_
Table & table_
Definition: nbr.h:654
gs::ImmutableNbr::neighbor
vid_t neighbor
Definition: nbr.h:49
gs::MutableNbrSlice::MutableNbrSlice
MutableNbrSlice()
Definition: nbr.h:322
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator=
const MutableTableNbr & operator=(const MutableTableNbr &nbr) const
Definition: nbr.h:362
gs::ImmutableNbrSlice::ptr_
const_nbr_ptr_t ptr_
Definition: nbr.h:125
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator-
size_t operator-(const ColumnNbr &nbr) const
Definition: nbr.h:159
gs::MutableNbrSliceMut::end
nbr_t * end()
Definition: nbr.h:509
gs::MutableNbrSlice::size_
int size_
Definition: nbr.h:344
gs::ImmutableNbrSlice< RecordView >::empty
static ImmutableNbrSlice empty(const Table &table)
Definition: nbr.h:247
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator-
size_t operator-(const MutableTableNbr &nbr) const
Definition: nbr.h:647
gs::MutableNbr< grape::EmptyType >::timestamp
std::atomic< timestamp_t > timestamp
Definition: nbr.h:312
gs::ImmutableNbr::~ImmutableNbr
~ImmutableNbr()=default
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator->
const TableNbr * operator->() const
Definition: nbr.h:208
gs::MutableNbr::operator=
MutableNbr & operator=(const MutableNbr &rhs)
Definition: nbr.h:266
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator++
const MutableColumnNbr & operator++() const
Definition: nbr.h:445
gs::MutableNbr::MutableNbr
MutableNbr(const MutableNbr &rhs)
Definition: nbr.h:260
gs::MutableNbrSlice< std::string_view >::begin
const MutableColumnNbr begin() const
Definition: nbr.h:478
gs::MutableNbrSliceMut::size
int size() const
Definition: nbr.h:504
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator*
const MutableColumnNbr & operator*() const
Definition: nbr.h:433
gs::MutableNbrSliceMut< RecordView >::set_size
void set_size(int size)
Definition: nbr.h:661
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:138
gs
Definition: adj_list.h:23
gs::MutableNbrSlice< std::string_view >::MutableNbrSlice
MutableNbrSlice(MutableNbrSlice< size_t > slice, const StringColumn &column)
Definition: nbr.h:468
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator<
bool operator<(const MutableTableNbr &nbr)
Definition: nbr.h:651
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::column_
StringColumn & column_
Definition: nbr.h:572
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::ptr_
nbr_t * ptr_
Definition: nbr.h:653
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator+=
const TableNbr & operator+=(size_t n) const
Definition: nbr.h:220
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator!=
bool operator!=(const MutableTableNbr &nbr) const
Definition: nbr.h:635
gs::MutableNbrSlice< RecordView >::const_nbr_t
const MutableTableNbr const_nbr_t
Definition: nbr.h:391
gs::ImmutableNbr::get_data
const EDATA_T & get_data() const
Definition: nbr.h:41
gs::MutableNbrSlice< RecordView >::empty
static MutableNbrSlice empty(const Table &table)
Definition: nbr.h:412
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator->
const MutableColumnNbr * operator->() const
Definition: nbr.h:434
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator*
const MutableTableNbr & operator*() const
Definition: nbr.h:624
gs::MutableNbr< grape::EmptyType >::set_data
void set_data(const grape::EmptyType &, timestamp_t ts)
Definition: nbr.h:302
gs::MutableNbrSlice::begin
const_nbr_ptr_t begin() const
Definition: nbr.h:332
gs::MutableNbr
Definition: nbr.h:258
gs::MutableNbr::timestamp
std::atomic< timestamp_t > timestamp
Definition: nbr.h:285
gs::ImmutableNbrSlice::end
const_nbr_ptr_t end() const
Definition: nbr.h:115
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator+=
const ColumnNbr & operator+=(size_t n) const
Definition: nbr.h:154
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator*
MutableColumnNbr & operator*()
Definition: nbr.h:548
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::get_data
RecordView get_data() const
Definition: nbr.h:608
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::get_timestamp
timestamp_t get_timestamp() const
Definition: nbr.h:537
gs::ImmutableNbrSlice::empty
static ImmutableNbrSlice empty()
Definition: nbr.h:117
gs::Table
Definition: table.h:30
gs::ImmutableNbrSlice::ImmutableNbrSlice
ImmutableNbrSlice()=default
gs::ImmutableNbrSlice< RecordView >::set_begin
void set_begin(const ImmutableNbr< size_t > *ptr)
Definition: nbr.h:242
gs::ImmutableNbrSlice< std::string_view >::size
int size() const
Definition: nbr.h:176
gs::ImmutableNbr< grape::EmptyType >::set_neighbor
void set_neighbor(vid_t neighbor)
Definition: nbr.h:90
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator==
bool operator==(const MutableColumnNbr &nbr) const
Definition: nbr.h:439
gs::Record::len
size_t len
Definition: types.h:330
gs::MutableNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:274
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator==
bool operator==(const MutableTableNbr &nbr) const
Definition: nbr.h:366
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator=
const ColumnNbr & operator=(const ColumnNbr &nbr) const
Definition: nbr.h:143
gs::ImmutableNbrSlice< RecordView >::end
const TableNbr end() const
Definition: nbr.h:245
gs::Record::props
Any * props
Definition: types.h:331
gs::ImmutableNbrSlice< RecordView >::TableNbr::TableNbr
TableNbr(const_nbr_ptr_t ptr, const Table &table)
Definition: nbr.h:202
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator-
size_t operator-(const MutableTableNbr &nbr) const
Definition: nbr.h:382
gs::ImmutableNbrSlice::set_size
void set_size(int size)
Definition: nbr.h:109
gs::MutableNbr::set_timestamp
void set_timestamp(timestamp_t ts)
Definition: nbr.h:282
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::set_neighbor
void set_neighbor(vid_t neighbor)
Definition: nbr.h:543
gs::ImmutableNbrSlice< std::string_view >::empty
static ImmutableNbrSlice empty(const StringColumn &column)
Definition: nbr.h:183
gs::MutableNbrSlice< RecordView >::table_
const Table & table_
Definition: nbr.h:417
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator+=
const MutableTableNbr & operator+=(size_t n) const
Definition: nbr.h:643
gs::MutableNbrSlice::end
const_nbr_ptr_t end() const
Definition: nbr.h:333
gs::MutableNbr::data
EDATA_T data
Definition: nbr.h:286
gs::ImmutableNbrSlice< std::string_view >::const_nbr_t
const ColumnNbr const_nbr_t
Definition: nbr.h:166
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::column_
const StringColumn & column_
Definition: nbr.h:464
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::MutableColumnNbr
MutableColumnNbr(const_nbr_ptr_t ptr, const StringColumn &column)
Definition: nbr.h:427
gs::MutableNbr< grape::EmptyType >::neighbor
vid_t neighbor
Definition: nbr.h:310
gs::Record
Definition: types.h:316
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator<
bool operator<(const TableNbr &nbr) const
Definition: nbr.h:227
gs::ImmutableNbrSlice< RecordView >::ImmutableNbrSlice
ImmutableNbrSlice(const ImmutableNbrSlice &rhs)
Definition: nbr.h:236
gs::MutableNbr::set_neighbor
void set_neighbor(vid_t neighbor)
Definition: nbr.h:281
gs::TypedColumn< std::string_view >
Definition: column.h:347
gs::ImmutableNbr::exists
bool exists() const
Definition: nbr.h:47
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::get_data
const std::string_view get_data() const
Definition: nbr.h:534
gs::MutableNbrSliceMut< RecordView >::MutableNbrSliceMut
MutableNbrSliceMut(MutableNbrSliceMut< size_t > slice, Table &table)
Definition: nbr.h:658
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator!=
bool operator!=(const MutableColumnNbr &nbr) const
Definition: nbr.h:556
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::set_timestamp
void set_timestamp(timestamp_t ts)
Definition: nbr.h:545
gs::ImmutableNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:42
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator->
const MutableTableNbr * operator->() const
Definition: nbr.h:361
gs::ImmutableNbrSlice::~ImmutableNbrSlice
~ImmutableNbrSlice()=default
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator!=
bool operator!=(const MutableColumnNbr &nbr) const
Definition: nbr.h:442
gs::MutableNbrSlice< RecordView >::MutableTableNbr::MutableTableNbr
MutableTableNbr(const_nbr_ptr_t ptr, const Table &table)
Definition: nbr.h:354
gs::ImmutableNbrSlice::begin
const_nbr_ptr_t begin() const
Definition: nbr.h:114
gs::MutableNbrSlice< std::string_view >::empty
static MutableNbrSlice empty(const StringColumn &column)
Definition: nbr.h:485
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::get_timestamp
timestamp_t get_timestamp() const
Definition: nbr.h:606
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator<
bool operator<(const MutableColumnNbr &nbr)
Definition: nbr.h:569
gs::ImmutableNbr< grape::EmptyType >::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:92
gs::ImmutableNbrSlice< std::string_view >::ImmutableNbrSlice
ImmutableNbrSlice(const StringColumn &column)
Definition: nbr.h:168
gs::ImmutableNbrSlice< RecordView >::const_nbr_t
const TableNbr const_nbr_t
Definition: nbr.h:232
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::column_
const StringColumn & column_
Definition: nbr.h:164
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::get_timestamp
timestamp_t get_timestamp() const
Definition: nbr.h:431
gs::MutableNbrSlice< RecordView >::size
int size() const
Definition: nbr.h:400
gs::__attribute__
struct __attribute__((packed)) ImmutableNbr< Date >
Definition: nbr.h:54
gs::ImmutableNbr::set_data
void set_data(const EDATA_T &val)
Definition: nbr.h:44
gs::MutableNbrSliceMut< std::string_view >::size
int size() const
Definition: nbr.h:580
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::set_data
void set_data(const std::string_view &sw, timestamp_t ts)
Definition: nbr.h:539
gs::MutableNbrSliceMut< RecordView >::empty
static MutableNbrSliceMut empty(Table &table)
Definition: nbr.h:670
gs::MutableNbrSlice< RecordView >::MutableNbrSlice
MutableNbrSlice(MutableNbrSlice< size_t > slice, const Table &table)
Definition: nbr.h:393
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator=
const MutableColumnNbr & operator=(const MutableColumnNbr &nbr) const
Definition: nbr.h:435
gs::ImmutableNbrSlice< RecordView >::TableNbr::get_data
RecordView get_data() const
Definition: nbr.h:205
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::MutableColumnNbr
MutableColumnNbr(nbr_t *ptr, StringColumn &column)
Definition: nbr.h:529
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator!=
bool operator!=(const ColumnNbr &nbr) const
Definition: nbr.h:148
gs::ImmutableNbr::data
EDATA_T data
Definition: nbr.h:50
gs::MutableNbrSliceMut::~MutableNbrSliceMut
~MutableNbrSliceMut()=default
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator*
const MutableTableNbr & operator*() const
Definition: nbr.h:360
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator->
const MutableTableNbr * operator->() const
Definition: nbr.h:626
gs::MutableNbr< grape::EmptyType >::operator=
MutableNbr & operator=(const MutableNbr &rhs)
Definition: nbr.h:296
gs::MutableNbr::MutableNbr
MutableNbr()=default
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::get_index
size_t get_index() const
Definition: nbr.h:607
gs::ImmutableNbrSlice< RecordView >::ImmutableNbrSlice
ImmutableNbrSlice(const ImmutableNbrSlice< size_t > &slice, const Table &table)
Definition: nbr.h:234
gs::MutableNbrSlice< std::string_view >::set_begin
void set_begin(const MutableNbr< size_t > *ptr)
Definition: nbr.h:476
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator==
bool operator==(const ColumnNbr &nbr) const
Definition: nbr.h:147
gs::MutableNbrSliceMut::set_begin
void set_begin(nbr_t *ptr)
Definition: nbr.h:506
gs::ImmutableNbrSlice< std::string_view >::set_size
void set_size(int size)
Definition: nbr.h:175
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator=
const TableNbr & operator=(const TableNbr &nbr) const
Definition: nbr.h:209
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:605
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator<
bool operator<(const MutableTableNbr &nbr) const
Definition: nbr.h:386
gs::ImmutableNbrSlice< RecordView >::set_size
void set_size(int size)
Definition: nbr.h:239
gs::ImmutableNbrSlice< std::string_view >::column_
const StringColumn & column_
Definition: nbr.h:192
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator++
const TableNbr & operator++() const
Definition: nbr.h:215
gs::ImmutableNbrSlice< RecordView >::size
int size() const
Definition: nbr.h:240
gs::ImmutableNbr< grape::EmptyType >::data
grape::EmptyType data
Definition: nbr.h:95
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator->
const ColumnNbr * operator->() const
Definition: nbr.h:142
gs::ImmutableNbrSlice< std::string_view >::slice_
ImmutableNbrSlice< size_t > slice_
Definition: nbr.h:191
gs::MutableNbrSlice< std::string_view >::const_nbr_ptr_t
const MutableColumnNbr const_nbr_ptr_t
Definition: nbr.h:467
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator-
size_t operator-(const TableNbr &nbr) const
Definition: nbr.h:225
gs::MutableNbr::neighbor
vid_t neighbor
Definition: nbr.h:284
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator==
bool operator==(const MutableTableNbr &nbr) const
Definition: nbr.h:632
gs::MutableNbrSliceMut
Definition: nbr.h:496
types.h
gs::MutableNbrSlice< std::string_view >::end
const MutableColumnNbr end() const
Definition: nbr.h:481
gs::ImmutableNbrSlice< RecordView >::const_nbr_ptr_t
const TableNbr const_nbr_ptr_t
Definition: nbr.h:233
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::get_data
std::string_view get_data() const
Definition: nbr.h:430
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator*
MutableTableNbr & operator*()
Definition: nbr.h:625
std
Definition: loading_config.h:232
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator!=
bool operator!=(const MutableTableNbr &nbr) const
Definition: nbr.h:369
gs::ImmutableNbrSlice< RecordView >::table_
const Table & table_
Definition: nbr.h:254
gs::ImmutableNbrSlice< RecordView >::TableNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:204
gs::MutableNbrSliceMut< std::string_view >::slice_
MutableNbrSliceMut< size_t > slice_
Definition: nbr.h:593
gs::MutableNbrSlice< std::string_view >::size
int size() const
Definition: nbr.h:474
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::neighbor
vid_t neighbor() const
Definition: nbr.h:604
gs::ImmutableNbr< grape::EmptyType >::set_data
void set_data(const grape::EmptyType &)
Definition: nbr.h:89
gs::MutableNbrSliceMut< RecordView >::set_begin
void set_begin(MutableNbr< size_t > *ptr)
Definition: nbr.h:665
gs::MutableNbrSliceMut< RecordView >::nbr_ptr_t
MutableTableNbr nbr_ptr_t
Definition: nbr.h:656
gs::MutableNbrSlice::~MutableNbrSlice
~MutableNbrSlice()=default
gs::ImmutableNbrSlice::ImmutableNbrSlice
ImmutableNbrSlice(const ImmutableNbrSlice &rhs)
Definition: nbr.h:105
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:533
gs::MutableNbr< grape::EmptyType >::data
grape::EmptyType data
Definition: nbr.h:313
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator*
const ColumnNbr & operator*() const
Definition: nbr.h:141
gs::MutableNbr< grape::EmptyType >::set_neighbor
void set_neighbor(vid_t neighbor)
Definition: nbr.h:305
gs::MutableNbrSliceMut::MutableNbrSliceMut
MutableNbrSliceMut()
Definition: nbr.h:500
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::ColumnNbr
ColumnNbr(const_nbr_ptr_t ptr, const StringColumn &column)
Definition: nbr.h:136
gs::MutableNbrSliceMut::begin
nbr_t * begin()
Definition: nbr.h:508
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::set_neighbor
void set_neighbor(vid_t neighbor)
Definition: nbr.h:620
gs::MutableNbr::get_data
const EDATA_T & get_data() const
Definition: nbr.h:273
gs::ImmutableNbr
Definition: nbr.h:29
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::get_data
std::string_view get_data() const
Definition: nbr.h:139
gs::ImmutableNbrSlice< RecordView >::TableNbr::operator*
const TableNbr & operator*() const
Definition: nbr.h:207
gs::ImmutableNbrSlice< std::string_view >::ImmutableNbrSlice
ImmutableNbrSlice(const ImmutableNbrSlice &rhs)
Definition: nbr.h:172
gs::MutableNbrSlice< RecordView >::slice_
MutableNbrSlice< size_t > slice_
Definition: nbr.h:416
gs::MutableNbr< grape::EmptyType >::get_neighbor
vid_t get_neighbor() const
Definition: nbr.h:308
gs::MutableNbr< grape::EmptyType >::MutableNbr
MutableNbr(const MutableNbr &rhs)
Definition: nbr.h:292
gs::ImmutableNbrSlice< RecordView >::slice_
ImmutableNbrSlice< size_t > slice_
Definition: nbr.h:253
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator-
size_t operator-(const MutableColumnNbr &nbr) const
Definition: nbr.h:455
gs::ImmutableNbr::operator=
ImmutableNbr & operator=(const ImmutableNbr &rhs)
Definition: nbr.h:35
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::get_index
size_t get_index() const
Definition: nbr.h:538
gs::ImmutableNbrSlice< std::string_view >::ImmutableNbrSlice
ImmutableNbrSlice(const ImmutableNbrSlice< size_t > &slice, const StringColumn &column)
Definition: nbr.h:169
gs::MutableNbr< grape::EmptyType >::get_data
const grape::EmptyType & get_data() const
Definition: nbr.h:307
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator=
MutableTableNbr & operator=(const MutableTableNbr &nbr)
Definition: nbr.h:628
gs::MutableNbrSliceMut< RecordView >::begin
nbr_ptr_t begin()
Definition: nbr.h:667
gs::MutableNbrSlice::MutableNbrSlice
MutableNbrSlice(const MutableNbrSlice &rhs)
Definition: nbr.h:323
gs::MutableNbrSlice< RecordView >::MutableTableNbr::operator+=
const MutableTableNbr & operator+=(size_t n) const
Definition: nbr.h:377
gs::MutableNbrSliceMut< std::string_view >::set_size
void set_size(int size)
Definition: nbr.h:579
gs::MutableNbrSlice::size
int size() const
Definition: nbr.h:328
gs::MutableNbrSliceMut::ptr_
nbr_t * ptr_
Definition: nbr.h:519
gs::ImmutableNbr< grape::EmptyType >::operator=
ImmutableNbr & operator=(const ImmutableNbr &rhs)
Definition: nbr.h:84
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::operator+=
const MutableColumnNbr & operator+=(size_t n) const
Definition: nbr.h:450
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::ptr_
const_nbr_ptr_t ptr_
Definition: nbr.h:163
gs::MutableNbrSliceMut< RecordView >::field_num
int field_num() const
Definition: nbr.h:663
gs::MutableNbrSlice::empty
static MutableNbrSlice empty()
Definition: nbr.h:335
gs::ImmutableNbrSlice< std::string_view >::set_begin
void set_begin(const ImmutableNbr< size_t > *ptr)
Definition: nbr.h:178
gs::MutableNbrSliceMut::empty
static MutableNbrSliceMut empty()
Definition: nbr.h:511
gs::RecordView
Definition: types.h:292
gs::MutableNbrSlice< std::string_view >::set_size
void set_size(int size)
Definition: nbr.h:473
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator+=
MutableColumnNbr & operator+=(size_t n)
Definition: nbr.h:564
gs::MutableNbrSlice< RecordView >::const_nbr_ptr_t
const MutableTableNbr const_nbr_ptr_t
Definition: nbr.h:392
gs::ImmutableNbrSlice::size
int size() const
Definition: nbr.h:110
gs::MutableNbrSliceMut< RecordView >::slice_
MutableNbrSliceMut< size_t > slice_
Definition: nbr.h:675
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::set_timestamp
void set_timestamp(timestamp_t ts)
Definition: nbr.h:622
gs::MutableNbrSliceMut< std::string_view >::empty
static MutableNbrSliceMut empty(StringColumn &column)
Definition: nbr.h:587
gs::MutableNbrSliceMut< std::string_view >::column_
StringColumn & column_
Definition: nbr.h:594
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::operator==
bool operator==(const MutableColumnNbr &nbr) const
Definition: nbr.h:553
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::data
std::string_view data()
Definition: nbr.h:532
gs::MutableNbrSlice< RecordView >::set_begin
void set_begin(const MutableNbr< size_t > *ptr)
Definition: nbr.h:403
gs::MutableNbrSliceMut::size_
int size_
Definition: nbr.h:520
gs::MutableNbrSlice< RecordView >::MutableTableNbr::get_data
RecordView get_data() const
Definition: nbr.h:358
gs::ImmutableNbrSlice::size_
int size_
Definition: nbr.h:126
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::operator->
MutableTableNbr * operator->()
Definition: nbr.h:627
gs::MutableNbrSliceMut< std::string_view >::end
MutableColumnNbr end()
Definition: nbr.h:585
gs::ImmutableNbr< grape::EmptyType >::ImmutableNbr
ImmutableNbr(const ImmutableNbr &rhs)
Definition: nbr.h:81
gs::ImmutableNbrSlice< std::string_view >::ColumnNbr::operator<
bool operator<(const ColumnNbr &nbr) const
Definition: nbr.h:161
gs::ImmutableNbrSlice< std::string_view >::end
const ColumnNbr end() const
Definition: nbr.h:181
table.h
gs::MutableNbrSlice
Definition: nbr.h:318
gs::ImmutableNbrSlice< std::string_view >::const_nbr_ptr_t
const ColumnNbr const_nbr_ptr_t
Definition: nbr.h:167
gs::MutableNbrSlice< RecordView >::MutableNbrSlice
MutableNbrSlice(const MutableNbrSlice &rhs)
Definition: nbr.h:395
gs::MutableNbrSliceMut< RecordView >::MutableTableNbr::MutableTableNbr
MutableTableNbr(nbr_t *ptr, Table &table)
Definition: nbr.h:603
gs::MutableNbrSliceMut< RecordView >::size
int size() const
Definition: nbr.h:662
gs::MutableNbrSliceMut< std::string_view >::begin
MutableColumnNbr begin()
Definition: nbr.h:584
gs::MutableNbrSliceMut< std::string_view >::MutableColumnNbr::neighbor
vid_t neighbor() const
Definition: nbr.h:531
gs::MutableNbr::~MutableNbr
~MutableNbr()=default
gs::MutableNbrSlice< std::string_view >::MutableColumnNbr::ptr_
const_nbr_ptr_t ptr_
Definition: nbr.h:463
gs::ImmutableNbr< grape::EmptyType >::get_data
const grape::EmptyType & get_data() const
Definition: nbr.h:91
gs::ImmutableNbrSlice< std::string_view >::begin
const ColumnNbr begin() const
Definition: nbr.h:180
gs::MutableNbrSlice< RecordView >::set_size
void set_size(int size)
Definition: nbr.h:399
gs::MutableNbrSlice< std::string_view >::const_nbr_t
const MutableColumnNbr const_nbr_t
Definition: nbr.h:466