9 #include <hilti/base/intrusive-ptr.h> 10 #include <hilti/base/util.h> 22 Control(
Node* n) : _node(n), _rid(++_rid_counter) {}
26 static uint64_t _rid_counter;
33 using std::runtime_error::runtime_error;
60 uint64_t
rid()
const {
return _control ? _control->_rid : 0; }
85 operator const Node&()
const {
return *_node(); }
88 explicit operator bool()
const {
return _control && _control->_node; }
std::string renderedRid() const
Definition: node_ref.h:68
Definition: node_ref.h:20
Definition: node_ref.h:32
const Node * operator->() const
Definition: node_ref.h:75
Definition: intrusive-ptr.h:28
Node & operator*() const
Definition: node_ref.h:83
std::string fmt(const char *fmt, const Args &... args)
Definition: util.h:80
Definition: intrusive-ptr.h:69
Definition: node_ref.h:44
uint64_t rid() const
Definition: node_ref.h:60