Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#endif
|
||||
|
||||
#include "../S_STRING"
|
||||
#include "../scast"
|
||||
|
||||
#include <ostream>
|
||||
|
||||
@@ -16,10 +17,14 @@ namespace tools {
|
||||
namespace sg {
|
||||
|
||||
class action {
|
||||
//public:
|
||||
public:
|
||||
TOOLS_SCLASS(tools::sg::action)
|
||||
public:
|
||||
//virtual void* cast(const std::string&) const = 0;
|
||||
virtual void* cast(const std::string& a_class) const {
|
||||
if(void* p = cmp_cast<action>(this,a_class)) return p;
|
||||
return 0;
|
||||
}
|
||||
virtual const std::string& s_cls() const = 0;
|
||||
public:
|
||||
action(std::ostream& a_out)
|
||||
:m_out(a_out)
|
||||
@@ -50,6 +55,15 @@ protected:
|
||||
std::ostream& m_out;
|
||||
};
|
||||
|
||||
#include "../HEADER"
|
||||
|
||||
#define TOOLS_ACTION(a__class,a__sclass,a__parent)\
|
||||
TOOLS_HEADER(a__class,a__sclass,a__parent)\
|
||||
virtual tools::sg::action* copy() const {return new a__class(*this);}
|
||||
|
||||
#define TOOLS_ACTION_NO_COPY(a__class,a__sclass,a__parent)\
|
||||
TOOLS_HEADER(a__class,a__sclass,a__parent)
|
||||
|
||||
}}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user