mirror of
https://gitee.com/Lamdonn/varch.git
synced 2025-12-06 08:46:42 +08:00
47 lines
1.9 KiB
C
47 lines
1.9 KiB
C
/*********************************************************************************************************
|
|
* ------------------------------------------------------------------------------------------------------
|
|
* file description
|
|
* ------------------------------------------------------------------------------------------------------
|
|
* \file map_cfg.h
|
|
* \unit map
|
|
* \brief This is a general-purpose C language map module, key type configuration.
|
|
* \author Lamdonn
|
|
* \version v1.0.0
|
|
* \license GPL-2.0
|
|
* \copyright Copyright (C) 2023 Lamdonn.
|
|
********************************************************************************************************/
|
|
#ifndef __map_cfg_H
|
|
#define __map_cfg_H
|
|
|
|
#include <stdarg.h>
|
|
|
|
/* string type define */
|
|
typedef char* string;
|
|
|
|
#define MAP_KEY_TYPE_POINTER 0
|
|
#define MAP_KEY_TYPE_ENTITY 1
|
|
|
|
/* macro type */
|
|
#define MK_TYPE(type) MAP_KEY_TYPE__##type
|
|
#define MK_TRANS(type) map_key_trans__##type
|
|
|
|
/* key type */
|
|
#define MAP_KEY_TYPE__int MAP_KEY_TYPE_ENTITY
|
|
#define MAP_KEY_TYPE__char MAP_KEY_TYPE_ENTITY
|
|
#define MAP_KEY_TYPE__string MAP_KEY_TYPE_POINTER
|
|
#define MAP_KEY_TYPE__float MAP_KEY_TYPE_ENTITY
|
|
#define MAP_KEY_TYPE__double MAP_KEY_TYPE_ENTITY
|
|
|
|
/* key transform function declare */
|
|
void* map_key_trans__int(void* map, va_list args);
|
|
void* map_key_trans__char(void* map, va_list args);
|
|
void* map_key_trans__string(void* map, va_list args);
|
|
void* map_key_trans__float(void* map, va_list args);
|
|
void* map_key_trans__double(void* map, va_list args);
|
|
|
|
/*********************************************************************************************************
|
|
* add other key type transform function declare here
|
|
********************************************************************************************************/
|
|
|
|
#endif
|