glibmm: Glib::Bytes Class Reference
A simple refcounted data type representing an immutable byte sequence from an unspecified origin. More...
#include <glibmm/bytes.h>
Public Member Functions |
|
void | reference () const |
Increment the reference count for this object.
More...
|
|
void | unreference () const |
Decrement the reference count for this object.
More...
|
|
GBytes* | gobj () |
Provides access to the underlying C instance.
More...
|
|
const GBytes* | gobj () const |
Provides access to the underlying C instance.
More...
|
|
GBytes* | gobj_copy () const |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
More...
|
|
Bytes ()=delete | |
Bytes (const Bytes &)=delete | |
Bytes & | operator= (const Bytes &)=delete |
gconstpointer | get_data (gsize& size ) const |
Get the byte data in the
Bytes
.
More...
|
|
gsize | get_size () const |
Get the size of the byte data in the
Bytes
.
More...
|
|
Static Public Member Functions |
|
static Glib::RefPtr < Glib::Bytes > | create (gconstpointer data, gsize size ) |
static guint | hash (gconstpointer bytes) |
Creates an integer hash code for the byte data in the
Bytes
.
More...
|
|
static bool | equal (gconstpointer bytes1, gconstpointer bytes2) |
Compares the two
Bytes
values being pointed to and returns
true
if they are equal.
More...
|
|
static gint | compare (gconstpointer bytes1, gconstpointer bytes2) |
Compares the two
Bytes
values.
More...
|
|
Protected Member Functions |
|
void | operator delete (void*, std::size_t) |
Related Functions |
|
(Note that these are not member functions.) |
|
Glib::RefPtr < Glib::Bytes > | wrap (GBytes* object, bool take_copy=false) |
A
Glib::wrap()
method for this object.
More...
|
|
Detailed Description
A simple refcounted data type representing an immutable byte sequence from an unspecified origin.
The purpose of the Bytes class is to keep the memory region that it holds alive for as long as anyone holds a reference to the bytes. When the last reference count is dropped, the memory is released. Multiple unrelated callers can use byte data in the Bytes object without coordinating their activities, resting assured that the byte data will not change or move while they hold a reference.
A Bytes object can come from many different origins that may have different procedures for freeing the memory region. Examples are memory from g_malloc(), from memory slices, from a GMappedFile or memory from other allocators.
Constructor & Destructor Documentation
|
delete |
|
delete |
Member Function Documentation
|
static |
Compares the two Bytes values.
This function can be used to sort GBytes instances in lexographical order.
- Returns
- A negative value if bytes2 is lesser, a positive value if bytes2 is greater, and zero if bytes2 is equal to bytes1.
|
static |
|
static |
gconstpointer Glib::Bytes::get_data | ( | gsize & | size | ) | const |
Get the byte data in the Bytes .
This data should not be modified.
This function will always return the same pointer for a given Bytes .
nullptr
may be returned if
size
is 0. This is not guaranteed, as the
Bytes
may represent an empty string with
data
non-
nullptr
and
size
as 0.
nullptr
will not be returned if
size
is non-zero.
- Parameters
-
size Location to return size of byte data.
- Returns
-
A pointer to the byte data, or
nullptr
.
gsize Glib::Bytes::get_size | ( | ) | const |
GBytes* Glib::Bytes::gobj | ( | ) |
Provides access to the underlying C instance.
const GBytes* Glib::Bytes::gobj | ( | ) | const |
Provides access to the underlying C instance.
GBytes* Glib::Bytes::gobj_copy | ( | ) | const |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
|
static |
|
protected |
void Glib::Bytes::reference | ( | ) | const |
Increment the reference count for this object.
You should never need to do this manually - use the object via a RefPtr instead.
void Glib::Bytes::unreference | ( | ) | const |
Decrement the reference count for this object.
You should never need to do this manually - use the object via a RefPtr instead.
Friends And Related Function Documentation
|
related |
A Glib::wrap() method for this object.
- Parameters
-
object The C instance. take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
- Returns
- A C++ instance that wraps this C instance.