namespace internal
{
+Backend::Backend(const std::shared_ptr<neurun::backend::IBackendInitializer> &backend_initializer,
+ const std::shared_ptr<neurun::backend::IInitializerGenerator> &initializer_gen,
+ const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen)
+ : initializer_gen(initializer_gen), stage_gen(stage_gen)
+{
+ backend_initializer->initialize();
+}
+
BackendManager::BackendManager(neurun::codegen::Plan &plan) : _plan(plan)
{
const auto &operands = _plan.model().operands();
#include <memory>
#include "codegen/Plan.h"
-#include "backend/IBackendInitializer.h"
-#include "backend/IInitializerGenerator.h"
-#include "backend/IStageGenerator.h"
-#include "backend/ITensorBuilder.h"
+
+namespace neurun
+{
+namespace backend
+{
+
+struct IBackendInitializer;
+struct IInitializerGenerator;
+struct IStageGenerator;
+struct ITensorBuilder;
+
+} // namespace backend
+} // namespace neurun
namespace internal
{
Backend(const std::shared_ptr<neurun::backend::IBackendInitializer> &backend_initializer,
const std::shared_ptr<neurun::backend::IInitializerGenerator> &initializer_gen,
- const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen)
- : initializer_gen(initializer_gen), stage_gen(stage_gen)
- {
- backend_initializer->initialize();
- }
+ const std::shared_ptr<neurun::backend::IStageGenerator> &stage_gen);
Backend(void) : initializer_gen(nullptr), stage_gen(nullptr)
{