LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::ConstrainRefIndex Class Reference

Defines an index into an LLZK object. More...

#include <ConstrainRef.h>

Classes

struct  Hash
 

Public Member Functions

 ConstrainRefIndex (SymbolLookupResult< component::FieldDefOp > f)
 
 ConstrainRefIndex (mlir::APInt i)
 
 ConstrainRefIndex (int64_t i)
 
 ConstrainRefIndex (mlir::APInt low, mlir::APInt high)
 
 ConstrainRefIndex (IndexRange r)
 
bool isField () const
 
component::FieldDefOp getField () const
 
bool isIndex () const
 
mlir::APInt getIndex () const
 
bool isIndexRange () const
 
IndexRange getIndexRange () const
 
void dump () const
 
void print (mlir::raw_ostream &os) const
 
bool operator== (const ConstrainRefIndex &rhs) const
 
bool operator< (const ConstrainRefIndex &rhs) const
 
bool operator> (const ConstrainRefIndex &rhs) const
 
size_t getHash () const
 

Detailed Description

Defines an index into an LLZK object.

For structs, this is a field definition, and for arrays, this is an element index. Effectively a wrapper around a std::variant with extra utility methods.

Definition at line 34 of file ConstrainRef.h.

Constructor & Destructor Documentation

◆ ConstrainRefIndex() [1/5]

llzk::ConstrainRefIndex::ConstrainRefIndex ( SymbolLookupResult< component::FieldDefOp > f)
inlineexplicit

Definition at line 38 of file ConstrainRef.h.

◆ ConstrainRefIndex() [2/5]

llzk::ConstrainRefIndex::ConstrainRefIndex ( mlir::APInt i)
inlineexplicit

Definition at line 39 of file ConstrainRef.h.

◆ ConstrainRefIndex() [3/5]

llzk::ConstrainRefIndex::ConstrainRefIndex ( int64_t i)
inlineexplicit

Definition at line 40 of file ConstrainRef.h.

◆ ConstrainRefIndex() [4/5]

llzk::ConstrainRefIndex::ConstrainRefIndex ( mlir::APInt low,
mlir::APInt high )
inline

Definition at line 41 of file ConstrainRef.h.

◆ ConstrainRefIndex() [5/5]

llzk::ConstrainRefIndex::ConstrainRefIndex ( IndexRange r)
inlineexplicit

Definition at line 42 of file ConstrainRef.h.

Member Function Documentation

◆ dump()

void llzk::ConstrainRefIndex::dump ( ) const
inline

Definition at line 64 of file ConstrainRef.h.

◆ getField()

component::FieldDefOp llzk::ConstrainRefIndex::getField ( ) const
inline

Definition at line 47 of file ConstrainRef.h.

◆ getHash()

size_t llzk::ConstrainRefIndex::getHash ( ) const
inline

Definition at line 86 of file ConstrainRef.h.

◆ getIndex()

mlir::APInt llzk::ConstrainRefIndex::getIndex ( ) const
inline

Definition at line 53 of file ConstrainRef.h.

◆ getIndexRange()

IndexRange llzk::ConstrainRefIndex::getIndexRange ( ) const
inline

Definition at line 59 of file ConstrainRef.h.

◆ isField()

bool llzk::ConstrainRefIndex::isField ( ) const
inline

Definition at line 44 of file ConstrainRef.h.

◆ isIndex()

bool llzk::ConstrainRefIndex::isIndex ( ) const
inline

Definition at line 52 of file ConstrainRef.h.

◆ isIndexRange()

bool llzk::ConstrainRefIndex::isIndexRange ( ) const
inline

Definition at line 58 of file ConstrainRef.h.

◆ operator<()

bool llzk::ConstrainRefIndex::operator< ( const ConstrainRefIndex & rhs) const

Definition at line 42 of file ConstrainRef.cpp.

◆ operator==()

bool llzk::ConstrainRefIndex::operator== ( const ConstrainRefIndex & rhs) const
inline

Definition at line 67 of file ConstrainRef.h.

◆ operator>()

bool llzk::ConstrainRefIndex::operator> ( const ConstrainRefIndex & rhs) const
inline

Definition at line 71 of file ConstrainRef.h.

◆ print()

void llzk::ConstrainRefIndex::print ( mlir::raw_ostream & os) const

Definition at line 31 of file ConstrainRef.cpp.


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