### Virtual Method

# Ide Object add

#### Declaration

    void
    add (
      IdeObject* self,
      IdeObject* sibling,
      IdeObject* child,
      IdeObjectLocation location
    )

#### Description

Adds `child` to `self`, with location dependent on `location`.

Generally, it is simpler to use the helper functions such as ide_object_append(), ide_object_prepend(), ide_object_insert_before(), or ide_object_insert_after().

This function is primarily meant for consumers that don’t know the relative position they need until runtime.

Available since: | 3.32

#### Parameters

`sibling` | `IdeObject`
| An `IdeObject` or `NULL`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`child` | `IdeObject`
| An `IdeObject`.
| The data is owned by the caller of the function.
`location` | `IdeObjectLocation`
| Location for child.