view src/atom.h @ 145:7887550c61c6

atom: Allow freeing atoms table
author Lewin Bormann <lbo@spheniscida.de>
date Tue, 03 Sep 2019 12:15:21 +0200
parents 53ae0f7d8aa1
children
line wrap: on
line source

#ifndef src_atom_h
#define src_atom_h

#include <stdint.h>

/**
 * @file atom.h
 * @addtogroup language
 * @{
 */

/**
 * Atom identifier - identifies an atom in the global atoms table. IDs are
 * unique and can be compared using numeric equality.
 */
typedef uint64_t yatom_t;

/**
 * Find the ID of the named atom or allocate a new one.
 */
yatom_t yatom_get_or_add(const char* name);

/**
 * Find the name of an atom.
 */
const char* yatom_name(yatom_t atom);

void yatom_free_all(void);

/**
 * @}
 */
#endif