My Project
Public Member Functions | List of all members
mlir::edsc::IndexHandle Struct Reference

#include <Intrinsics.h>

Inheritance diagram for mlir::edsc::IndexHandle:
Inheritance graph
[legend]
Collaboration diagram for mlir::edsc::IndexHandle:
Collaboration graph
[legend]

Public Member Functions

 IndexHandle ()
 
 IndexHandle (index_t v)
 
 IndexHandle (Value v)
 
 IndexHandle (ValueHandle v)
 
IndexHandleoperator= (const ValueHandle &v)
 
- Public Member Functions inherited from mlir::edsc::ValueHandle
 ValueHandle (Type t)
 
 ValueHandle (Value v)
 
 ValueHandle (index_t cst)
 
 ValueHandle (const ValueHandle &other)=default
 ValueHandle is a value type, use the default copy constructor. More...
 
ValueHandleoperator= (const ValueHandle &other)
 
void swap (ValueHandle &other)
 Provide a swap operator. More...
 
 operator Value () const
 Implicit conversion useful for automatic conversion to Container<Value>. More...
 
 operator bool () const
 
bool hasValue () const
 
Value getValue () const
 
bool hasType () const
 
Type getType () const
 
OperationgetOperation () const
 

Additional Inherited Members

- Static Public Member Functions inherited from mlir::edsc::ValueHandle
static ValueHandle null ()
 A ValueHandle in a null state can never be captured;. More...
 
template<typename Op , typename... Args>
static ValueHandle create (Args... args)
 
template<typename Op , typename... Args>
static ValueHandle create (OperationFolder *folder, Args... args)
 
static ValueHandle createComposedAffineApply (AffineMap map, ArrayRef< Value > operands)
 Special case to build composed AffineApply operations. More...
 
static ValueHandle create (StringRef name, ArrayRef< ValueHandle > operands, ArrayRef< Type > resultTypes, ArrayRef< NamedAttribute > attributes={})
 Generic create for a named operation producing a single value. More...
 
- Protected Member Functions inherited from mlir::edsc::ValueHandle
 ValueHandle ()
 
- Protected Member Functions inherited from mlir::edsc::CapturableHandle
 CapturableHandle ()=default
 
- Protected Attributes inherited from mlir::edsc::ValueHandle
Type t
 
Value v
 

Detailed Description

An IndexHandle is a simple wrapper around a ValueHandle. IndexHandles are ubiquitous enough to justify a new type to allow simple declarations without boilerplate such as:

{c++}
IndexHandle i, j, k;

Constructor & Destructor Documentation

◆ IndexHandle() [1/4]

mlir::edsc::IndexHandle::IndexHandle ( )
inlineexplicit

◆ IndexHandle() [2/4]

mlir::edsc::IndexHandle::IndexHandle ( index_t  v)
inlineexplicit

◆ IndexHandle() [3/4]

mlir::edsc::IndexHandle::IndexHandle ( Value  v)
inlineexplicit

◆ IndexHandle() [4/4]

mlir::edsc::IndexHandle::IndexHandle ( ValueHandle  v)
inlineexplicit

Member Function Documentation

◆ operator=()

IndexHandle& mlir::edsc::IndexHandle::operator= ( const ValueHandle v)
inline

Creating a new IndexHandle(v) and then std::swap rightly complains the binding has already occurred and that we should use another name.


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