Birth Generator 1.1.1
Procedural birth date generation for C++23
Loading...
Searching...
No Matches
birthgen.hpp File Reference

Birth generator library — procedural birthday generation for C++23. More...

#include "random.hpp"
#include <algorithm>
#include <array>
#include <charconv>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <filesystem>
#include <format>
#include <fstream>
#include <ostream>
#include <random>
#include <ranges>
#include <stdexcept>
#include <string>
#include <string_view>
#include <system_error>
#include <unordered_map>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  dasmig::year_t
 Strong type for specifying a birth year. More...
 
struct  dasmig::age_range
 Specifies an inclusive age range [min, max]. More...
 
class  dasmig::birth
 Return type for birth generation, holding all data fields. More...
 
class  dasmig::bthg
 Birth generator that produces demographically plausible random birthdays using UN WPP 2024 population data. More...
 

Macros

#define DASMIG_DATASET_DEFINED
 Dataset size tier for resource loading.
 
#define DASMIG_SEX_DEFINED
 Biological sex for birth generation.
 

Enumerations

enum class  dasmig::dataset : std::uint8_t { lite , full }
 
enum class  sex : std::uint8_t { male , female }
 

Detailed Description

Birth generator library — procedural birthday generation for C++23.

Author
Diego Dasso Migotto (diegomigotto at hotmail dot com)
See also
See doc/usage.md for the narrative tutorial.

Definition in file birthgen.hpp.

Macro Definition Documentation

◆ DASMIG_DATASET_DEFINED

#define DASMIG_DATASET_DEFINED

Dataset size tier for resource loading.

Definition at line 35 of file birthgen.hpp.

◆ DASMIG_SEX_DEFINED

#define DASMIG_SEX_DEFINED

Biological sex for birth generation.

Definition at line 45 of file birthgen.hpp.

Enumeration Type Documentation

◆ dataset

enum class dasmig::dataset : std::uint8_t
strong
Enumerator
lite 

~195 sovereign states only.

full 

~237 countries and territories (UN WPP coverage).

Definition at line 36 of file birthgen.hpp.

◆ sex

enum class dasmig::sex : std::uint8_t
strong

Definition at line 46 of file birthgen.hpp.