class_docstr: At a specific event, pop a previously pushed range.
  Stores zero-based depth of the range that is started.
  
  Args:
      msg: ASCII message to associate with range
class_docstr_tok: ["At","a","specific","event",",","pop","a","previously","pushed","range",".","Stores","zero-based","depth","of","the","range","that","is","started",".","Args",":","msg",":","ASCII","message","to","associate","with","range"]
docstr: Pop an NVTX range at a specific Ignite event
  Args:
      engine: Ignite Engine, it can be a trainer, validator or evaluator.
docstr_tok: ["Pop","an","NVTX","range","at","a","specific","Ignite","event","Args",":","engine",":","Ignite","Engine",",","it","can","be","a","trainer",",","validator","or","evaluator","."]
code: def attach(self, engine: Engine) -> None:
      """
      Pop an NVTX range at a specific Ignite event
      Args:
          engine: Ignite Engine, it can be a trainer, validator or evaluator.
      """
      engine.add_event_handler(self.event, self.range_pop)
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  from monai.config import IgniteInfo
  from monai.utils import ensure_tuple, min_version, optional_import
label_desc: Use image node_id 2 for calling the RangePopHandler obj's underlying member method code with example usage: obj.attach(engine) without return types