XJ music engine
1.9.6
In-game runtime engine for XJ music.
|
#include <MemeStack.h>
Public Member Functions | |
MemeStack (MemeTaxonomy taxonomy, const std::set< std::string > &from) | |
bool | isAllowed (const std::set< std::string > &targets) const |
bool | isAllowed (const std::set< std::string > &sources, const std::set< std::string > &targets) const |
bool | isValid () |
std::string | getConstellation () const |
Static Public Member Functions | |
static MemeStack | from (const MemeTaxonomy &taxonomy, const std::set< std::string > &memes) |
Meme Stack is a theorem which tests various axioms for validity when a new member is pending introduction.
Concretely exclude meme combinations in violation of the given axioms:
|
explicit |
Constructor from taxonomy and memes
from | from which to create stack |
Constructor from taxonomy and memes
taxonomy | taxonomy |
from | from which to create stack |
|
static |
Construct a meme stack from a set of memes
std::string MemeStack::getConstellation | ( | ) | const |
Constellations report https://github.com/xjmusic/xjmusic/issues/212
bool MemeStack::isAllowed | ( | const std::set< std::string > & | sources, |
const std::set< std::string > & | targets | ||
) | const |
Test whether an incoming set of memes is allowed by this meme
targets | memes to test |
bool MemeStack::isAllowed | ( | const std::set< std::string > & | targets | ) | const |
Test whether an incoming set of memes is allowed by this meme
targets | memes to test |
bool MemeStack::isValid | ( | ) |
Test whether all of our own memes are allowed, while avoiding testing any meme against itself
Refuse to make a choice that violates the meme stack https://github.com/xjmusic/xjmusic/issues/211