SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
10 #ifndef smtk_attribute_AssociationRule_h
11 #define smtk_attribute_AssociationRule_h
13 #include "smtk/CoreExports.h"
16 #include "smtk/attribute/Attribute.h"
18 #include "smtk/common/CompilerInformation.h"
20 SMTK_THIRDPARTY_PRE_INCLUDE
21 #include "nlohmann/json.hpp"
22 SMTK_THIRDPARTY_POST_INCLUDE
41 virtual ~
Rule() =
default;
45 virtual bool operator()(
46 const Attribute::ConstPtr&,
47 const smtk::resource::PersistentObject::ConstPtr&)
const = 0;
50 virtual const Rule& operator>>(nlohmann::json& json)
const = 0;
54 virtual const Rule& operator>>(pugi::xml_node& node)
const = 0;
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition: doc.h:33
#define smtkTypenameMacroBase(...)
Add typedefs to a class for identifcation.
Definition: SharedFromThis.h:94
A subclass used to differentiate between rule types during registration.
Definition: AssociationRule.h:68
std::ostream & operator<<(std::ostream &os, const State &s)
States may be appended to streams.
Definition: State.h:86
A subclass used to differentiate between rule types during registration.
Definition: AssociationRule.h:61
A base class for custom (i.e.
Definition: AssociationRule.h:36