Jlm
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
jlm::llvm::ArrayType Class Referencefinal

#include <types.hpp>

Inheritance diagram for jlm::llvm::ArrayType:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::ArrayType:
Collaboration graph
[legend]

Public Member Functions

 ~ArrayType () noexcept override
 
 ArrayType (std::shared_ptr< const Type > type, size_t nelements)
 
 ArrayType (const ArrayType &other)=default
 
 ArrayType (ArrayType &&other)=default
 
ArrayTypeoperator= (const ArrayType &)=delete
 
ArrayTypeoperator= (ArrayType &&)=delete
 
std::string debug_string () const override
 
bool operator== (const jlm::rvsdg::Type &other) const noexcept override
 
std::size_t ComputeHash () const noexcept override
 
rvsdg::TypeKind Kind () const noexcept override
 Return the kind of this type. More...
 
size_t nelements () const noexcept
 
const rvsdg::Typeelement_type () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & GetElementType () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::Type
virtual ~Type () noexcept
 
bool operator!= (const jlm::rvsdg::Type &other) const noexcept
 

Static Public Member Functions

static std::shared_ptr< const ArrayTypeCreate (std::shared_ptr< const Type > type, size_t nelements)
 

Private Attributes

size_t nelements_
 
std::shared_ptr< const rvsdg::Typetype_
 

Additional Inherited Members

- Protected Member Functions inherited from jlm::rvsdg::Type
constexpr Type () noexcept
 

Detailed Description

Definition at line 47 of file types.hpp.

Constructor & Destructor Documentation

◆ ~ArrayType()

jlm::llvm::ArrayType::~ArrayType ( )
overridedefaultnoexcept

◆ ArrayType() [1/3]

jlm::llvm::ArrayType::ArrayType ( std::shared_ptr< const Type type,
size_t  nelements 
)
inline

Definition at line 52 of file types.hpp.

◆ ArrayType() [2/3]

jlm::llvm::ArrayType::ArrayType ( const ArrayType other)
default

◆ ArrayType() [3/3]

jlm::llvm::ArrayType::ArrayType ( ArrayType &&  other)
default

Member Function Documentation

◆ ComputeHash()

std::size_t jlm::llvm::ArrayType::ComputeHash ( ) const
overridevirtualnoexcept

Computes a hash value for the instance of the type.

Returns
A hash value.

Implements jlm::rvsdg::Type.

Definition at line 67 of file types.cpp.

◆ Create()

static std::shared_ptr<const ArrayType> jlm::llvm::ArrayType::Create ( std::shared_ptr< const Type type,
size_t  nelements 
)
inlinestatic

Definition at line 98 of file types.hpp.

◆ debug_string()

std::string jlm::llvm::ArrayType::debug_string ( ) const
overridevirtual

Implements jlm::rvsdg::Type.

Definition at line 54 of file types.cpp.

◆ element_type()

const rvsdg::Type& jlm::llvm::ArrayType::element_type ( ) const
inlinenoexcept

Definition at line 86 of file types.hpp.

◆ GetElementType()

const std::shared_ptr<const rvsdg::Type>& jlm::llvm::ArrayType::GetElementType ( ) const
inlinenoexcept

Definition at line 92 of file types.hpp.

◆ Kind()

rvsdg::TypeKind jlm::llvm::ArrayType::Kind ( ) const
overridevirtualnoexcept

Return the kind of this type.

Implements jlm::rvsdg::Type.

Definition at line 75 of file types.cpp.

◆ nelements()

size_t jlm::llvm::ArrayType::nelements ( ) const
inlinenoexcept

Definition at line 80 of file types.hpp.

◆ operator=() [1/2]

ArrayType& jlm::llvm::ArrayType::operator= ( ArrayType &&  )
delete

◆ operator=() [2/2]

ArrayType& jlm::llvm::ArrayType::operator= ( const ArrayType )
delete

◆ operator==()

bool jlm::llvm::ArrayType::operator== ( const jlm::rvsdg::Type other) const
overridevirtualnoexcept

Implements jlm::rvsdg::Type.

Definition at line 60 of file types.cpp.

Member Data Documentation

◆ nelements_

size_t jlm::llvm::ArrayType::nelements_
private

Definition at line 104 of file types.hpp.

◆ type_

std::shared_ptr<const rvsdg::Type> jlm::llvm::ArrayType::type_
private

Definition at line 105 of file types.hpp.


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