Data-HashMap
view release on metacpan or search on metacpan
DEFINE_KW_HOOK(sa, "SA", max_size, 1, build_kw_1arg)
DEFINE_KW_HOOK(sa, "SA", ttl, 1, build_kw_1arg)
DEFINE_KW_HOOK(sa, "SA", lru_skip, 1, build_kw_1arg)
DEFINE_KW_HOOK(sa, "SA", each, 1, build_kw_1arg_list)
DEFINE_KW_HOOK(sa, "SA", iter_reset, 1, build_kw_1arg)
DEFINE_KW_HOOK(sa, "SA", clear, 1, build_kw_1arg)
DEFINE_KW_HOOK(sa, "SA", to_hash, 1, build_kw_1arg)
DEFINE_KW_HOOK(sa, "SA", put_ttl, 4, build_kw_4arg)
DEFINE_KW_HOOK(sa, "SA", get_or_set, 3, build_kw_3arg)
/* ---- Macro to register a keyword ---- */
#define REGISTER_KW(variant, kw, func_name) \
register_xs_parse_keyword("hm_" #variant "_" #kw, \
&hooks_hm_##variant##_##kw, (void*)func_name)
/* ---- Live node checks ---- */
#define I16_NODE_LIVE(n) ((n).key != INT16_MIN && (n).key != (INT16_MIN + 1))
#define I16S_NODE_LIVE(n) I16_NODE_LIVE(n)
#define I32_NODE_LIVE(n) ((n).key != INT32_MIN && (n).key != (INT32_MIN + 1))
#define I32S_NODE_LIVE(n) I32_NODE_LIVE(n)
#define II_NODE_LIVE(n) ((n).key != INT64_MIN && (n).key != (INT64_MIN + 1))
hashmap_generic.h view on Meta::CPAN
* HM_INT_TYPE / HM_INT_MIN / HM_INT_MAX key width (default int64_t)
* HM_HAS_COUNTERS incr/decr (int values only)
*/
#include <stdint.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
/* ---- Macro helpers ---- */
#define HM_PASTE2(a, b) a##_##b
#define HM_PASTE(a, b) HM_PASTE2(a, b)
#define HM_FN(name) HM_PASTE(HM_PREFIX, name)
/* ---- Integer type defaults ---- */
#ifndef HM_INT_TYPE
#define HM_INT_TYPE int64_t
#define HM_INT_MIN INT64_MIN
return one.c[0];
}
# define XXH_CPU_LITTLE_ENDIAN XXH_isLittleEndian()
# endif
#endif
/* ****************************************
* Compiler-specific Functions and Macros
******************************************/
#define XXH_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
#ifdef __has_builtin
# define XXH_HAS_BUILTIN(x) __has_builtin(x)
#else
# define XXH_HAS_BUILTIN(x) 0
#endif
( run in 2.246 seconds using v1.01-cache-2.11-cpan-1236ad508bc )