blob: 0a15c33c57987d591d1841cc09ddda81d44f7c4a [file] [log] [blame]
#pragma once
#include <memory>
#include <string>
#include "caffe2/core/net.h"
namespace caffe2 {
namespace script {
struct CompilationUnitImpl;
struct CAFFE2_API CompilationUnit {
CompilationUnit();
void define(const std::string& str);
void defineExtern(const std::string& str, std::unique_ptr<NetDef> netdef);
std::unique_ptr<NetBase> createNet(Workspace* ws, const std::string& name);
std::string getProto(const std::string& functionName) const;
~CompilationUnit();
private:
std::unique_ptr<CompilationUnitImpl> pImpl;
};
} // namespace script
}; // namespace caffe2