diff options
author | David Robillard <d@drobilla.net> | 2007-12-07 03:05:20 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-12-07 03:05:20 +0000 |
commit | ffb37e6de2934aa227c3483f8a00118e3604b5e5 (patch) | |
tree | 8c40493f8de562677e1e54cc4b26a1fbbb493d26 /src/engine/machina/Mutation.hpp | |
parent | 33e9991326a1cd90a4956f3221f5a48d03d5af89 (diff) | |
download | machina-ffb37e6de2934aa227c3483f8a00118e3604b5e5.tar.gz machina-ffb37e6de2934aa227c3483f8a00118e3604b5e5.tar.bz2 machina-ffb37e6de2934aa227c3483f8a00118e3604b5e5.zip |
It's evolution, baby.
git-svn-id: http://svn.drobilla.net/lad/machina@958 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/machina/Mutation.hpp')
-rw-r--r-- | src/engine/machina/Mutation.hpp | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/engine/machina/Mutation.hpp b/src/engine/machina/Mutation.hpp index 0a9731c..52c02bc 100644 --- a/src/engine/machina/Mutation.hpp +++ b/src/engine/machina/Mutation.hpp @@ -18,6 +18,15 @@ #ifndef MACHINA_MACHINE_MUTATION_HPP #define MACHINA_MACHINE_MUTATION_HPP +#include CONFIG_H_PATH + +#if HAVE_EUGENE + #include <eugene/core/Mutation.hpp> + #define SUPER : public Eugene::Mutation<Machine> +#else + #define SUPER +#endif + namespace Machina { class Machine; @@ -26,13 +35,13 @@ namespace Mutation { struct Mutation { virtual void mutate(Machine& machine) = 0; }; -struct Compress { static void mutate(Machine& machine); }; -struct AddNode { static void mutate(Machine& machine); }; -struct RemoveNode { static void mutate(Machine& machine); }; -struct AdjustNode { static void mutate(Machine& machine); }; -struct AddEdge { static void mutate(Machine& machine); }; -struct RemoveEdge { static void mutate(Machine& machine); }; -struct AdjustEdge { static void mutate(Machine& machine); }; +struct Compress SUPER { void mutate(Machine& machine); }; +struct AddNode SUPER { void mutate(Machine& machine); }; +struct RemoveNode SUPER { void mutate(Machine& machine); }; +struct AdjustNode SUPER { void mutate(Machine& machine); }; +struct AddEdge SUPER { void mutate(Machine& machine); }; +struct RemoveEdge SUPER { void mutate(Machine& machine); }; +struct AdjustEdge SUPER { void mutate(Machine& machine); }; } // namespace Mutation |