docstr: ivy.Container instance method variant of ivy.scatter_flat. This
  method simply wraps the function, and so the docstring for
  ivy.scatter_flat also applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      Index array or container.
  updates
      values to update input tensor with
  size
      The size of the result. Default is `None`, in which case tensor
      argument out must be provided.
  reduction
      The reduction method for the scatter, one of 'sum', 'min', 'max'
      or 'replace'
  key_chains
      The key-chains to apply or not apply the method to. Default is ``None``.
  to_apply
      If True, the method will be applied to key_chains, otherwise key_chains
      will be skipped. Default is ``True``.
  prune_unapplied
      Whether to prune key_chains for which the function was not applied.
      Default is ``False``.
  map_sequences
      Whether to also map method to sequences (lists, tuples).
      Default is ``False``.
  out
      optional output container, for writing the result to. It must have a shape
      that the inputs broadcast to.
  
  Returns
  -------
  ret
      New container of given shape, with the values updated at the indices.
  
  Examples
  --------
  With :class:`ivy.Container` input:
  >>> indices = ivy.Container(a=ivy.array([1, 0, 1, 0, 2, 2, 3, 3]),
  ...                 b=ivy.array([0, 0, 1, 0, 2, 2, 3, 3]))
  >>> updates = ivy.Container(a=ivy.array([9, 2, 0, 2, 3, 2, 1, 8]),
  ...                 b=ivy.array([5, 1, 7, 2, 3, 2, 1, 3]))
  >>> size = 8
  >>> print(ivy.scatter_flat(indices, updates, size=size))
  {
      a: ivy.array([2, 0, 2, 8, 0, 0, 0, 0]),
      b: ivy.array([2, 7, 2, 3, 0, 0, 0, 0])
  }
docstr_tok: ["ivy.Container","instance","method","variant","of","ivy.scatter_flat",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.scatter_flat","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","Index","array","or","container",".","updates","values","to","update","input","tensor","with","size","The","size","of","the","result",".","Default","is","`","None","`",",","in","which","case","tensor","argument","out","must","be","provided",".","reduction","The","reduction","method","for","the","scatter",",","one","of","'sum","'",",","'min","'",",","'max'","or","'replace'","key_chains","The","key-chains","to","apply","or","not","apply","the","method","to",".","Default","is","``","None","``",".","to_apply","If","True",",","the","method","will","be","applied","to","key_chains",",","otherwise","key_chains","will","be","skipped",".","Default","is","``","True","``",".","prune_unapplied","Whether","to","prune","key_chains","for","which","the","function","was","not","applied",".","Default","is","``","False","``",".","map_sequences","Whether","to","also","map","method","to","sequences","(","lists",",","tuples",")",".","Default","is","``","False","``",".","out","optional","output","container",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","New","container","of","given","shape",",","with","the","values","updated","at","the","indices",".","Examples","--","--","--","--","With",":","class",":","`","ivy.Container","`","input",":",">",">",">","indices","=","ivy.Container","(","a=ivy.array","(","[","1",",","0",",","1",",","0",",","2",",","2",",","3",",","3","]",")",",","...","b=ivy.array","(","[","0",",","0",",","1",",","0",",","2",",","2",",","3",",","3","]",")",")",">",">",">","updates","=","ivy.Container","(","a=ivy.array","(","[","9",",","2",",","0",",","2",",","3",",","2",",","1",",","8","]",")",",","...","b=ivy.array","(","[","5",",","1",",","7",",","2",",","3",",","2",",","1",",","3","]",")",")",">",">",">","size","=","8",">",">",">","print","(","ivy.scatter_flat","(","indices",",","updates",",","size=size",")",")","{","a",":","ivy.array","(","[","2",",","0",",","2",",","8",",","0",",","0",",","0",",","0","]",")",",","b",":","ivy.array","(","[","2",",","7",",","2",",","3",",","0",",","0",",","0",",","0","]",")","}"]
code: def scatter_flat(
      self: ivy.Container,
      updates: Union[ivy.Array, ivy.NativeArray, ivy.Container],
      /,
      *,
      size: Optional[Union[int, ivy.Container]] = None,
      reduction: Union[str, ivy.Container] = "sum",
      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,
      out: Optional[ivy.Container] = None,
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.scatter_flat. This
      method simply wraps the function, and so the docstring for
      ivy.scatter_flat also applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          Index array or container.
      updates
          values to update input tensor with
      size
          The size of the result. Default is `None`, in which case tensor
          argument out must be provided.
      reduction
          The reduction method for the scatter, one of 'sum', 'min', 'max'
          or 'replace'
      key_chains
          The key-chains to apply or not apply the method to. Default is ``None``.
      to_apply
          If True, the method will be applied to key_chains, otherwise key_chains
          will be skipped. Default is ``True``.
      prune_unapplied
          Whether to prune key_chains for which the function was not applied.
          Default is ``False``.
      map_sequences
          Whether to also map method to sequences (lists, tuples).
          Default is ``False``.
      out
          optional output container, for writing the result to. It must have a shape
          that the inputs broadcast to.
  
      Returns
      -------
      ret
          New container of given shape, with the values updated at the indices.
  
      Examples
      --------
      With :class:`ivy.Container` input:
      >>> indices = ivy.Container(a=ivy.array([1, 0, 1, 0, 2, 2, 3, 3]),
      ...                 b=ivy.array([0, 0, 1, 0, 2, 2, 3, 3]))
      >>> updates = ivy.Container(a=ivy.array([9, 2, 0, 2, 3, 2, 1, 8]),
      ...                 b=ivy.array([5, 1, 7, 2, 3, 2, 1, 3]))
      >>> size = 8
      >>> print(ivy.scatter_flat(indices, updates, size=size))
      {
          a: ivy.array([2, 0, 2, 8, 0, 0, 0, 0]),
          b: ivy.array([2, 7, 2, 3, 0, 0, 0, 0])
      }
      """
      return self._static_scatter_flat(
          self,
          updates,
          size=size,
          reduction=reduction,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from numbers import Number
  from typing import Any, Union, List, Dict, Iterable, Optional, Callable
  from ivy.data_classes.container.base import ContainerBase
  import ivy
label_desc: Use image node_id 28 for calling the _ContainerWithGeneral obj's underlying member method code with example usage: obj.scatter_flat() and returns: self