Relationship Generator 1.2.2
Believable families around a person: parents, siblings, partners and children, with ages and names for C++23
Loading...
Searching...
No Matches
dasmig::family_request Struct Reference

What a family call asks for. More...

#include <relgen.hpp>

Public Attributes

anchor_spec anchor {}
 The person the family is around; omitted fields are drawn.
 
int up {1}
 Generations above the anchor: 0 for none, 1 for parents, 2 for grandparents too.
 
int down {1}
 Generations below the anchor: 0 for none, 1 for children, 2 for grandchildren too.
 
bool siblings {true}
 Whether to include the anchor's siblings (and half-siblings). Siblings come from the parents, so up = 0 gives none.
 
bool partners {true}
 Whether to include the anchor's partners, current and former. Children come from the unions either way.
 
bool names {true}
 Whether to give everyone a name (needs name-generator's data).
 
std::optional< culture > name_culture {}
 The culture the names follow; the anchor's country's by default. Needs names; a culture with no names loaded leaves the family without names.
 
bool stepparents {false}
 Whether to include the partners of the anchor's parents who are not the other parent (stepfathers and stepmothers), who joined a parent while the anchor was a child. Off by default, and then nothing else about the family changes. Needs up >= 1. With siblings, it also brings the stepparents' children by an earlier union (stepsiblings), and the half-siblings born during the union have the stepparent as their other parent.
 
bool home {false}
 Whether to draw who the anchor lives with at the reference date (family::home). Off by default, and then nothing else about the family changes. It is drawn from the relatives the family holds, so a family without parents (up = 0) leaves a child with no one to live with.
 
bool weighted {true}
 Population-weighted (true) or uniform country, when drawn.
 
std::chrono::year_month_day reference_date {birth_request::default_reference_date}
 The date ages and who is alive are computed at (1 July 2023, the date of the UN estimates, by default).
 

Detailed Description

What a family call asks for.

Every generation call takes one; family_request{} asks for the defaults. Choices are never stored on the generator, so one call cannot change the next.

Definition at line 135 of file relgen.hpp.

Member Data Documentation

◆ anchor

anchor_spec dasmig::family_request::anchor {}

The person the family is around; omitted fields are drawn.

Definition at line 138 of file relgen.hpp.

◆ down

int dasmig::family_request::down {1}

Generations below the anchor: 0 for none, 1 for children, 2 for grandchildren too.

Definition at line 144 of file relgen.hpp.

◆ home

bool dasmig::family_request::home {false}

Whether to draw who the anchor lives with at the reference date (family::home). Off by default, and then nothing else about the family changes. It is drawn from the relatives the family holds, so a family without parents (up = 0) leaves a child with no one to live with.

Definition at line 170 of file relgen.hpp.

◆ name_culture

std::optional<culture> dasmig::family_request::name_culture {}

The culture the names follow; the anchor's country's by default. Needs names; a culture with no names loaded leaves the family without names.

Definition at line 156 of file relgen.hpp.

◆ names

bool dasmig::family_request::names {true}

Whether to give everyone a name (needs name-generator's data).

Definition at line 152 of file relgen.hpp.

◆ partners

bool dasmig::family_request::partners {true}

Whether to include the anchor's partners, current and former. Children come from the unions either way.

Definition at line 150 of file relgen.hpp.

◆ reference_date

std::chrono::year_month_day dasmig::family_request::reference_date {birth_request::default_reference_date}

The date ages and who is alive are computed at (1 July 2023, the date of the UN estimates, by default).

Definition at line 175 of file relgen.hpp.

◆ siblings

bool dasmig::family_request::siblings {true}

Whether to include the anchor's siblings (and half-siblings). Siblings come from the parents, so up = 0 gives none.

Definition at line 147 of file relgen.hpp.

◆ stepparents

bool dasmig::family_request::stepparents {false}

Whether to include the partners of the anchor's parents who are not the other parent (stepfathers and stepmothers), who joined a parent while the anchor was a child. Off by default, and then nothing else about the family changes. Needs up >= 1. With siblings, it also brings the stepparents' children by an earlier union (stepsiblings), and the half-siblings born during the union have the stepparent as their other parent.

Definition at line 164 of file relgen.hpp.

◆ up

int dasmig::family_request::up {1}

Generations above the anchor: 0 for none, 1 for parents, 2 for grandparents too.

Definition at line 141 of file relgen.hpp.

◆ weighted

bool dasmig::family_request::weighted {true}

Population-weighted (true) or uniform country, when drawn.

Definition at line 172 of file relgen.hpp.


The documentation for this struct was generated from the following file: