NAGASH 0.9.8
Next Generation Analysis System
Loading...
Searching...
No Matches
Tool.h
Go to the documentation of this file.
1//***************************************************************************************
4//***************************************************************************************
5
61#pragma once
62
63#include "NAGASH/Global.h"
64#include "NAGASH/MSGTool.h"
65
66namespace NAGASH
67{
71 class Tool
72 {
73 protected:
76 Tool(std::shared_ptr<MSGTool> MSG) : msg(MSG) {}
77 Tool() = delete;
78 Tool(const Tool &tool) = delete;
79 Tool(Tool &&tool) = delete;
80 Tool &operator=(const Tool &tool) = delete;
81 Tool &operator=(Tool &&tool) = delete;
82 virtual ~Tool() = default;
83
85 std::shared_ptr<MSGTool> MSGUser();
86
87 private:
88 std::shared_ptr<MSGTool> msg;
89 };
90
91 inline std::shared_ptr<MSGTool> Tool::MSGUser() { return msg; }
92} // namespace NAGASH
Some global definitions.
Provide interface for all tools in NAGASH.
Definition Tool.h:72
Tool(const Tool &tool)=delete
Tool()=delete
std::shared_ptr< MSGTool > msg
Definition Tool.h:88
virtual ~Tool()=default
std::shared_ptr< MSGTool > MSGUser()
return the MSGTool inside.
Definition Tool.h:91
Tool(std::shared_ptr< MSGTool > MSG)
Constructor.
Definition Tool.h:76
Tool & operator=(const Tool &tool)=delete
Tool(Tool &&tool)=delete
Tool & operator=(Tool &&tool)=delete