libikarus/include/ikarus/values/value.h

26 lines
842 B
C

#pragma once
/// \file value.h
/// \author Folling <mail@folling.io>
/// \defgroup entities Entities
/// \brief Entities are the core building blocks of Ikarus.
#include <ikarus/errors.h>
#include <ikarus/macros.h>
#include <ikarus/stdtypes.h>
IKARUS_BEGIN_HEADER
/// \brief Values are data containers for entities.
/// \details Values are flexible enough to store any kind of data. They are
/// akin to objects in programming languages.
/// Each value has a schema that defines the type of the value. \see schema.h
/// They also store data appropriate for the schema.
///
/// Given the complexity of values, they are transferred as json.
/// The json representation of a value is a map with the following keys:
/// - `schema`: The schema of the value. \see schema.h.
/// - `data`: The data of the value. \see data.h.
IKARUS_END_HEADER