# NV::Rules::IRange

class IRange

  Range interface.

  Represents a serial, ordered stream of execution, such as a CUDA stream. It holds one or more actions that were logically executing in this range

  Public Functions

  virtual IAction *action_by_idx(size_t idx) = 0

    Get a single action by index.

    Get a single IAction by index `idx`.

  virtual std::set<long long unsigned> actions_by_nvtx(const std::vector<std::string> &includes, const std::vector<std::string> &excludes) = 0

    Get a set of actions by their NVTX state.

    Get a set of indizes to IAction objects by their NVTX state. The state is defined using a series of `includes` and `excludes` .

  virtual size_t num_actions() = 0

    Get the number of actions.

    Get the number of available actions in this range

  inline virtual ~IRange()