Class VarNodeArrayView

Inheritance Relationships

Base Type

  • private NonCopyableObj

Class Documentation

class mgb::cg::VarNodeArrayView : private NonCopyableObj

View SymbolVarArray or VarNodeArray as VarNode* list.

This class is intended for passing a list of VarNode* in function parameters, so unnecessary copy/conversion between VarNodeArray and SymbolVarArray can be avoided.

Public Functions

VarNodeArrayView() = default
VarNodeArrayView(const VarNodeArray &arr)
VarNodeArrayView(const SymbolVarArray &arr)
VarNodeArrayView(VarNode *const *begin, VarNode *const *end)
template<size_t nr>
VarNodeArrayView(const std::array<SymbolVar, nr> &arr)
VarNodeArrayView(const SymbolVarArrayView &arr)
VarNodeArrayView(std::initializer_list<VarNode*> s)
VarNodeArrayView(std::initializer_list<SymbolVar> s)
VarNode *operator[](size_t idx) const
VarNode *at(size_t idx) const
size_t size() const
bool empty() const
VarNode *const *begin() const
VarNode *const *end() const