1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-16 06:47:06 +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,38 +37,39 @@ BEGIN_HADRONS_NAMESPACE
/******************************************************************************
* Meson *
******************************************************************************/
namespace MContraction
BEGIN_MODULE_NAMESPACE(MContraction)
class MesonPar: Serializable
{
class MesonPar: Serializable
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(MesonPar,
std::string, q1,
std::string, q2,
std::string, output);
};
class Meson: public Module<MesonPar>
{
public:
class Result: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(MesonPar,
std::string, q1,
std::string, q2,
std::string, output);
GRID_SERIALIZABLE_CLASS_MEMBERS(Result,
std::vector<std::vector<std::vector<Complex>>>, corr);
};
class Meson: public Module<MesonPar>
{
public:
class Result: Serializable
{
public:
GRID_SERIALIZABLE_CLASS_MEMBERS(Result,
std::vector<std::vector<std::vector<Complex>>>, corr);
};
public:
// constructor
Meson(const std::string name);
// destructor
virtual ~Meson(void) = default;
// dependencies/products
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// execution
virtual void execute(void);
};
}
public:
// constructor
Meson(const std::string name);
// destructor
virtual ~Meson(void) = default;
// dependencies/products
virtual std::vector<std::string> getInput(void);
virtual std::vector<std::string> getOutput(void);
// execution
virtual void execute(void);
};
END_MODULE_NAMESPACE
MODULE_REGISTER_NS(Meson, MContraction);