Biodata Generator 1.0.0
Procedural human physical characteristics generation for C++23
Loading...
Searching...
No Matches
biodatagen.hpp File Reference

Biodata generator library — procedural human physical characteristics generation for C++23. More...

#include "random.hpp"
#include <algorithm>
#include <array>
#include <charconv>
#include <cmath>
#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

class  dasmig::biodata
 Return type for biodata generation, holding all physical characteristics. More...
 
class  dasmig::bdg
 Biodata generator that produces demographically plausible human physical characteristics using country-level population statistics. More...
 

Macros

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

Enumerations

enum class  dasmig::dataset : std::uint8_t { lite , full }
 
enum class  sex : std::uint8_t { male , female }
 
enum class  dasmig::eye_color : std::uint8_t { blue , intermediate , brown }
 Eye colour categories. More...
 
enum class  dasmig::hair_color : std::uint8_t { black , brown , blond , red }
 Hair colour categories. More...
 
enum class  dasmig::skin_type : std::uint8_t {
  I = 1 , II , III , IV ,
  V , VI
}
 Fitzpatrick skin-type scale (I–VI). More...
 
enum class  dasmig::blood_type : std::uint8_t {
  O_pos , A_pos , B_pos , AB_pos ,
  O_neg , A_neg , B_neg , AB_neg
}
 ABO/Rh blood-type groups. More...
 
enum class  dasmig::handedness : std::uint8_t { right , left }
 Handedness. More...
 

Detailed Description

Biodata generator library — procedural human physical characteristics 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 biodatagen.hpp.

Macro Definition Documentation

◆ DASMIG_DATASET_DEFINED

#define DASMIG_DATASET_DEFINED

Dataset size tier for resource loading.

Definition at line 36 of file biodatagen.hpp.

◆ DASMIG_SEX_DEFINED

#define DASMIG_SEX_DEFINED

Biological sex for biodata generation.

Definition at line 46 of file biodatagen.hpp.

Enumeration Type Documentation

◆ blood_type

enum class dasmig::blood_type : std::uint8_t
strong

ABO/Rh blood-type groups.

Definition at line 83 of file biodatagen.hpp.

◆ dataset

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

~111 countries with best data coverage.

full 

~197 countries (gaps filled with regional defaults).

Definition at line 37 of file biodatagen.hpp.

◆ eye_color

enum class dasmig::eye_color : std::uint8_t
strong

Eye colour categories.

Enumerator
intermediate 

Green, hazel, amber.

Definition at line 55 of file biodatagen.hpp.

◆ hair_color

enum class dasmig::hair_color : std::uint8_t
strong

Hair colour categories.

Definition at line 63 of file biodatagen.hpp.

◆ handedness

enum class dasmig::handedness : std::uint8_t
strong

Handedness.

Definition at line 96 of file biodatagen.hpp.

◆ sex

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

Definition at line 47 of file biodatagen.hpp.

◆ skin_type

enum class dasmig::skin_type : std::uint8_t
strong

Fitzpatrick skin-type scale (I–VI).

Definition at line 72 of file biodatagen.hpp.