HASHKIT_CLONE(3)

πŸ’– NAME πŸ’–

hashkit_clone β€” libhashkit Documentation

okay so bestie, this is the HASHKIT_CLONE(3) page from the libmemcached-awesome manual, and we are gonna read it together, no stress 🌸


✨ 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 β€” the memory address of a hashkit_st struct; if a nullptr is passed, the struct will be dynamically allocated by libhashkit 🫢
  • Returns
    • pointer to an initialized hashkit_st structure ⭐
hashkit_st *hashkit_clone(hashkit_st *destination, const hashkit_st *ptr)
  • Parameters
    • destination β€” the 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. it's giving "make me a hashkit, I got this" πŸ’…

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. like, it's a copycat but make it iconic πŸ’–

The hashkit_free() frees any resources being consumed by the hashkit objects that were initialized with hashkit_create() or hashkit_clone(). cleanup era 🧹✨

The hashkit_is_allocated() reports whether the memory was allocated for a hashkit object. vibe check on the memory origin πŸ”


πŸ”₯ RETURN VALUE πŸ”₯

hashkit_create() and hashkit_clone() will return nullptr on failure or pointer to hashkit_st on success. so either you get your pointer or you get nothing, no in-between bestie 😭

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. so true = libhashkit did it, false = you did it, and honestly both are valid 🫢


🌈 SEE ALSO 🌈

libhashkit(3) hashkit_value(3) hashkit_function3)


that's the whole page, bestie, you ate that πŸ’…βœ¨ this was version 1.1 from Jul 24, 2025, and ngl, she's a classic πŸ‘‘πŸ’–

πŸ“¦ where this page comes from