hashkit_clone - Man Page
libhashkit Documentation
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 libhashkit
- ptr -- pointer of the hashkit_st struct to copy
- Returns
pointer to a hashkit_st structure (destination, if not nullptr), initialized from ptr
- 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.