- File:
-
- 1 edited
-
doc/papers/general/evaluation/cpp-vstack.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/papers/general/evaluation/cpp-vstack.cpp
r4c80a75 r860f19f 4 4 stack::node::node( const object & v, node * n ) : value( v.new_copy() ), next( n ) {} 5 5 6 void stack::c opy( const stack & o) {7 node ** cr = &head;8 for ( node * nx = o.head; nx; nx = nx->next ) {9 *cr = new node{ *nx->value }; /***/10 cr = &(*cr)->next;6 void stack::clear() { 7 for ( node * next = head; next; ) { 8 node * crnt = next; 9 next = crnt->next; 10 delete crnt; 11 11 } 12 *cr= nullptr;12 head = nullptr; 13 13 } 14 14 15 void stack::c lear() {16 for ( node * nx = head; nx; ) {17 node * cr = nx;18 nx = cr->next;19 delete cr;15 void stack::copy( const stack & o ) { 16 node ** crnt = &head; 17 for ( node * next = o.head; next; next = next->next ) { 18 *crnt = new node{ *next->value }; /***/ 19 crnt = &(*crnt)->next; 20 20 } 21 head= nullptr;21 *crnt = nullptr; 22 22 } 23 23 … … 33 33 } 34 34 35 bool stack::empty() const { 36 return head == nullptr; 37 } 35 bool stack::empty() const { return head == nullptr; } 38 36 39 void stack::push( const object & value ) { 40 head = new node{ value, head }; /***/ 41 } 37 void stack::push( const object & value ) { head = new node{ value, head }; /***/ } 42 38 43 39 ptr<object> stack::pop() {
Note:
See TracChangeset
for help on using the changeset viewer.