# NV::Rules::INvtxDomainInfo

class INvtxDomainInfo

  NvtxDomainInfo interface.

  Represents a single NVTX domain of the NVTX state, including all ranges associated with this domain.

  Public Functions

  virtual std::string name() = 0

    Get the domain name.

    Get the name of this domain

  virtual INvtxRange *push_pop_range(size_t idx) = 0

    Get a push/pop range object.

    Get a push/pop INvtxRange object by it’s running index \idx. The index is identical to the range’s order on the call stack.

  virtual std::vector<std::string> push_pop_ranges() = 0

    Get the list of push/pop range names.

    Get the sorted list of stacked push/pop range names in this domain, associated with the current INvtxState.

  virtual INvtxRange *start_end_range(size_t idx) = 0

    Get a start/end range object.

    Get a start/end INvtxRange object by it’s running index \idx.

  virtual std::vector<std::string> start_end_ranges() = 0

    Get the list of start/end range names.

    Get the list of start/end range names in this domain, associated with the current INvtxState.

  inline virtual ~INvtxDomainInfo()