mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::ir::ArrayConstant Class Referencefinal

#include <ArrayConstant.h>

Inheritance diagram for mini_llvm::ir::ArrayConstant:
Collaboration diagram for mini_llvm::ir::ArrayConstant:

Public Types

using element_iterator = IndirectIterator<ElementList::iterator, Use<Constant>>
using const_element_iterator = IndirectIterator<ElementList::const_iterator, const Use<Constant>>
Public Types inherited from mini_llvm::ir::Value
using use_iterator = IndirectIterator<UseSet::iterator, UseBase>

Public Member Functions

 ArrayConstant (std::unique_ptr< ArrayType > type, std::vector< std::shared_ptr< Constant > > elements)
element_iterator element_begin ()
element_iterator element_end ()
const_element_iterator element_begin () const
const_element_iterator element_end () const
bool element_empty () const
size_t element_size () const
Use< Constant > & element (size_t i)
const Use< Constant > & element (size_t i) const
void accept (ConstantVisitor &visitor) override
void accept (ConstantVisitor &visitor) const override
bool isWellFormed () const override
std::unique_ptr< Typetype () const override
std::string format () const override
std::unique_ptr< Valueclone () const override
Public Member Functions inherited from mini_llvm::ir::Constant
std::string formatAsOperand () const override
Public Member Functions inherited from mini_llvm::ir::Value
virtual ~Value ()=default
 Value ()=default
 Value (const Value &)=delete
Valueoperator= (const Value &)=delete
 Value (Value &&)=delete
Valueoperator= (Value &&)=delete
const std::string & name () const &
std::string && name () &&
void setName (std::string name)
std::string formatName () const
use_iterator use_begin () const
use_iterator use_end () const
bool use_empty () const
size_t use_size () const

Protected Member Functions

bool equals (const Constant &other) const override

Member Typedef Documentation

◆ const_element_iterator

◆ element_iterator

Constructor & Destructor Documentation

◆ ArrayConstant()

mini_llvm::ir::ArrayConstant::ArrayConstant ( std::unique_ptr< ArrayType > type,
std::vector< std::shared_ptr< Constant > > elements )

Member Function Documentation

◆ accept() [1/2]

void mini_llvm::ir::ArrayConstant::accept ( ConstantVisitor & visitor) const
inlineoverridevirtual

◆ accept() [2/2]

void mini_llvm::ir::ArrayConstant::accept ( ConstantVisitor & visitor)
inlineoverridevirtual

◆ clone()

std::unique_ptr< Value > mini_llvm::ir::ArrayConstant::clone ( ) const
overridevirtual

Implements mini_llvm::ir::Value.

◆ element() [1/2]

Use< Constant > & mini_llvm::ir::ArrayConstant::element ( size_t i)
inline

◆ element() [2/2]

const Use< Constant > & mini_llvm::ir::ArrayConstant::element ( size_t i) const
inline

◆ element_begin() [1/2]

element_iterator mini_llvm::ir::ArrayConstant::element_begin ( )
inline

◆ element_begin() [2/2]

const_element_iterator mini_llvm::ir::ArrayConstant::element_begin ( ) const
inline

◆ element_empty()

bool mini_llvm::ir::ArrayConstant::element_empty ( ) const
inline

◆ element_end() [1/2]

element_iterator mini_llvm::ir::ArrayConstant::element_end ( )
inline

◆ element_end() [2/2]

const_element_iterator mini_llvm::ir::ArrayConstant::element_end ( ) const
inline

◆ element_size()

size_t mini_llvm::ir::ArrayConstant::element_size ( ) const
inline

◆ equals()

bool mini_llvm::ir::ArrayConstant::equals ( const Constant & other) const
overrideprotectedvirtual

◆ format()

std::string mini_llvm::ir::ArrayConstant::format ( ) const
overridevirtual

Implements mini_llvm::ir::Value.

◆ isWellFormed()

bool mini_llvm::ir::ArrayConstant::isWellFormed ( ) const
overridevirtual

Reimplemented from mini_llvm::ir::Value.

◆ type()

std::unique_ptr< Type > mini_llvm::ir::ArrayConstant::type ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Value.


The documentation for this class was generated from the following file: