Moved a tonne of code around

This commit is contained in:
2021-11-22 09:20:01 -08:00
parent fb454d98a4
commit 6d8fe79a76
227 changed files with 61 additions and 810 deletions

View File

@ -0,0 +1,52 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "../libs.h"
/**
* Retrieve the index of a given key from a dictionary.
*
* @param keys Array of strings.
* @param name Key to search for.
* @param count How long the array is.
* @return The index of the key within the dictionary (or -1 if not found).
*/
int32_t dictionaryGetIndex(char **keys, char *name, int32_t *count);
/**
* Retrieves or adds a key to the dictionary. Note that we take in the count as
* a pointer to an integer because this will automatically be incremented if the
* dictionary does not contain the string.
*
* @param keys Array of strings.
* @param name Key to add/get.
* @param count Pointer to an int32 that contains the count of items.
* @param stride How many elements between each key within the char buffer.
* @param buffer Char buffer where the key will be copied.
* @return The index where the item was added.
*/
int32_t dictionaryGetOrAdd(
char **keys, char *name, int32_t *count, int32_t stride, char *buffer
);
/**
* Removes a key from the dictionary.
*
* @param keys Array of strings.
* @param i Index to remove.
*/
void dictionaryRemoveByIndex(char **keys, int32_t i);
/**
* Remove an item from the dictionary by its key.
*
* @param keys Array of strings.
* @param name Key to remove.
* @param count Count of items within the dictionary.
*/
void dictionaryRemove(char **keys, char *name, int32_t count);