1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-07-28 10:17:08 +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

@@ -37,31 +37,32 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Load a NERSC configuration *
******************************************************************************/
namespace MGauge
{
class LoadPar: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(LoadPar,
std::string, file);
};
BEGIN_MODULE_NAMESPACE(MGauge)
class Load: public Module<LoadPar>
{
public:
// constructor
Load(const std::string name);
// destructor
virtual ~Load(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 LoadPar: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(LoadPar,
std::string, file);
};
class Load: public Module<LoadPar>
{
public:
// constructor
Load(const std::string name);
// destructor
virtual ~Load(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(Load, MGauge);

View File

@@ -37,24 +37,25 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Random gauge *
******************************************************************************/
namespace MGauge
BEGIN_MODULE_NAMESPACE(MGauge)
class Random: public Module<NoPar>
{
class Random: public Module<NoPar>
{
public:
// constructor
Random(const std::string name);
// destructor
virtual ~Random(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:
// constructor
Random(const std::string name);
// destructor
virtual ~Random(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(Random, MGauge);

View File

@@ -37,24 +37,25 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Unit gauge *
******************************************************************************/
namespace MGauge
BEGIN_MODULE_NAMESPACE(MGauge)
class Unit: public Module<NoPar>
{
class Unit: public Module<NoPar>
{
public:
// constructor
Unit(const std::string name);
// destructor
virtual ~Unit(void) = default;
// dependencies/products
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:
// constructor
Unit(const std::string name);
// destructor
virtual ~Unit(void) = default;
// dependencies/products
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(Unit, MGauge);