Function
GLibPtrArraynew_take
since: 2.76
Declaration [src]
GPtrArray*
g_ptr_array_new_take (
gpointer* data,
gsize len,
GDestroyNotify element_free_func
)
Description [src]
Creates a new GPtrArray
with data
as pointers, len
as length and a
reference count of 1.
This avoids having to copy such data manually.
After this call, data
belongs to the GPtrArray
and may no longer be
modified by the caller. The memory of data
has to be dynamically
allocated and will eventually be freed with g_free()
.
It also sets element_free_func
for freeing each element when the array is
destroyed either via g_ptr_array_unref()
, when
g_ptr_array_free()
is called with free_segment
set to true or when
removing elements.
Do not use it if len
is greater than G_MAXUINT
.
GPtrArray
stores the length of its data in guint
, which may be shorter
than gsize
.
Available since: 2.76
This function is not directly available to language bindings.
Parameters
data
-
Type: An array of
gpointer
An array of pointers.
The argument can be NULL
.The length of the array is specified in the len
argument.The called function takes ownership of the data, and is responsible for freeing it. len
-
Type:
gsize
The number of pointers in
data
. element_free_func
-
Type:
GDestroyNotify
A function to free elements on
array
destruction.