docstr: ivy.Array instance method variant of ivy.flatten. This method simply
  wraps the function, and so the docstring for ivy.flatten also applies
  to this method with minimal changes.
  
  Parameters
  ----------
  self
      input array to flatten.
  copy
      boolean indicating whether or not to copy the input array.
      If True, the function must always copy.
      If False, the function must never copy.
      In case copy is False we avoid copying by returning a
       view of the input array.
  start_dim
      first dim to flatten. If not set, defaults to 0.
  end_dim
      last dim to flatten. If not set, defaults to -1.
  order
      Read the elements of the input container using this index order,
      and place the elements into the reshaped array using this index order.
      ‘C’ means to read / write the elements using C-like index order,
      with the last axis index changing fastest, back to the first axis index
      changing slowest.
      ‘F’ means to read / write the elements using Fortran-like index order, with
      the first index changing fastest, and the last index changing slowest.
      Note that the ‘C’ and ‘F’ options take no account of the memory layout
      of the underlying array, and only refer to the order of indexing.
      Default order is 'C'.
  out
      Optional output, for writing the result to.
  
  Returns
  -------
  ret
      the flattened array over the specified dimensions.
  
  Examples
  --------
  >>> x = ivy.array([[1,2], [3,4]])
  >>> x.flatten()
  ivy.array([1, 2, 3, 4])
  
  >>> x = ivy.array([[1,2], [3,4]])
  >>> x.flatten(order='F')
  ivy.array([1, 3, 2, 4])
  
  >>> x = ivy.array(
      [[[[ 5,  5,  0,  6],
      [17, 15, 11, 16],
      [ 6,  3, 13, 12]],
  
      [[ 6, 18, 10,  4],
      [ 5,  1, 17,  3],
      [14, 14, 18,  6]]],
  
  
  [[[12,  0,  1, 13],
      [ 8,  7,  0,  3],
      [19, 12,  6, 17]],
  
      [[ 4, 15,  6, 15],
      [ 0,  5, 17,  9],
      [ 9,  3,  6, 19]]],
  
  
  [[[17, 13, 11, 16],
      [ 4, 18, 17,  4],
      [10, 10,  9,  1]],
  
      [[19, 17, 13, 10],
      [ 4, 19, 16, 17],
      [ 2, 12,  8, 14]]]]
      )
  >>> x.flatten(start_dim = 1, end_dim = 2)
  ivy.array(
      [[[ 5,  5,  0,  6],
      [17, 15, 11, 16],
      [ 6,  3, 13, 12],
      [ 6, 18, 10,  4],
      [ 5,  1, 17,  3],
      [14, 14, 18,  6]],
  
      [[12,  0,  1, 13],
      [ 8,  7,  0,  3],
      [19, 12,  6, 17],
      [ 4, 15,  6, 15],
      [ 0,  5, 17,  9],
      [ 9,  3,  6, 19]],
  
      [[17, 13, 11, 16],
      [ 4, 18, 17,  4],
      [10, 10,  9,  1],
      [19, 17, 13, 10],
      [ 4, 19, 16, 17],
      [ 2, 12,  8, 14]]]))
code: def flatten(
      self: ivy.Array,
      *,
      copy: Optional[bool] = None,
      start_dim: int = 0,
      end_dim: int = -1,
      order: str = "C",
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """ivy.Array instance method variant of ivy.flatten. This method simply
      wraps the function, and so the docstring for ivy.flatten also applies
      to this method with minimal changes.
  
      Parameters
      ----------
      self
          input array to flatten.
      copy
          boolean indicating whether or not to copy the input array.
          If True, the function must always copy.
          If False, the function must never copy.
          In case copy is False we avoid copying by returning a
           view of the input array.
      start_dim
          first dim to flatten. If not set, defaults to 0.
      end_dim
          last dim to flatten. If not set, defaults to -1.
      order
          Read the elements of the input container using this index order,
          and place the elements into the reshaped array using this index order.
          ‘C’ means to read / write the elements using C-like index order,
          with the last axis index changing fastest, back to the first axis index
          changing slowest.
          ‘F’ means to read / write the elements using Fortran-like index order, with
          the first index changing fastest, and the last index changing slowest.
          Note that the ‘C’ and ‘F’ options take no account of the memory layout
          of the underlying array, and only refer to the order of indexing.
          Default order is 'C'.
      out
          Optional output, for writing the result to.
  
      Returns
      -------
      ret
          the flattened array over the specified dimensions.
  
      Examples
      --------
      >>> x = ivy.array([[1,2], [3,4]])
      >>> x.flatten()
      ivy.array([1, 2, 3, 4])
  
      >>> x = ivy.array([[1,2], [3,4]])
      >>> x.flatten(order='F')
      ivy.array([1, 3, 2, 4])
  
      >>> x = ivy.array(
          [[[[ 5,  5,  0,  6],
          [17, 15, 11, 16],
          [ 6,  3, 13, 12]],
  
          [[ 6, 18, 10,  4],
          [ 5,  1, 17,  3],
          [14, 14, 18,  6]]],
  
  
      [[[12,  0,  1, 13],
          [ 8,  7,  0,  3],
          [19, 12,  6, 17]],
  
          [[ 4, 15,  6, 15],
          [ 0,  5, 17,  9],
          [ 9,  3,  6, 19]]],
  
  
      [[[17, 13, 11, 16],
          [ 4, 18, 17,  4],
          [10, 10,  9,  1]],
  
          [[19, 17, 13, 10],
          [ 4, 19, 16, 17],
          [ 2, 12,  8, 14]]]]
          )
      >>> x.flatten(start_dim = 1, end_dim = 2)
      ivy.array(
          [[[ 5,  5,  0,  6],
          [17, 15, 11, 16],
          [ 6,  3, 13, 12],
          [ 6, 18, 10,  4],
          [ 5,  1, 17,  3],
          [14, 14, 18,  6]],
  
          [[12,  0,  1, 13],
          [ 8,  7,  0,  3],
          [19, 12,  6, 17],
          [ 4, 15,  6, 15],
          [ 0,  5, 17,  9],
          [ 9,  3,  6, 19]],
  
          [[17, 13, 11, 16],
          [ 4, 18, 17,  4],
          [10, 10,  9,  1],
          [19, 17, 13, 10],
          [ 4, 19, 16, 17],
          [ 2, 12,  8, 14]]]))
      """
      return ivy.flatten(
          self._data,
          copy=copy,
          start_dim=start_dim,
          end_dim=end_dim,
          order=order,
          out=out,
      )
  
imports: import abc
  from typing import Optional, Union, Sequence, Tuple, List, Iterable, Callable, Literal, Any
  from numbers import Number
  import ivy
  from ivy import handle_view
label_desc: Use image node_id 10 for calling the _ArrayWithManipulationExperimental obj's underlying member method code with example usage: obj.flatten() and returns: ivy