# NV::Rules::IEvaluator

class IEvaluator : public NV::Rules::IBaseContext

  Evaluator interface.

  The evaluator is used during rule setup to pass information about rule dependencies to the tool. For most cases, its Python wrapper functions can be used instead for convenience.

  Public Functions

  virtual std::string get_version() = 0

    Get version number of this interface.

    Returns the version number of this interface as a string of the form <year>.<major>.<minor> It matches the Nsight Compute version this interface originates from.

  virtual bool handle_exception(const char *msg) = 0

    Context exception handler.

    Should return true if a python exception should be set, false otherwise

  virtual void require_metric(const char *metric) = 0

    Define that the specified `metric` must have been collected in order for the calling rule to be applied.

  virtual void require_rule(const char *rule) = 0

    Define that the specified `rule` must be available and ready to be applied in order for the calling rule to be applied itself.

  inline virtual ~IEvaluator()