docstr: starmap iterator with internal lazy pool instantiation
  
  Args:
      pool: pool object (i.e. pathos.pools.ProcessPool)
      *args: positional arguments for pool initialization
      **kwds: keyword arguments for pool initialization
      close: if True, close the pool to any new jobs [Default: False] 
      join: if True, reclaim the pool's closed workers [Default: False]
      clear: if True, delete the pool singleton [Default: False]
  
  NOTE: if a pool object is not provided, an itertools.starmap will
      be used.
  NOTE: pools from both multiprocess and pathos.pools can be used,
      however the behavior is slightly different. Pools from both
      pathos and multiprocess have close and join methods, to close
      the pool to new jobs, and to shut down the pool's workers.
      Pools from pathos, however, are launched as singletons, so
      they also include a clear method that deletes the singleton.
      In either case, a pool that has been "closed" will throw a
      ValueError if map is then called, and similarly, a ValueError
      will be thrown if join is called before a pool is "closed".
      The major difference is that if a pathos.pool is closed, the
      map instance cannot run new jobs until "clear" is called,
      while a new multiprocess pool will be created each time the
      map is executed. This leads to pathos.pools generally being
      called with either ``clear=True`` or ``clear=False``, and pools
      from multprocess either using ``close=True`` or ``join=True`` or
      both. Some hierarchical parallel workflows are not allowed,
      and will result in an error being thrown; however, changing
      close, join, or clear can often remove the error.
      
docstr_tok: ["starmap","iterator","with","internal","lazy","pool","instantiation","Args",":","pool",":","pool","object","(","i.e",".","pathos.pools.ProcessPool",")","*","args",":","positional","arguments","for","pool","initialization","*","*","kwds",":","keyword","arguments","for","pool","initialization","close",":","if","True",",","close","the","pool","to","any","new","jobs","[","Default",":","False","]","join",":","if","True",",","reclaim","the","pool","'s","closed","workers","[","Default",":","False","]","clear",":","if","True",",","delete","the","pool","singleton","[","Default",":","False","]","NOTE",":","if","a","pool","object","is","not","provided",",","an","itertools.starmap","will","be","used",".","NOTE",":","pools","from","both","multiprocess","and","pathos.pools","can","be","used",",","however","the","behavior","is","slightly","different",".","Pools","from","both","pathos","and","multiprocess","have","close","and","join","methods",",","to","close","the","pool","to","new","jobs",",","and","to","shut","down","the","pool","'s","workers",".","Pools","from","pathos",",","however",",","are","launched","as","singletons",",","so","they","also","include","a","clear","method","that","deletes","the","singleton",".","In","either","case",",","a","pool","that","has","been","``","closed","''","will","throw","a","ValueError","if","map","is","then","called",",","and","similarly",",","a","ValueError","will","be","thrown","if","join","is","called","before","a","pool","is","``","closed","''",".","The","major","difference","is","that","if","a","pathos.pool","is","closed",",","the","map","instance","can","not","run","new","jobs","until","``","clear","''","is","called",",","while","a","new","multiprocess","pool","will","be","created","each","time","the","map","is","executed",".","This","leads","to","pathos.pools","generally","being","called","with","either","``","clear=True","``","or","``","clear=False","``",",","and","pools","from","multprocess","either","using","``","close=True","``","or","``","join=True","``","or","both",".","Some","hierarchical","parallel","workflows","are","not","allowed",",","and","will","result","in","an","error","being","thrown",";","however",",","changing","close",",","join",",","or","clear","can","often","remove","the","error","."]
code: def __init__(self, pool=None, *args, **kwds):
      """starmap iterator with internal lazy pool instantiation
  
      Args:
          pool: pool object (i.e. pathos.pools.ProcessPool)
          *args: positional arguments for pool initialization
          **kwds: keyword arguments for pool initialization
          close: if True, close the pool to any new jobs [Default: False]
          join: if True, reclaim the pool's closed workers [Default: False]
          clear: if True, delete the pool singleton [Default: False]
  
      NOTE: if a pool object is not provided, an itertools.starmap will
          be used.
      NOTE: pools from both multiprocess and pathos.pools can be used,
          however the behavior is slightly different. Pools from both
          pathos and multiprocess have close and join methods, to close
          the pool to new jobs, and to shut down the pool's workers.
          Pools from pathos, however, are launched as singletons, so
          they also include a clear method that deletes the singleton.
          In either case, a pool that has been "closed" will throw a
          ValueError if map is then called, and similarly, a ValueError
          will be thrown if join is called before a pool is "closed".
          The major difference is that if a pathos.pool is closed, the
          map instance cannot run new jobs until "clear" is called,
          while a new multiprocess pool will be created each time the
          map is executed. This leads to pathos.pools generally being
          called with either ``clear=True`` or ``clear=False``, and pools
          from multprocess either using ``close=True`` or ``join=True`` or
          both. Some hierarchical parallel workflows are not allowed,
          and will result in an error being thrown; however, changing
          close, join, or clear can often remove the error.
      """
      super().__init__(pool, *args, **kwds)
  
label_desc: Use image node_id 1 to create a new Ismap object from inherited base classes: Map with example: obj = Ismap(pool)