MLIR  20.0.0git
Public Types | Public Member Functions | List of all members
mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType > Struct Template Reference

Utility trait base that provides accessors for derived traits that have multiple results. More...

#include "mlir/IR/OpDefinition.h"

+ Inheritance diagram for mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >:

Public Types

using result_iterator = Operation::result_iterator
 
using result_range = Operation::result_range
 
using result_type_iterator = Operation::result_type_iterator
 
using result_type_range = Operation::result_type_range
 

Public Member Functions

unsigned getNumResults ()
 Return the number of results. More...
 
Value getResult (unsigned i)
 Return the result at index 'i'. More...
 
template<typename ValuesT >
void replaceAllUsesWith (ValuesT &&values)
 Replace all uses of results of this operation with the provided 'values'. More...
 
Type getType (unsigned i)
 Return the type of the i-th result. More...
 
result_iterator result_begin ()
 Result iterator access. More...
 
result_iterator result_end ()
 
result_range getResults ()
 
result_type_iterator result_type_begin ()
 Result type access. More...
 
result_type_iterator result_type_end ()
 
result_type_range getResultTypes ()
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::OpTrait::TraitBase< ConcreteType, TraitType >
OperationgetOperation ()
 Return the ultimate Operation being worked on. More...
 

Detailed Description

template<typename ConcreteType, template< typename > class TraitType>
struct mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >

Utility trait base that provides accessors for derived traits that have multiple results.

Definition at line 620 of file OpDefinition.h.

Member Typedef Documentation

◆ result_iterator

template<typename ConcreteType , template< typename > class TraitType>
using mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_iterator = Operation::result_iterator

Definition at line 621 of file OpDefinition.h.

◆ result_range

template<typename ConcreteType , template< typename > class TraitType>
using mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_range = Operation::result_range

Definition at line 622 of file OpDefinition.h.

◆ result_type_iterator

template<typename ConcreteType , template< typename > class TraitType>
using mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_type_iterator = Operation::result_type_iterator

Definition at line 623 of file OpDefinition.h.

◆ result_type_range

template<typename ConcreteType , template< typename > class TraitType>
using mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_type_range = Operation::result_type_range

Definition at line 624 of file OpDefinition.h.

Member Function Documentation

◆ getNumResults()

template<typename ConcreteType , template< typename > class TraitType>
unsigned mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::getNumResults ( )
inline

Return the number of results.

Definition at line 627 of file OpDefinition.h.

References mlir::Operation::getNumResults(), and mlir::OpTrait::TraitBase< ConcreteType, TraitType >::getOperation().

◆ getResult()

template<typename ConcreteType , template< typename > class TraitType>
Value mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::getResult ( unsigned  i)
inline

◆ getResults()

template<typename ConcreteType , template< typename > class TraitType>
result_range mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::getResults ( )
inline

◆ getResultTypes()

template<typename ConcreteType , template< typename > class TraitType>
result_type_range mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::getResultTypes ( )
inline

◆ getType()

template<typename ConcreteType , template< typename > class TraitType>
Type mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::getType ( unsigned  i)
inline

Return the type of the i-th result.

Definition at line 640 of file OpDefinition.h.

References mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::getResult(), and mlir::Value::getType().

◆ replaceAllUsesWith()

template<typename ConcreteType , template< typename > class TraitType>
template<typename ValuesT >
void mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::replaceAllUsesWith ( ValuesT &&  values)
inline

Replace all uses of results of this operation with the provided 'values'.

'values' may correspond to an existing operation, or a range of 'Value'.

Definition at line 635 of file OpDefinition.h.

References mlir::OpTrait::TraitBase< ConcreteType, TraitType >::getOperation(), and mlir::Operation::replaceAllUsesWith().

◆ result_begin()

template<typename ConcreteType , template< typename > class TraitType>
result_iterator mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_begin ( )
inline

◆ result_end()

template<typename ConcreteType , template< typename > class TraitType>
result_iterator mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_end ( )
inline

◆ result_type_begin()

template<typename ConcreteType , template< typename > class TraitType>
result_type_iterator mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_type_begin ( )
inline

◆ result_type_end()

template<typename ConcreteType , template< typename > class TraitType>
result_type_iterator mlir::OpTrait::detail::MultiResultTraitBase< ConcreteType, TraitType >::result_type_end ( )
inline

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