# AP4_ContainerAtom Class Reference

`#include <Ap4ContainerAtom.h>`

Inheritance diagram for AP4_ContainerAtom:

List of all members.

## Public Member Functions
| AP4_ContainerAtom (Type type)
| AP4_ContainerAtom (Type type, AP4_UI32 version, AP4_UI32 flags)
| AP4_ContainerAtom (Type type, AP4_UI64 size, bool force_64)
| AP4_ContainerAtom (Type type, AP4_UI64 size, bool force_64, AP4_UI32 version, AP4_UI32 flags)
AP4_List< AP4_Atom > & | GetChildren ()
virtual AP4_Result | InspectFields (AP4_AtomInspector &inspector)
virtual AP4_Result | InspectChildren (AP4_AtomInspector &inspector)
virtual AP4_Result | WriteFields (AP4_ByteStream &stream)
virtual AP4_Atom * | Clone ()
| Create a clone of the object.
virtual void | OnChildChanged (AP4_Atom *child)
virtual void | OnChildAdded (AP4_Atom *child)
virtual void | OnChildRemoved (AP4_Atom *child)
## Static Public Member Functions
static AP4_ContainerAtom * | Create (Type type, AP4_UI64 size, bool is_full, bool force_64, AP4_ByteStream &stream, AP4_AtomFactory &atom_factory)
## Protected Member Functions
| AP4_ContainerAtom (Type type, AP4_UI64 size, bool force_64, AP4_UI32 version, AP4_UI32 flags, AP4_ByteStream &stream, AP4_AtomFactory &atom_factory)
| AP4_ContainerAtom (Type type, AP4_UI64 size, bool force_64, AP4_ByteStream &stream, AP4_AtomFactory &atom_factory)
void | ReadChildren (AP4_AtomFactory &atom_factory, AP4_ByteStream &stream, AP4_UI64 size)

## Detailed Description

Definition at line 48 of file Ap4ContainerAtom.h.

## Constructor & Destructor Documentation

AP4_ContainerAtom::AP4_ContainerAtom | ( | Type | type | ) | `[explicit]`

AP4_ContainerAtom::AP4_ContainerAtom | ( | Type | type,
|  | AP4_UI32 | version,
|  | AP4_UI32 | flags |
| ) |  |  | `[explicit]`

AP4_ContainerAtom::AP4_ContainerAtom | ( | Type | type,
|  | AP4_UI64 | size,
|  | bool | force_64 |
| ) |  |  | `[explicit]`

AP4_ContainerAtom::AP4_ContainerAtom | ( | Type | type,
|  | AP4_UI64 | size,
|  | bool | force_64,
|  | AP4_UI32 | version,
|  | AP4_UI32 | flags |
| ) |  |  | `[explicit]`

AP4_ContainerAtom::AP4_ContainerAtom | ( | Type | type,
|  | AP4_UI64 | size,
|  | bool | force_64,
|  | AP4_UI32 | version,
|  | AP4_UI32 | flags,
|  | AP4_ByteStream & | stream,
|  | AP4_AtomFactory & | atom_factory |
| ) |  |  | `[protected]`

AP4_ContainerAtom::AP4_ContainerAtom | ( | Type | type,
|  | AP4_UI64 | size,
|  | bool | force_64,
|  | AP4_ByteStream & | stream,
|  | AP4_AtomFactory & | atom_factory |
| ) |  |  | `[protected]`

## Member Function Documentation

static AP4_ContainerAtom* AP4_ContainerAtom::Create | ( | Type | type,
|  | AP4_UI64 | size,
|  | bool | is_full,
|  | bool | force_64,
|  | AP4_ByteStream & | stream,
|  | AP4_AtomFactory & | atom_factory |
| ) |  |  | `[static]`

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

Reimplemented from AP4_AtomParent.

Definition at line 64 of file Ap4ContainerAtom.h.

References AP4_AtomParent::m_Children.

virtual AP4_Result AP4_ContainerAtom::InspectFields | ( | AP4_AtomInspector & | inspector | ) | `[virtual]`

Reimplemented from AP4_Atom.

Reimplemented in AP4_IproAtom, AP4_OdheAtom, AP4_OhdrAtom, AP4_SampleEntry, AP4_AudioSampleEntry, AP4_VisualSampleEntry, AP4_RtpHintSampleEntry, and AP4_StsdAtom.

virtual AP4_Result AP4_ContainerAtom::InspectChildren | ( | AP4_AtomInspector & | inspector | ) | `[virtual]`

virtual AP4_Result AP4_ContainerAtom::WriteFields | ( | AP4_ByteStream & | stream | ) | `[virtual]`

Implements AP4_Atom.

Reimplemented in AP4_DrefAtom, AP4_IproAtom, AP4_OdheAtom, AP4_OhdrAtom, AP4_SampleEntry, AP4_AudioSampleEntry, AP4_VisualSampleEntry, AP4_RtpHintSampleEntry, and AP4_StsdAtom.

virtual AP4_Atom* AP4_ContainerAtom::Clone | ( |  | ) | `[virtual]`

Create a clone of the object.

This method returns a clone of the atom, or NULL if the atom cannot be cloned. Override this if your want to make an atom cloneable in a more efficient way than the default implementation.

Reimplemented from AP4_Atom.

Reimplemented in AP4_OhdrAtom.

virtual void AP4_ContainerAtom::OnChildChanged | ( | AP4_Atom * | child | ) | `[virtual]`

Reimplemented from AP4_AtomParent.

Reimplemented in AP4_OdheAtom, AP4_SampleEntry, and AP4_StsdAtom.

virtual void AP4_ContainerAtom::OnChildAdded | ( | AP4_Atom * | child | ) | `[virtual]`

Reimplemented from AP4_AtomParent.

Reimplemented in AP4_MoovAtom.

virtual void AP4_ContainerAtom::OnChildRemoved | ( | AP4_Atom * | child | ) | `[virtual]`

Reimplemented from AP4_AtomParent.

Reimplemented in AP4_MoovAtom.

void AP4_ContainerAtom::ReadChildren | ( | AP4_AtomFactory & | atom_factory,
|  | AP4_ByteStream & | stream,
|  | AP4_UI64 | size |
| ) |  |  | `[protected]`

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

- Ap4ContainerAtom.h