# children iterator
[AXIOM]

## Functions
AXIS2_EXTERN axiom_children_iterator_t * | axiom_children_iterator_create (const axutil_env_t *env, axiom_node_t *current_child)
AXIS2_EXTERN void | axiom_children_iterator_free (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_children_iterator_remove (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t | axiom_children_iterator_has_next (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axiom_node_t * | axiom_children_iterator_next (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_children_iterator_reset (axiom_children_iterator_t *iterator, const axutil_env_t *env)

## Function Documentation

AXIS2_EXTERN axiom_children_iterator_t* axiom_children_iterator_create | ( | const axutil_env_t * | env,
|  | axiom_node_t * | current_child |
| ) |  |  |

Parameters:

  | current | child
  | env | environment return axiom_children_iterator_t

AXIS2_EXTERN void axiom_children_iterator_free | ( | axiom_children_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Free the om_children_iterator struct

Parameters:

  | iterator | a pointer to axiom children iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axis2_bool_t axiom_children_iterator_has_next | ( | axiom_children_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Returns:
  true if the iteration has more elements. In other words, returns true if next() would return an om_node_t struct rather than null with error code set in environment

Parameters:

  | iterator | a pointer to axiom children iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axiom_node_t* axiom_children_iterator_next | ( | axiom_children_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Returns the next element in the iteration. Returns null if there are no more elements in the iteration

Parameters:

  | iterator | a pointer to axiom children iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_iterator_remove | ( | axiom_children_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Removes from the underlying collection the last element returned by the iterator (optional op). This method can be called only once per call to `next`. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Parameters:

  | iterator | a pointer to axiom children iterator struct
  | env | environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_iterator_reset | ( | axiom_children_iterator_t * | iterator,
|  | const axutil_env_t * | env |
| ) |  |  |

Resets the Iterator. This moves the cursor back to the initial. iterator chidren_iterator to be reset.

Parameters:

  | iterator | a pointer to axiom children iterator struct
  | env | environment, MUST NOT be NULL

Returns:
  satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.