nndeploy C++ API  0.2.0
nndeploy C++ API
Classes | Namespaces | Macros | Typedefs | Functions
op.h File Reference
#include "nndeploy/base/any.h"
#include "nndeploy/base/common.h"
#include "nndeploy/base/glic_stl_include.h"
#include "nndeploy/base/log.h"
#include "nndeploy/base/macro.h"
#include "nndeploy/base/object.h"
#include "nndeploy/base/param.h"
#include "nndeploy/base/shape.h"
#include "nndeploy/base/status.h"
#include "nndeploy/base/string.h"
#include "nndeploy/base/time_profiler.h"
#include "nndeploy/device/buffer.h"
#include "nndeploy/device/device.h"
#include "nndeploy/device/memory_pool.h"
#include "nndeploy/device/tensor.h"
#include "nndeploy/ir/ir.h"
Include dependency graph for op.h:

Go to the source code of this file.

Classes

class  nndeploy::op::Op
 Op的基类 More...
 
class  nndeploy::op::OpCreator
 Op的创建类 More...
 
class  nndeploy::op::TypeOpCreator< T >
 Op的创建类模板 More...
 
class  nndeploy::op::TypeOpRegister< T >
 Op的创建类的注册类模板 More...
 

Namespaces

 nndeploy
 
 nndeploy::op
 

Macros

#define REGISTER_OP_IMPLEMENTION(device_type_code, op_type, op_class)
 

Typedefs

using nndeploy::op::MIMOOpFunc = std::function< base::Status(std::initializer_list< device::Tensor * > inputs, std::initializer_list< device::Tensor * > outputs, std::shared_ptr< base::Param > op_param)>
 
using nndeploy::op::MISOOpFunc = std::function< base::Status(std::initializer_list< device::Tensor * > inputs, device::Tensor *output, std::shared_ptr< base::Param > op_param)>
 
using nndeploy::op::SIMOOpFunc = std::function< base::Status(device::Tensor *input, std::initializer_list< device::Tensor * > outputs, std::shared_ptr< base::Param > op_param)>
 
using nndeploy::op::SISOOpFunc = std::function< base::Status(device::Tensor *input, device::Tensor *output, std::shared_ptr< base::Param > op_param)>
 

Functions

Op * nndeploy::op::createOp (base::DeviceType device_type, const std::string &name, ir::OpType op_type)
 
Op * nndeploy::op::createOp (base::DeviceType device_type, const std::string &name, ir::OpType op_type, std::initializer_list< std::string > inputs, std::initializer_list< std::string > outputs)
 
Op * nndeploy::op::createOp (base::DeviceType device_type, const std::string &name, ir::OpType op_type, std::vector< std::string > &inputs, std::vector< std::string > &outputs)
 
Op * nndeploy::op::createOp (base::DeviceType device_type, const std::string &name, ir::OpType op_type, std::vector< std::string > &inputs, std::vector< std::string > &outputs, std::shared_ptr< base::Param > param)
 
Op * nndeploy::op::createOp (base::DeviceType device_type, std::shared_ptr< ir::OpDesc > op_desc)
 
std::shared_ptr< Op > nndeploy::op::createOpSharedPtr (base::DeviceType device_type, const std::string &name, ir::OpType op_type)
 
std::shared_ptr< Op > nndeploy::op::createOpSharedPtr (base::DeviceType device_type, const std::string &name, ir::OpType op_type, std::initializer_list< std::string > inputs, std::initializer_list< std::string > outputs)
 
std::shared_ptr< Op > nndeploy::op::createOpSharedPtr (base::DeviceType device_type, const std::string &name, ir::OpType op_type, std::vector< std::string > &inputs, std::vector< std::string > &outputs)
 
std::shared_ptr< Op > nndeploy::op::createOpSharedPtr (base::DeviceType device_type, const std::string &name, ir::OpType op_type, std::vector< std::string > &inputs, std::vector< std::string > &outputs, std::shared_ptr< base::Param > param)
 
std::shared_ptr< Op > nndeploy::op::createOpSharedPtr (base::DeviceType device_type, std::shared_ptr< ir::OpDesc > op_desc)
 
std::map< base::DeviceTypeCode, std::map< ir::OpType, std::shared_ptr< OpCreator > > > & nndeploy::op::getGlobalOpCreatorMap ()
 Get the Global Op Creator Map object. More...
 

Macro Definition Documentation

◆ REGISTER_OP_IMPLEMENTION

#define REGISTER_OP_IMPLEMENTION (   device_type_code,
  op_type,
  op_class 
)
Value:
TypeOpRegister<TypeOpCreator<op_class>> \
g_##device_type_code##op_class##_register(device_type_code, op_type);

Definition at line 419 of file op.h.