docstr: ivy.Container instance method variant of ivy.clip. This method
  simply wraps the function, and so the docstring for ivy.clip also
  applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      Input container containing elements to clip.
  x_min
      Minimum value.
  x_max
      Maximum value.
  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
      A container with the elements of x, but where values < x_min are replaced
      with x_min, and those > x_max with x_max.
  
  Examples
  --------
  >>> x = ivy.Container(a=ivy.array([0., 1., 2.]), b=ivy.array([3., 4., 5.]))
  >>> y = x.clip(1,2)
  >>> print(y)
  {
      a: ivy.array([1., 1., 2.]),
      b: ivy.array([2., 2., 2.])
  }
code: def clip(
      self: ivy.Container,
      /,
      x_min: Optional[
          Union[Number, ivy.Array, ivy.NativeArray, ivy.Container]
      ] = None,
      x_max: Optional[
          Union[Number, ivy.Array, ivy.NativeArray, ivy.Container]
      ] = None,
      *,
      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.clip. This method
      simply wraps the function, and so the docstring for ivy.clip also
      applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          Input container containing elements to clip.
      x_min
          Minimum value.
      x_max
          Maximum value.
      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
          A container with the elements of x, but where values < x_min are replaced
          with x_min, and those > x_max with x_max.
  
      Examples
      --------
      >>> x = ivy.Container(a=ivy.array([0., 1., 2.]), b=ivy.array([3., 4., 5.]))
      >>> y = x.clip(1,2)
      >>> print(y)
      {
          a: ivy.array([1., 1., 2.]),
          b: ivy.array([2., 2., 2.])
      }
      """
      return self._static_clip(
          self,
          x_min,
          x_max,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from typing import Optional, Union, List, Tuple, Dict, Iterable, Sequence
  from numbers import Number
  import ivy
  from ivy.data_classes.container.base import ContainerBase
label_desc: Use image node_id 32 for calling the _ContainerWithManipulation obj's underlying member method code with example usage: obj.clip(x_min, x_max) and returns: self