Buffer classes

Buffer classes

Functions

Properties

gpointer buffer Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ├── GArrowBuffer
       ╰── GArrowMutableBuffer
           ╰── GArrowResizableBuffer
               ╰── GArrowPoolBuffer
    ╰── GArrowBuffer
        ╰── GArrowMutableBuffer
            ╰── GArrowResizableBuffer
                ╰── GArrowPoolBuffer

Includes

#include <arrow-glib/arrow-glib.h>

Description

GArrowBuffer is a class for keeping data. Other classes such as GArrowArray and GArrowTensor can use data in buffer.

GArrowBuffer is immutable.

GArrowMutableBuffer is mutable.

GArrowResizableBuffer is mutable and resizable. GArrowResizableBuffer isn't instantiatable.

GArrowPoolBuffer is mutable, resizable and instantiatable.

Functions

garrow_buffer_new ()

GArrowBuffer *
garrow_buffer_new (const guint8 *data,
                   gint64 size);

Parameters

data

Data for the buffer. They aren't owned by the new buffer. You must not free the data while the new buffer is alive.

[array length=size]

size

The number of bytes of the data.

 

Returns

A newly created GArrowBuffer.

Since 0.3.0


garrow_buffer_is_mutable ()

gboolean
garrow_buffer_is_mutable (GArrowBuffer *buffer);

Parameters

buffer

A GArrowBuffer.

 

Returns

TRUE if the buffer is mutable, FALSE otherwise.

Since 0.3.0


garrow_buffer_get_capacity ()

gint64
garrow_buffer_get_capacity (GArrowBuffer *buffer);

Parameters

buffer

A GArrowBuffer.

 

Returns

The number of bytes that where allocated for the buffer in total.

Since 0.3.0


garrow_buffer_get_data ()

GBytes *
garrow_buffer_get_data (GArrowBuffer *buffer);

Parameters

buffer

A GArrowBuffer.

 

Returns

The data of the buffer. The data is owned by the buffer. You should not free or modify the data.

[transfer full]

Since 0.3.0


garrow_buffer_get_mutable_data ()

GBytes *
garrow_buffer_get_mutable_data (GArrowBuffer *buffer);

Parameters

buffer

A GArrowBuffer.

 

Returns

The data of the buffer. If the buffer is imutable, it returns NULL. The data is owned by the buffer. You should not free the data.

[transfer full][nullable]

Since 0.3.0


garrow_buffer_get_size ()

gint64
garrow_buffer_get_size (GArrowBuffer *buffer);

Parameters

buffer

A GArrowBuffer.

 

Returns

The number of bytes that might have valid data.

Since 0.3.0


garrow_buffer_get_parent ()

GArrowBuffer *
garrow_buffer_get_parent (GArrowBuffer *buffer);

Parameters

buffer

A GArrowBuffer.

 

Returns

The parent GArrowBuffer or NULL.

[nullable][transfer full]

Since 0.3.0


garrow_buffer_copy ()

GArrowBuffer *
garrow_buffer_copy (GArrowBuffer *buffer,
                    gint64 start,
                    gint64 size,
                    GError **error);

Parameters

buffer

A GArrowBuffer.

 

start

An offset of data to be copied in byte.

 

size

The number of bytes to be copied from the start.

 

error

Return location for a GError or NULL.

[nullable]

Returns

A newly copied GArrowBuffer on success, NULL on error.

[nullable][transfer full]

Since 0.3.0


garrow_buffer_slice ()

GArrowBuffer *
garrow_buffer_slice (GArrowBuffer *buffer,
                     gint64 offset,
                     gint64 size);

Parameters

buffer

A GArrowBuffer.

 

offset

An offset in the buffer data in byte.

 

size

The number of bytes of the sliced data.

 

Returns

A newly created GArrowBuffer that shares data of the base GArrowBuffer. The created GArrowBuffer has data start with offset from the base buffer data and are the specified bytes size.

[transfer full]

Since 0.3.0


garrow_mutable_buffer_new ()

GArrowMutableBuffer *
garrow_mutable_buffer_new (guint8 *data,
                           gint64 size);

Parameters

data

Data for the buffer. They aren't owned by the new buffer. You must not free the data while the new buffer is alive.

[array length=size]

size

The number of bytes of the data.

 

Returns

A newly created GArrowMutableBuffer.

Since 0.3.0


garrow_mutable_buffer_slice ()

GArrowMutableBuffer *
garrow_mutable_buffer_slice (GArrowMutableBuffer *buffer,
                             gint64 offset,
                             gint64 size);

Parameters

buffer

A GArrowMutableBuffer.

 

offset

An offset in the buffer data in byte.

 

size

The number of bytes of the sliced data.

 

Returns

A newly created GArrowMutableBuffer that shares data of the base GArrowMutableBuffer. The created GArrowMutableBuffer has data start with offset from the base buffer data and are the specified bytes size.

[transfer full]

Since 0.3.0


garrow_resizable_buffer_resize ()

gboolean
garrow_resizable_buffer_resize (GArrowResizableBuffer *buffer,
                                gint64 new_size,
                                GError **error);

Parameters

buffer

A GArrowResizableBuffer.

 

new_size

The new buffer size in bytes.

 

error

Return location for a GError or NULL.

[nullable]

Returns

TRUE on success, FALSE if there was an error.

Since 0.3.0


garrow_resizable_buffer_reserve ()

gboolean
garrow_resizable_buffer_reserve (GArrowResizableBuffer *buffer,
                                 gint64 new_capacity,
                                 GError **error);

Parameters

buffer

A GArrowResizableBuffer.

 

new_capacity

The new buffer capacity in bytes.

 

error

Return location for a GError or NULL.

[nullable]

Returns

TRUE on success, FALSE if there was an error.

Since 0.3.0


garrow_pool_buffer_new ()

GArrowPoolBuffer *
garrow_pool_buffer_new (void);

Returns

A newly created GArrowPoolBuffer.

Since 0.3.0

Types and Values

struct GArrowBuffer

struct GArrowBuffer;

It wraps arrow::Buffer.


struct GArrowMutableBuffer

struct GArrowMutableBuffer;

It wraps arrow::MutableBuffer.


struct GArrowResizableBuffer

struct GArrowResizableBuffer;

It wraps arrow::ResizableBuffer.


struct GArrowPoolBuffer

struct GArrowPoolBuffer;

It wraps arrow::PoolBuffer.

Property Details

The “buffer” property

  “buffer”                   gpointer

The raw std::shared<arrow::Buffer> *.

Flags: Write / Construct Only