source: doc/papers/general/evaluation/cpp-vstack.hpp @ 119bb6a

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 119bb6a was 604e76d, checked in by Peter A. Buhr <pabuhr@…>, 7 years ago

initial setup for general and concurrency papers

  • Property mode set to 100644
File size: 425 bytes
Line 
1#pragma once
2#include "object.hpp"
3
4class stack {
5        struct node {
6                ptr<object> value;
7                node* next;
8
9                node( const object& v, node* n = nullptr );
10        };
11        node* head;
12
13        void copy(const stack& o);
14public:
15        stack();
16        stack(const stack& o);
17        stack(stack&& o);
18        ~stack();
19        stack& operator= (const stack& o);
20        stack& operator= (stack&& o);
21
22        void clear();
23        bool empty() const;
24        void push(const object& value);
25        ptr<object> pop();
26};
Note: See TracBrowser for help on using the repository browser.