XJ music engine  1.9.6
In-game runtime engine for XJ music.
MemeStack.h
Go to the documentation of this file.
1 // Copyright (c) XJ Music Inc. (https://xjmusic.com) All Rights Reserved.
2 
3 #ifndef XJMUSIC_ENTITIES_MEME_STACK_H
4 #define XJMUSIC_ENTITIES_MEME_STACK_H
5 
6 #include <string>
7 #include <set>
8 
9 #include "MemeTaxonomy.h"
10 #include "ParseAnti.h"
11 #include "ParseNumeric.h"
12 #include "ParseUnique.h"
13 #include "ParseStrong.h"
14 
15 namespace XJ {
16 
27  class MemeStack {
28  public:
29 
35  explicit MemeStack(MemeTaxonomy taxonomy, const std::set<std::string> &from);
36 
40  static MemeStack from(const MemeTaxonomy &taxonomy, const std::set<std::string> &memes);
41 
48  bool isAllowed(const std::set<std::string> &targets) const;
49 
56  bool isAllowed(const std::set<std::string> &sources, const std::set<std::string> &targets) const;
57 
65  bool isValid();
66 
72  std::string getConstellation() const;
73 
74  private:
75  std::set<std::string> memes;
76  MemeTaxonomy taxonomy;
77  };
78 
79 } // namespace XJ
80 
81 #endif // XJMUSIC_ENTITIES_MEME_STACK_H
Definition: MemeStack.h:27
std::string getConstellation() const
Definition: MemeStack.cpp:83
bool isAllowed(const std::set< std::string > &targets) const
Definition: MemeStack.cpp:30
static MemeStack from(const MemeTaxonomy &taxonomy, const std::set< std::string > &memes)
Definition: MemeStack.cpp:26
MemeStack(MemeTaxonomy taxonomy, const std::set< std::string > &from)
Definition: MemeStack.cpp:19
bool isValid()
Definition: MemeStack.cpp:64
Definition: MemeTaxonomy.h:112
Definition: ActiveAudio.h:11