+ :param destination: memory address of a `hashkit_st` struct;
+ if a nullptr is passed, the struct will be dynamically allocated by libhashkit
+ :param ptr: pointer of the `hashkit_st` struct to copy
+ :returns: pointer to a `hashkit_st` structure (`destination`, if not nullptr), initialized from `ptr`
+