2015-11-22 02:16:19 +08:00
|
|
|
#pragma once
|
2015-07-07 22:18:26 +08:00
|
|
|
|
2017-02-04 16:01:15 +08:00
|
|
|
#include "database/graph_db.hpp"
|
2015-12-06 23:37:42 +08:00
|
|
|
#include "mvcc/record.hpp"
|
2017-02-04 16:01:15 +08:00
|
|
|
#include "mvcc/version_list.hpp"
|
|
|
|
#include "storage/typed_value_store.hpp"
|
2015-07-07 22:18:26 +08:00
|
|
|
|
2017-02-04 16:01:15 +08:00
|
|
|
// forward declare Edge because there is a circular usage Edge <-> Vertex
|
|
|
|
class Edge;
|
2016-11-29 11:08:08 +08:00
|
|
|
|
2017-02-04 16:01:15 +08:00
|
|
|
class Vertex : public mvcc::Record<Vertex> {
|
2015-12-06 23:37:42 +08:00
|
|
|
|
2017-02-04 16:01:15 +08:00
|
|
|
public:
|
|
|
|
std::vector<mvcc::VersionList<Edge> *> out_;
|
|
|
|
std::vector<mvcc::VersionList<Edge> *> in_;
|
|
|
|
std::set<GraphDb::Label> labels_;
|
|
|
|
TypedValueStore properties_;
|
2016-11-29 11:08:08 +08:00
|
|
|
};
|