SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
11 #ifndef smtk_attribute_Categories_h
12 #define smtk_attribute_Categories_h
14 #include "smtk/CoreExports.h"
15 #include "smtk/SystemConfig.h"
17 #include "smtk/common/Deprecation.h"
51 Any SMTK_DEPRECATED_IN_22_07(
"Please use Or") = Or,
52 All SMTK_DEPRECATED_IN_22_07(
"Please use And") = And
75 class SMTKCORE_EXPORT
Set
100 m_includeMode = mode;
101 m_includedCategories = values;
108 m_excludeMode = mode;
109 m_excludedCategories = values;
122 m_includedCategories.clear();
123 m_excludedCategories.clear();
129 return m_includedCategories.empty() && m_excludedCategories.empty() &&
130 (m_combinationMode == CombinationMode::And);
143 bool passes(
const std::set<std::string>& cats)
const;
144 bool passes(
const std::string& cat)
const;
146 static bool passesCheck(
147 const std::set<std::string>& cats,
148 const std::set<std::string>& testSet,
151 SMTK_DEPRECATED_IN_22_07(
152 "Replaced by Categories::combinationModeAsString(CombinationMode mode).")
154 SMTK_DEPRECATED_IN_22_07("Replaced by
Categories::combinationModeFromString(const std::
string& "
156 static
bool combinationModeFromString(const std::
string& val,
Set::
CombinationMode& mode);
158 int compare(const
Set& rhs) const;
159 std::
string convertToString(const std::
string& prefix = "") const;
163 m_excludeMode{ Set::CombinationMode::Or }, m_combinationMode{ Set::CombinationMode::And };
164 std::set<std::string> m_includedCategories, m_excludedCategories;
171 void clear() { m_stack.clear(); }
172 bool passes(
const std::set<std::string>& cats)
const;
173 bool passes(
const std::string& cat)
const;
174 std::string convertToString(
const std::string& prefix =
"")
const;
175 std::set<std::string> categoryNames()
const;
176 bool empty()
const {
return m_stack.empty(); }
178 bool operator<(
const Stack& rhs)
const;
181 std::vector<std::pair<CombinationMode, Set>> m_stack;
187 bool passes(
const std::set<std::string>& cats)
const;
188 bool passes(
const std::string& cat)
const;
193 SMTK_DEPRECATED_IN_22_07(
"Replaced by Categories::insert(const Stack&).")
194 bool insert(const
Set& set);
195 bool insert(const
Stack& stack);
199 void reset() { m_stacks.clear(); }
201 std::size_t
size()
const {
return m_stacks.size(); }
203 SMTK_DEPRECATED_IN_22_07(
"Replaced by Categories::stacks().")
204 const std::set<
Set> sets()
const {
return std::set<Set>(); }
206 const std::set<Stack>&
stacks()
const {
return m_stacks; }
208 std::set<std::string> categoryNames()
const;
210 std::string convertToString()
const;
213 static std::string combinationModeAsString(Set::CombinationMode mode);
214 static bool combinationModeFromString(
const std::string& val, Set::CombinationMode& mode);
217 std::set<Stack> m_stacks;
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
void eraseExclusion(const std::string &val)
Remove a category name from the exclusion set.
Definition: Categories.h:118
Definition: Categories.h:167
void setExclusionMode(const Set::CombinationMode &newMode)
Set/Get the CombinationMode associated with the excluded categories.
Definition: Categories.h:93
const std::set< std::string > & includedCategoryNames() const
Return the set of category names associated with the inclusion set.
Definition: Categories.h:96
std::size_t inclusionSize() const
Returns the number of category names in the inclusion set.
Definition: Categories.h:133
void insertExclusion(const std::string &val)
Add a category name to the exclusion set.
Definition: Categories.h:114
std::size_t size() const
Return the number of stacks in this instance.
Definition: Categories.h:201
Set::CombinationMode inclusionMode() const
Set/Get the CombinationMode associated with the included categories.
Definition: Categories.h:87
void insertInclusion(const std::string &val)
Add a category name to the inclusion set.
Definition: Categories.h:112
Set::CombinationMode combinationMode() const
Set/Get the how the sets of included and excluded categories are combined.
Definition: Categories.h:82
Set::CombinationMode exclusionMode() const
Set/Get the CombinationMode associated with the excluded categories.
Definition: Categories.h:92
void setInclusionMode(const Set::CombinationMode &newMode)
Set/Get the CombinationMode associated with the included categories.
Definition: Categories.h:88
bool empty() const
Returns true if both the inclusion and exclusion sets are empty and the combination mode is set to An...
Definition: Categories.h:127
std::size_t exclusionSize() const
Returns the number of category names in the exclusion set.
Definition: Categories.h:135
void setInclusions(const std::set< std::string > &values, Set::CombinationMode mode)
Set the mode and category names of the inclusion set.
Definition: Categories.h:98
Represents the category constraints associated with an Attribute, Attribute Definition,...
Definition: Categories.h:34
void reset()
Remove all names from both inclusion and exclusion sets.
Definition: Categories.h:120
const std::set< Stack > & stacks() const
Return the stacks contained in this instance.
Definition: Categories.h:206
Categories::Set represents a single category constraint used by the Categories class.
Definition: Categories.h:75
const std::set< std::string > & excludedCategoryNames() const
Return the set of category names associated with the exclusion set.
Definition: Categories.h:104
CombinationMode
Definition: Categories.h:37
void eraseInclusion(const std::string &val)
Remove a category name from the inclusion set.
Definition: Categories.h:116
void setExclusions(const std::set< std::string > &values, Set::CombinationMode mode)
Set the mode and category names of the exclusion set.
Definition: Categories.h:106