### Method

# GLib Node copy_deep

since: 2.4

#### Declaration

    GNode*
    g_node_copy_deep (
      GNode* node,
      GCopyFunc copy_func,
      gpointer data
    )

#### Description

Recursively copies a `GNode` and its data.

Available since: 2.4

This method is not directly available to language bindings.

#### Parameters

`copy_func`

  Type: `GCopyFunc`

  The function which is called to copy the data inside each node, or `NULL` to use the original data.

`data`

  Type: `gpointer`

  Data to pass to `copy_func`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

#### Return value

Type: `GNode`

A new `GNode` containing copies of the data in `node`.

The returned data is owned by the instance.