docstr: `ivy.Container` instance method variant of `ivy.iinfo`. This method
  simply wraps the function, and so the docstring for `ivy.iinfo` also
  applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      input container with leaves to inquire information about.
  
  key_chains
      The key-chains to apply or not apply the method to.
      Default is ``None``.
  
  to_apply
      Boolean indicating whether to apply the
      method to the key-chains. Default is ``True``.
  
  prune_unapplied
      Boolean indicating whether to prune the
      key-chains that were not applied. Default is ``False``.
  
  map_sequences
      Boolean indicating whether to map method
      to sequences (list, tuple). Default is ``False``.
  
  Returns
  -------
  ret
      container of the same structure as `self`, with each element
      as an iinfo object for the corresponding dtype of
      leave in`self`.
  
  Examples
  --------
  >>> c = ivy.Container(x=ivy.array([-9,1800,89], dtype=ivy.int16),
  ...                   y=ivy.array([76,-81,16], dtype=ivy.int32))
  >>> c.iinfo()
  {
      x: iinfo(min=-32768, max=32767, dtype=int16),
      y: iinfo(min=-2147483648, max=2147483647, dtype=int32)
  }
  
  >>> c = ivy.Container(x=ivy.array([-12,123,4], dtype=ivy.int8),
  ...                   y=ivy.array([76,-81,16], dtype=ivy.int16))
  >>> c.iinfo()
  {
      x: iinfo(min=-128, max=127, dtype=int8),
      y: iinfo(min=-32768, max=32767, dtype=int16)
  }
docstr_tok: ["`","ivy.Container","`","instance","method","variant","of","`","ivy.iinfo","`",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","`","ivy.iinfo","`","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","input","container","with","leaves","to","inquire","information","about",".","key_chains","The","key-chains","to","apply","or","not","apply","the","method","to",".","Default","is","``","None","``",".","to_apply","Boolean","indicating","whether","to","apply","the","method","to","the","key-chains",".","Default","is","``","True","``",".","prune_unapplied","Boolean","indicating","whether","to","prune","the","key-chains","that","were","not","applied",".","Default","is","``","False","``",".","map_sequences","Boolean","indicating","whether","to","map","method","to","sequences","(","list",",","tuple",")",".","Default","is","``","False","``",".","Returns","--","--","--","-","ret","container","of","the","same","structure","as","`","self","`",",","with","each","element","as","an","iinfo","object","for","the","corresponding","dtype","of","leave","in","`","self","`",".","Examples","--","--","--","--",">",">",">","c","=","ivy.Container","(","x=ivy.array","(","[","-9,1800,89","]",",","dtype=ivy.int16",")",",","...","y=ivy.array","(","[","76",",","-81,16","]",",","dtype=ivy.int32",")",")",">",">",">","c.iinfo","(",")","{","x",":","iinfo","(","min=-32768",",","max=32767",",","dtype=int16",")",",","y",":","iinfo","(","min=-2147483648",",","max=2147483647",",","dtype=int32",")","}",">",">",">","c","=","ivy.Container","(","x=ivy.array","(","[","-12,123,4","]",",","dtype=ivy.int8",")",",","...","y=ivy.array","(","[","76",",","-81,16","]",",","dtype=ivy.int16",")",")",">",">",">","c.iinfo","(",")","{","x",":","iinfo","(","min=-128",",","max=127",",","dtype=int8",")",",","y",":","iinfo","(","min=-32768",",","max=32767",",","dtype=int16",")","}"]
code: def iinfo(
      self: ivy.Container,
      key_chains: Optional[
          Union[List[str], Dict[str, str], ivy.Container]
      ] = None,
      to_apply: Union[bool, ivy.Container] = True,
      prune_unapplied: Union[bool, ivy.Container] = False,
      map_sequences: Union[bool, ivy.Container] = False,
  ) -> ivy.Container:
      """`ivy.Container` instance method variant of `ivy.iinfo`. This method
      simply wraps the function, and so the docstring for `ivy.iinfo` also
      applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          input container with leaves to inquire information about.
  
      key_chains
          The key-chains to apply or not apply the method to.
          Default is ``None``.
  
      to_apply
          Boolean indicating whether to apply the
          method to the key-chains. Default is ``True``.
  
      prune_unapplied
          Boolean indicating whether to prune the
          key-chains that were not applied. Default is ``False``.
  
      map_sequences
          Boolean indicating whether to map method
          to sequences (list, tuple). Default is ``False``.
  
      Returns
      -------
      ret
          container of the same structure as `self`, with each element
          as an iinfo object for the corresponding dtype of
          leave in`self`.
  
      Examples
      --------
      >>> c = ivy.Container(x=ivy.array([-9,1800,89], dtype=ivy.int16),
      ...                   y=ivy.array([76,-81,16], dtype=ivy.int32))
      >>> c.iinfo()
      {
          x: iinfo(min=-32768, max=32767, dtype=int16),
          y: iinfo(min=-2147483648, max=2147483647, dtype=int32)
      }
  
      >>> c = ivy.Container(x=ivy.array([-12,123,4], dtype=ivy.int8),
      ...                   y=ivy.array([76,-81,16], dtype=ivy.int16))
      >>> c.iinfo()
      {
          x: iinfo(min=-128, max=127, dtype=int8),
          y: iinfo(min=-32768, max=32767, dtype=int16)
      }
      """
      return self._static_iinfo(
          self,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
      )
  
imports: from typing import Optional, Union, List, Dict, Tuple, Callable
  import ivy
  from ivy.data_classes.container.base import ContainerBase
label_desc: Use image node_id 18 for calling the _ContainerWithDataTypes obj's underlying member method code with example usage: obj.iinfo(key_chains, to_apply, prune_unapplied, map_sequences) and returns: self