HASHKIT_IS_ALLOCATED(3)

NAME
hashkit_is_allocated - 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.

SEE ALSO

libhashkit(3) hashkit_value(3) hashkit_function3)