Creating a hashkit structure
SYNOPSIS
- #include <libhashkit-1.0/hashkit.h>
Compile and link with -lhashkit
-
typedef struct hashkit_st hashkit_st
-
hashkit_st *hashkit_create(hashkit_st *hash)
- Parameters:
hash -- memory address of a
hashkit_st
struct; if a nullptr is passed, the struct will be dynamically allocated by libhashkit- Returns:
pointer to initialized
hashkit_st
structure
-
hashkit_st *hashkit_clone(hashkit_st *destination, const hashkit_st *ptr)
- Parameters:
destination -- memory address of a
hashkit_st
struct; if a nullptr is passed, the struct will be dynamically allocated by libhashkitptr -- pointer of the
hashkit_st
struct to copy
- Returns:
pointer to a
hashkit_st
structure (destination
, if not nullptr), initialized fromptr
-
void hashkit_free(hashkit_st *hash)
- Parameters:
hash -- pointer to an initialized
hashkit_st
struct
-
bool hashkit_is_allocated(const hashkit_st *hash)
- Parameters:
hash -- pointer to an initialized
hashkit_st
struct- Returns:
bool, whether the
hash
struct was dynamically allocated
DESCRIPTION
The hashkit_create()
function initializes a hashkit object for use. If you pass
a nullptr argument for hash, then the memory for the object is allocated. If you
specify a pre-allocated piece of memory, that is initialized for use.
The hashkit_clone()
function initializes a hashkit object much like
hashkit_create()
, but instead of using default settings it will use the settings
of the ptr hashkit object.
The hashkit_free()
frees any resources being consumed by the hashkit objects
that were initialized with hashkit_create()
or hashkit_clone()
.
The hashkit_is_allocated()
reports whether the memory was allocated for a hashkit
object.
RETURN VALUE
hashkit_create()
and hashkit_clone()
will return nullptr on failure or pointer
to hashkit_st
on success.
hashkit_is_allocated()
returns true if the memory for the hashkit object was
allocated inside of hashkit_create()
or hashkit_clone()
, otherwise it is false
and was user-supplied memory.