class_docstr: ConstantPoolInfo object holds information related to RO memory pools
  where the statically sized allocate nodes are pooled into.
  
  Parameters
  ----------
  pool_name : str
      The name of the memory pool
  
  targets : list[Target]
      describes which targets could access the pool
  
  pool_info_properties : PoolInfoProperties
      The properties of the pool.
class_docstr_tok: ["ConstantPoolInfo","object","holds","information","related","to","RO","memory","pools","where","the","statically","sized","allocate","nodes","are","pooled","into",".","Parameters","--","--","--","--","--","pool_name",":","str","The","name","of","the","memory","pool","targets",":","list","[","Target","]","describes","which","targets","could","access","the","pool","pool_info_properties",":","PoolInfoProperties","The","properties","of","the","pool","."]
code: def __init__(
      self,
      pool_name: str,
      targets,  # list[Target]
      constant_info_arr=None,  # list[ConstantInfo]
      pool_info_properties=None,
  ):
      super().__init__()
  
      if constant_info_arr is None:
          constant_info_arr = []
      if pool_info_properties is None:
          pool_info_properties = PoolInfoProperties()
      self.__init_handle_by_constructor__(
          _ffi_api.ConstantPoolInfo,  # type: ignore # pylint: disable=no-member
          pool_name,
          targets,
          constant_info_arr,
          pool_info_properties,
      )
  
imports: from typing import Optional, List
  from tvm._ffi import register_object
  from tvm.runtime import Object
  from tvm.runtime import NDArray
  from .None import _ffi_api
label_desc: Use image node_id 1 to create a new ConstantPoolInfo object from inherited base classes: PoolInfo with example: obj = ConstantPoolInfo(pool_name, targets, constant_info_arr, pool_info_properties)