# AP4_AtomParent Class Reference

Base class for containers of atoms. More...

`#include <Ap4Atom.h>`

Inheritance diagram for AP4_AtomParent:

List of all members.

## Public Member Functions
virtual | ~AP4_AtomParent ()
AP4_List< AP4_Atom > & | GetChildren ()
virtual AP4_Result | AddChild (AP4_Atom *child, int position=-1)
virtual AP4_Result | RemoveChild (AP4_Atom *child)
virtual AP4_Result | DeleteChild (AP4_Atom::Type type, AP4_Ordinal index=0)
virtual AP4_Atom * | GetChild (AP4_Atom::Type type, AP4_Ordinal index=0) const
virtual AP4_Atom * | FindChild (const char *path, bool auto_create=false, bool auto_create_full=false)
virtual void | OnChildChanged (AP4_Atom *)
virtual void | OnChildAdded (AP4_Atom *)
virtual void | OnChildRemoved (AP4_Atom *)
## Protected Attributes
AP4_List< AP4_Atom > | m_Children

## Detailed Description

Base class for containers of atoms.

This class also implements the logic for finding descendents by name.

Definition at line 213 of file Ap4Atom.h.

## Constructor & Destructor Documentation

virtual AP4_AtomParent::~AP4_AtomParent | ( |  | ) | `[virtual]`

## Member Function Documentation

AP4_List<AP4_Atom>& AP4_AtomParent::GetChildren | ( |  | ) | `[inline]`

Reimplemented in AP4_ContainerAtom.

Definition at line 217 of file Ap4Atom.h.

References m_Children.

virtual AP4_Result AP4_AtomParent::AddChild | ( | AP4_Atom * | child,
|  | int | position = `-1` |
| ) |  |  | `[virtual]`

virtual AP4_Result AP4_AtomParent::RemoveChild | ( | AP4_Atom * | child | ) | `[virtual]`

virtual AP4_Result AP4_AtomParent::DeleteChild | ( | AP4_Atom::Type | type,
|  | AP4_Ordinal | index = `0` |
| ) |  |  | `[virtual]`

virtual AP4_Atom* AP4_AtomParent::GetChild | ( | AP4_Atom::Type | type,
|  | AP4_Ordinal | index = `0` |
| ) |  |  | const`[virtual]`

virtual AP4_Atom* AP4_AtomParent::FindChild | ( | const char * | path,
|  | bool | auto_create = `false`,
|  | bool | auto_create_full = `false` |
| ) |  |  | `[virtual]`

virtual void AP4_AtomParent::OnChildChanged | ( | AP4_Atom * |  | ) | `[inline, virtual]`

Reimplemented in AP4_ContainerAtom, AP4_OdheAtom, AP4_SampleEntry, and AP4_StsdAtom.

Definition at line 227 of file Ap4Atom.h.

virtual void AP4_AtomParent::OnChildAdded | ( | AP4_Atom * |  | ) | `[inline, virtual]`

Reimplemented in AP4_ContainerAtom, and AP4_MoovAtom.

Definition at line 228 of file Ap4Atom.h.

virtual void AP4_AtomParent::OnChildRemoved | ( | AP4_Atom * |  | ) | `[inline, virtual]`

Reimplemented in AP4_ContainerAtom, and AP4_MoovAtom.

Definition at line 229 of file Ap4Atom.h.

## Member Data Documentation

AP4_List<AP4_Atom> AP4_AtomParent::m_Children`[protected]`

Definition at line 233 of file Ap4Atom.h.

Referenced by AP4_ContainerAtom::GetChildren(), GetChildren(), and AP4_File::GetOtherAtoms().

The documentation for this class was generated from the following file:

- Ap4Atom.h