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_ststruct; if a nullptr is passed, the struct will be dynamically allocated by libhashkit- Returns:
pointer to initialized
hashkit_ststructure
-
hashkit_st *hashkit_clone(hashkit_st *destination, const hashkit_st *ptr)
- Parameters:
destination -- memory address of a
hashkit_ststruct; if a nullptr is passed, the struct will be dynamically allocated by libhashkitptr -- pointer of the
hashkit_ststruct to copy
- Returns:
pointer to a
hashkit_ststructure (destination, if not nullptr), initialized fromptr
-
void hashkit_free(hashkit_st *hash)
- Parameters:
hash -- pointer to an initialized
hashkit_ststruct
-
bool hashkit_is_allocated(const hashkit_st *hash)
- Parameters:
hash -- pointer to an initialized
hashkit_ststruct- Returns:
bool, whether the
hashstruct 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.