1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef CMAJOR_IR_VALUE_STACK_INCLUDED
 7 #define CMAJOR_IR_VALUE_STACK_INCLUDED
 8 #include <cmajor/ir/IrApi.hpp>
 9 
10 namespace cmajor { namespace ir {
11 
12 class ValueStack 
13 {
14 public:
15     virtual void Push(void* value) = 0;
16     virtual void* Pop() = 0;
17     virtual void Dup() = 0;
18     virtual void Swap() = 0;
19     virtual void Rotate() = 0;
20 };
21 
22 } } // namespace cmajor::ir
23 
24 #endif // CMAJOR_IR_VALUE_STACK_INCLUDED