mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
Introduce nvim namespace: Move files.
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.
This commit is contained in:
57
src/nvim/map.h
Normal file
57
src/nvim/map.h
Normal file
@@ -0,0 +1,57 @@
|
||||
// General-purpose string->pointer associative array with a simple API
|
||||
#ifndef NEOVIM_MAP_H
|
||||
#define NEOVIM_MAP_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "map_defs.h"
|
||||
|
||||
/// Creates a new `Map` instance
|
||||
///
|
||||
/// @return a pointer to the new instance
|
||||
Map *map_new(void);
|
||||
|
||||
/// Frees memory for a `Map` instance
|
||||
///
|
||||
/// @param map The `Map` instance
|
||||
void map_free(Map *map);
|
||||
|
||||
/// Gets the value corresponding to a key in a `Map` instance
|
||||
///
|
||||
/// @param map The `Map` instance
|
||||
/// @param key A key string
|
||||
/// @return The value if the key exists in the map, or NULL if it doesn't
|
||||
void *map_get(Map *map, const char *key);
|
||||
|
||||
/// Checks if a key exists in the map
|
||||
///
|
||||
/// @param map The `Map` instance
|
||||
/// @param key A key string
|
||||
/// @return true if the key exists, false otherwise
|
||||
bool map_has(Map *map, const char *key);
|
||||
|
||||
/// Set the value corresponding to a key in a `Map` instance and returns
|
||||
/// the old value.
|
||||
///
|
||||
/// @param map The `Map` instance
|
||||
/// @param key A key string
|
||||
/// @param value A value
|
||||
/// @return The current value if exists or NULL otherwise
|
||||
void *map_put(Map *map, const char *key, void *value);
|
||||
|
||||
/// Deletes the value corresponding to a key in a `Map` instance and returns
|
||||
/// the old value.
|
||||
///
|
||||
/// @param map The `Map` instance
|
||||
/// @param key A key string
|
||||
/// @return The current value if exists or NULL otherwise
|
||||
void *map_del(Map *map, const char *key);
|
||||
|
||||
/// Iterates through each key/value pair in the map
|
||||
///
|
||||
/// @param map The `Map` instance
|
||||
/// @param cb A function that will be called for each key/value
|
||||
void map_foreach(Map *map, key_value_cb cb);
|
||||
|
||||
#endif /* NEOVIM_MAP_H */
|
||||
|
Reference in New Issue
Block a user