7 #ifndef RETDEC_LLVMIR2HLL_IR_VALUE_H
8 #define RETDEC_LLVMIR2HLL_IR_VALUE_H
13 #include <llvm/Support/raw_ostream.h>
Implementation of a generic typed observer using shared pointers (observer part).
Definition: observer.h:41
Enables shared_from_this() in the inheriting class.
Definition: smart_ptr.h:44
Implementation of a generic typed observer using shared pointers (subject part).
Definition: subject.h:43
A base class of all objects a module can contain.
Definition: value.h:32
virtual ShPtr< Value > getSelf() override
Returns a shared pointer of self.
Definition: value.cpp:31
virtual ShPtr< Value > clone()=0
Returns a clone of the value.
virtual bool isEqualTo(ShPtr< Value > otherValue) const =0
Returns true if this value is equal to otherValue, false otherwise.
std::string getTextRepr()
Returns a textual representation of the value.
Definition: value.cpp:41
Interface for classes whose instances are visitable by a Visitor.
Definition: visitable.h:20
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
Interface for classes whose instances are visitable by a Visitor.
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
llvm::raw_ostream & operator<<(llvm::raw_ostream &os, const ShPtr< Value > &value)
Emits value into os.
Definition: value.cpp:48
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.
Implementation of a generic typed observer (observer part).
Declarations, aliases, macros, etc. for the use of smart pointers.
Implementation of a generic typed observer (subject part).