1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-15 06:17:05 +01:00

Hadrons: namespace macro to tackle GCC 5 bug

This commit is contained in:
2016-12-05 14:29:32 +09:00
parent 7a1ac45679
commit 7ae734103e
11 changed files with 252 additions and 237 deletions

View File

@ -48,31 +48,32 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Point *
******************************************************************************/
namespace MSource
BEGIN_MODULE_NAMESPACE(MSource)
class PointPar: Serializable
{
class PointPar: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(PointPar,
std::string, position);
};
class Point: public Module<PointPar>
{
public:
// constructor
Point(const std::string name);
// destructor
virtual ~Point(void) = default;
// dependency relation
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
}
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(PointPar,
std::string, position);
};
class Point: public Module<PointPar>
{
public:
// constructor
Point(const std::string name);
// destructor
virtual ~Point(void) = default;
// dependency relation
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
END_MODULE_NAMESPACE
MODULE_REGISTER_NS(Point, MSource);

View File

@ -49,32 +49,33 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Z2 *
******************************************************************************/
namespace MSource
{
class Z2Par: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(Z2Par,
unsigned int, tA,
unsigned int, tB);
};
BEGIN_MODULE_NAMESPACE(MSource)
class Z2: public Module<Z2Par>
{
public:
// constructor
Z2(const std::string name);
// destructor
virtual ~Z2(void) = default;
// dependency relation
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
}
class Z2Par: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(Z2Par,
unsigned int, tA,
unsigned int, tB);
};
class Z2: public Module<Z2Par>
{
public:
// constructor
Z2(const std::string name);
// destructor
virtual ~Z2(void) = default;
// dependency relation
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// setup
virtual void setup(void);
// execution
virtual void execute(void);
};
END_MODULE_NAMESPACE
MODULE_REGISTER_NS(Z2, MSource);