10 #ifndef smtk_attribute_Evaluator_h
11 #define smtk_attribute_Evaluator_h
13 #include "smtk/CoreExports.h"
17 #include "smtk/attribute/Attribute.h"
24 #include <boost/variant.hpp>
45 using ValueType = boost::variant<
49 std::vector<std::string>,
53 enum class DependentEvaluationMode
55 EVALUATE_DEPENDENTS = 0,
56 DO_NOT_EVALUATE_DEPENDENTS = 1
65 virtual bool evaluate(
68 const std::size_t& element = 0,
69 const DependentEvaluationMode& evaluationMode =
70 DependentEvaluationMode::EVALUATE_DEPENDENTS) = 0;
74 virtual bool doesEvaluate(std::size_t element) = 0;
78 virtual bool doesEvaluate() = 0;
82 virtual std::size_t numberOfEvaluatableElements() = 0;
94 #endif // smtk_attribute_Evaluator_h