TVM  0.9.4
tvm::graph::abstract::Outputs Class Reference

#include <tvm/graph/abstract/Outputs.h>

Inheritance diagram for tvm::graph::abstract::Outputs:

Classes

struct  Output
 

Public Types

enum class  Output_
 
using OutputParent = Outputs
 
using OutputBase = Outputs
 

Public Member Functions

virtual ~Outputs ()=default
 
template<typename EnumT >
bool isOutputEnabled (EnumT e) const
 
bool isOutputEnabled (int i) const
 
virtual bool isOutputStaticallyEnabled (int) const
 
virtual bool isOutputCustomEnabled (int) const
 

Static Public Member Functions

static constexpr const char * OutputName (Output_)
 
template<typename EnumT >
static constexpr bool OutputStaticallyEnabled (EnumT)
 

Static Public Attributes

static constexpr unsigned int OutputSize = 0
 
static constexpr auto OutputBaseName = "Outputs"
 

Protected Attributes

bool is_node_ = false
 

Friends

class tvm::graph::CallGraph
 

Detailed Description

Outputs simply describe a list of Outputs in a strongly typed enum named Output.

An extension mechanism is used to allow extending existing outputs entities. Note that this prevent multiple-inheritance for Outputs objects (i.e. a new Outputs must follow a direct inheritance line).

Member Typedef Documentation

◆ OutputBase

Meta-information used during inheritance to retrieve the base-class output size

◆ OutputParent

Meta-information regarding the class inheritance diagram

Member Enumeration Documentation

◆ Output_

Base Output enumeration. Empty

Constructor & Destructor Documentation

◆ ~Outputs()

virtual tvm::graph::abstract::Outputs::~Outputs ( )
virtualdefault

Member Function Documentation

◆ isOutputCustomEnabled()

virtual bool tvm::graph::abstract::Outputs::isOutputCustomEnabled ( int  ) const
inlinevirtual

Check if an output is enabled given a custom criterion

The default implementation always returns true. This is a handle for the user to override.

Reimplemented in tvm::graph::abstract::OutputSelector< Constraint, tvm::internal::FirstOrderProvider >.

◆ isOutputEnabled() [1/2]

template<typename EnumT >
bool tvm::graph::abstract::Outputs::isOutputEnabled ( EnumT  e) const
inline

Check if a given output is enabled, be it at the class (static) or instance (dynamic) level).

◆ isOutputEnabled() [2/2]

bool tvm::graph::abstract::Outputs::isOutputEnabled ( int  i) const
inline

Same as above, but taking int, for convenience

◆ isOutputStaticallyEnabled()

virtual bool tvm::graph::abstract::Outputs::isOutputStaticallyEnabled ( int  ) const
inlinevirtual

Check if a given output is enabled at the class level (run-time).

The default implementation always returns true. The expected parameter is int to swallow the different output types.

◆ OutputName()

static constexpr const char* tvm::graph::abstract::Outputs::OutputName ( Output_  )
inlinestaticconstexpr

Return the name of a given output

◆ OutputStaticallyEnabled()

template<typename EnumT >
static constexpr bool tvm::graph::abstract::Outputs::OutputStaticallyEnabled ( EnumT  )
inlinestaticconstexpr

Check if a given output is enabled at the class level (compile-time)

The default implementation always returns true.

Friends And Related Function Documentation

◆ tvm::graph::CallGraph

friend class tvm::graph::CallGraph
friend

Member Data Documentation

◆ is_node_

bool tvm::graph::abstract::Outputs::is_node_ = false
protected

Used to avoid a dynamic cast when working on Outputs that may be tvm::data::Node

◆ OutputBaseName

constexpr auto tvm::graph::abstract::Outputs::OutputBaseName = "Outputs"
staticconstexpr

Meta-information holding the name of the class to which the Output enum belong

◆ OutputSize

constexpr unsigned int tvm::graph::abstract::Outputs::OutputSize = 0
staticconstexpr

Store the size of the Output enumeration


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