1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef __PROTO_TOOL_H
- #define __PROTO_TOOL_H
- #include "../tool/singleton.h"
- #include <istream>
- #include <google/protobuf/message.h>
- class proto_tool:public Singleton<proto_tool>
- {
- // 子类必须把父类设定为友元函数,这样父类才能使用子类的私有构造函数。
- friend class Singleton<proto_tool>;
- public:
- // 必须关闭拷贝构造和赋值构造,只能通过 get_instance 函数来进行操作唯一的实例。
- proto_tool(const proto_tool&)=delete;
- proto_tool& operator =(const proto_tool&)= delete;
- ~proto_tool()=default;
- private:
- // 父类的构造函数必须保护,子类的构造函数必须私有。
- proto_tool()=default;
- public:
- //读取protobuf 配置文件,转化为protobuf参数形式
- //input: prototxt_path :prototxt文件路径
- //ouput: parameter: protobuf参数,这里是消息基类,实际调用时传入对应的子类即可。
- static bool read_proto_param(std::string prototxt_path, ::google::protobuf::Message& protobuf_parameter);
- };
- #endif //__PROTO_TOOL_H
|