Changeset 9ea38de for src/AST/Node.hpp
- Timestamp:
- Jun 25, 2019, 11:26:30 AM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- bcb311b
- Parents:
- 28af389
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Node.hpp
r28af389 r9ea38de 30 30 /// Keeps both strong and weak reference counts. 31 31 class Node { 32 /// call to debug on node creation/deletion 33 void _trap(); 32 34 public: 33 35 // override defaults to ensure assignment doesn't 34 36 // change/share reference counts 35 Node() = default;36 Node(const Node&) : strong_count(0), weak_count(0) { }37 Node(Node&&) : strong_count(0), weak_count(0) { }37 Node() { _trap(); } 38 Node(const Node&) : strong_count(0), weak_count(0) { _trap(); } 39 Node(Node&&) : strong_count(0), weak_count(0) { _trap(); } 38 40 Node& operator= (const Node&) = delete; 39 41 Node& operator= (Node&&) = delete; 40 virtual ~Node() = default;42 virtual ~Node() { _trap(); } 41 43 42 44 virtual const Node * accept( Visitor & v ) const = 0;
Note: See TracChangeset
for help on using the changeset viewer.