dasmig-core 1.2.0
Shared random engine, distributions and data tiers for the dasmig generator libraries
Loading...
Searching...
No Matches
table.hpp File Reference

Data tables built from a base layer plus extension layers. More...

#include "rng.hpp"
#include "tsv.hpp"
#include <cstddef>
#include <cstdint>
#include <functional>
#include <initializer_list>
#include <optional>
#include <set>
#include <stdexcept>
#include <string>
#include <string_view>
#include <unordered_map>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  dasmig::core::table_schema
 The columns of a table. More...
 
struct  dasmig::core::layer_info
 What one loaded layer did. More...
 
class  dasmig::core::layered_table
 A table assembled from layers of TSV data. More...
 

Enumerations

enum class  dasmig::core::layer_mode : std::uint8_t { add , override , replace }
 How a layer combines with the rows already loaded. More...
 

Detailed Description

Data tables built from a base layer plus extension layers.

Author
Diego Dasso Migotto (diegomigotto at hotmail dot com)

Every library keeps its data in layered tables, so users can add to it, override it or replace it with files of the same TSV format, without touching the shipped data. See doc/usage.md ("Extending data").

Definition in file table.hpp.

Enumeration Type Documentation

◆ layer_mode

enum class dasmig::core::layer_mode : std::uint8_t
strong

How a layer combines with the rows already loaded.

Enumerator
add 

New keys only; a key that already exists is an error.

override 

A row replaces the row with the same key; new keys are added.

replace 

The layer replaces every row loaded before it.

Definition at line 35 of file table.hpp.