class_docstr: Decorator to mark function calls with range in NVIDIA profiler
  
  Decorated function calls are marked as ranges in NVIDIA profiler timeline.
  
  >>> from cupy import prof
  >>> @cupy.prof.TimeRangeDecorator()
  ... def function_to_profile():
  ...     pass
  
  Args:
      message (str): Name of a range, default use ``func.__name__``.
      color_id: range color ID
      argb_color: range color in ARGB (e.g. 0xFF00FF00 for green)
      sync (bool): If ``True``, waits for completion of all outstanding
          processing on GPU before calling :func:`cupy.cuda.nvtx.RangePush()`
          or :func:`cupy.cuda.nvtx.RangePop()`
  
  .. seealso:: :func:`cupy.cuda.nvtx.RangePush`
      :func:`cupy.cuda.nvtx.RangePop`
  
  .. warning:: This decorator is deprecated. Please use
      :class:`cupyx.profiler.time_range` instead.
class_docstr_tok: ["Decorator","to","mark","function","calls","with","range","in","NVIDIA","profiler","Decorated","function","calls","are","marked","as","ranges","in","NVIDIA","profiler","timeline",".",">",">",">","from","cupy","import","prof",">",">",">","@","cupy.prof.TimeRangeDecorator","(",")","...","def","function_to_profile","(",")",":","...","pass","Args",":","message","(","str",")",":","Name","of","a","range",",","default","use","``","func.__name__","``",".","color_id",":","range","color","ID","argb_color",":","range","color","in","ARGB","(","e.g",".","0xFF00FF00","for","green",")","sync","(","bool",")",":","If","``","True","``",",","waits","for","completion","of","all","outstanding","processing","on","GPU","before","calling",":","func",":","`","cupy.cuda.nvtx.RangePush","(",")","`","or",":","func",":","`","cupy.cuda.nvtx.RangePop","(",")","`","..","seealso",":",":",":","func",":","`","cupy.cuda.nvtx.RangePush","`",":","func",":","`","cupy.cuda.nvtx.RangePop","`","..","warning",":",":","This","decorator","is","deprecated",".","Please","use",":","class",":","`","cupyx.profiler.time_range","`","instead","."]
code: def __init__(
      self, message=None, color_id=None, argb_color=None, sync=False
  ):
      warnings.warn(
          "cupy.prof.TimeRangeDecorator has been deprecated since CuPy v10 "
          "and will be removed in the future. Use cupyx.profiler.time_range "
          "instead."
      )
  
      self._init(message, color_id, argb_color, sync)
  
imports: import contextlib
  import warnings
  from cupyx.profiler import time_range
label_desc: Use image node_id 1 to create a new TimeRangeDecorator object  with example: obj = TimeRangeDecorator(message, color_id, argb_color, sync)