|
Interest Generator 3.0.1
Religion, hobbies and favourite media by country, age and sex for C++23
|
Requires C++23 (e.g.,
-std=c++23for GCC/Clang,/std:c++latestfor MSVC).
API Reference · Usage Guide · Data and Method · Releases
Religion, hobbies and favourite media by country, age and sex. A call draws a religion from the shares of a country, a few hobbies, and favourite film, game, book and music genres, shaped by the person's sex, age, country and religion (195 countries in lite, 248 with detail in full).
interest_request; use get_interest(request) for random generation or get_interest(request, seed) for reproducible results. interest::seed() records the seed for replay.get_interest(request, seed) is a pure function of the request, the seed and the data, and interest::seed() replays a previous result.extend()), checked before they are applied.to_json() on every result, and a signature() recording the seed and the data it came from.DASMIG_INTEREST_EMBED to build the lite tier into the program, for WebAssembly and other builds without files.intg instances with their own data and random engine.interestgen.hpp is the library released here. Keep core.hpp and the core/ directory (dasmig-core) in the same directory. Add
to the files you want to use it in, and supply the resources folder (or define DASMIG_INTEREST_EMBED).
Use get_interest({}) for a random country, unknown age and sex, three hobbies and two genres per medium. Generation has no mutable instance defaults or generator-level seeding controls; data loading and layers remain instance-level. The old country-only, seed-only and no-argument overloads have been removed.
See the usage guide for everything else.
Tested with:
-std=c++23)-std=c++23)/std:c++latest)| Dependency | Version | Bundled | Purpose |
|---|---|---|---|
| dasmig-core | 1.0 | Yes (core.hpp, core/) | Platform-independent random engine and distributions, data layers, JSON |
| Catch2 | 3.x | Yes (amalgamated) | Unit testing |
| Library | Description |
|---|---|
| address-generator | Postal addresses with real streets by place |
| biodata-generator | Procedural human physical characteristics |
| birth-generator | Demographically plausible birthdays |
| city-generator | Weighted city selection by population |
| country-generator | Weighted country selection by population |
| email-generator | Email addresses in each country's style |
| entity-generator | ECS-based entity generation |
| name-generator | Culturally appropriate full names |
| nickname-generator | Gamer-style nicknames |
| occupation-generator | Employment status, education and occupation by country, age and sex |
| persona-generator | Complete characters composed from the other generators |
| phone-generator | Phone numbers valid in each country's numbering plan |
| trait-generator | Personality traits with conflicts, synergies and Big Five axes |
| user-generator | Complete user records: account, username, email, phone and address |
This library is released under the MIT License.