ONE - On-device Neural Engine
Loading...
Searching...
No Matches
coco::Module Class Referenceabstract

Top-level element of coco IR which represents a neural network. More...

#include <Module.h>

Public Member Functions

 Module ()=default
 
 Module (const Module &)=delete
 
 Module (Module &&)=delete
 
virtual ~Module ()=default
 
virtual EntityManagerentity (void)=0
 
virtual const EntityManagerentity (void) const =0
 
virtual BlockListblock (void)=0
 
virtual const BlockListblock (void) const =0
 
virtual InputListinput (void)=0
 
virtual const InputListinput (void) const =0
 
virtual OutputListoutput (void)=0
 
virtual const OutputListoutput (void) const =0
 

Static Public Member Functions

static std::unique_ptr< Modulecreate (void)
 

Detailed Description

Top-level element of coco IR which represents a neural network.

Definition at line 33 of file Module.h.

Constructor & Destructor Documentation

◆ Module() [1/3]

coco::Module::Module ( )
default

◆ Module() [2/3]

coco::Module::Module ( const Module )
delete

◆ Module() [3/3]

coco::Module::Module ( Module &&  )
delete

◆ ~Module()

virtual coco::Module::~Module ( )
virtualdefault

Member Function Documentation

◆ block() [1/2]

virtual const BlockList * coco::Module::block ( void  ) const
pure virtual

◆ block() [2/2]

virtual BlockList * coco::Module::block ( void  )
pure virtual

◆ create()

std::unique_ptr< Module > coco::Module::create ( void  )
static

Definition at line 127 of file Module.cpp.

128{
129 auto m = make_unique<::ModuleImpl>();
130
131 auto mgr = make_unique<::EntityManagerImpl>();
132 {
133 mgr->_bag = make_unique<coco::BagManager>(m.get());
134 mgr->_object = make_unique<coco::ObjectManager>(m.get());
135 mgr->_op = make_unique<coco::OpManager>(m.get());
136 mgr->_instr = make_unique<coco::InstrManager>(m.get());
137 mgr->_block = make_unique<coco::BlockManager>(m.get());
138 mgr->_input = make_unique<coco::InputManager>(m.get());
139 mgr->_output = make_unique<coco::OutputManager>(m.get());
140 }
141 m->_entity = std::move(mgr);
142
143 m->_block = make_unique<coco::BlockList>(m.get());
144 m->_input = make_unique<coco::InputList>();
145 m->_output = make_unique<coco::OutputList>();
146
147 return m;
148}

References m.

◆ entity() [1/2]

virtual const EntityManager * coco::Module::entity ( void  ) const
pure virtual

◆ entity() [2/2]

virtual EntityManager * coco::Module::entity ( void  )
pure virtual

◆ input() [1/2]

virtual const InputList * coco::Module::input ( void  ) const
pure virtual

◆ input() [2/2]

virtual InputList * coco::Module::input ( void  )
pure virtual

◆ output() [1/2]

virtual const OutputList * coco::Module::output ( void  ) const
pure virtual

◆ output() [2/2]

virtual OutputList * coco::Module::output ( void  )
pure virtual

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