FLANG
Public Types | Public Member Functions | Static Public Attributes | List of all members
Fortran::evaluate::operation::ArgumentExtractor< IgnoreResizingConverts > Struct Template Reference
Inheritance diagram for Fortran::evaluate::operation::ArgumentExtractor< IgnoreResizingConverts >:
Fortran::evaluate::Traverse< ArgumentExtractor< IgnoreResizingConverts >, std::pair< operation::Operator, std::vector< Expr< SomeType > > >, false >

Public Types

using Arguments = std::vector< Expr< SomeType > >
 
using Result = std::pair< operation::Operator, Arguments >
 
using Base = Traverse< ArgumentExtractor< IgnoreResizingConverts >, Result, false >
 

Public Member Functions

Result Default () const
 
template<int Kind>
Result operator() (const Constant< Type< Logical, Kind > > &x) const
 
template<typename R >
Result operator() (const FunctionRef< R > &x) const
 
template<typename D , typename R , typename... Os>
Result operator() (const Operation< D, R, Os... > &x) const
 
template<typename T >
Result operator() (const Designator< T > &x) const
 
template<typename T >
Result operator() (const Constant< T > &x) const
 
template<typename... Rs>
Result Combine (Result &&result, Rs &&...results) const
 
- Public Member Functions inherited from Fortran::evaluate::Traverse< ArgumentExtractor< IgnoreResizingConverts >, std::pair< operation::Operator, std::vector< Expr< SomeType > > >, false >
 Traverse (ArgumentExtractor< IgnoreResizingConverts > &v)
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const common::Indirection< A, C > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const common::ForwardOwningPointer< A > &p) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const SymbolRef x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const std::unique_ptr< A > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const std::shared_ptr< A > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const A *x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const std::optional< A > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const std::variant< As... > &u) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const std::vector< A > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const std::pair< A, B > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const BOZLiteralConstant &) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const NullPointer &) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Constant< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Symbol &symbol) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const StaticDataObject &) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ImpliedDoIndex &) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const BaseObject &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Component &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const NamedEntity &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const TypeParamInquiry &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Triplet &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Subscript &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ArrayRef &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const CoarrayRef &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const DataRef &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Substring &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ComplexPart &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Designator< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const DescriptorInquiry &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const SpecificIntrinsic &) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ProcedureDesignator &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ActualArgument &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ProcedureRef &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const FunctionRef< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ArrayConstructorValue< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ArrayConstructorValues< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const ImpliedDo< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const semantics::ParamValue &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const semantics::DerivedTypeSpec::ParameterMapType::value_type &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const semantics::DerivedTypeSpec::ParameterMapType &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const semantics::DerivedTypeSpec &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const StructureConstructorValues::value_type &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const StructureConstructorValues &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const StructureConstructor &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Operation< D, R, Os... > &op) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Relational< SomeType > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Expr< T > &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Assignment &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const Assignment::Intrinsic &) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const GenericExprWrapper &x) const
 
std::pair< operation::Operator, std::vector< Expr< SomeType > > > operator() (const GenericAssignmentWrapper &x) const
 

Static Public Attributes

static constexpr auto IgnoreResizes {IgnoreResizingConverts}
 
static constexpr auto Logical {common::TypeCategory::Logical}
 

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