|
Phone Generator 2.1.1
Phone numbers valid in each country's numbering plan 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
Phone numbers that are valid in each country's numbering plan, for tests, fixtures and generated users. Numbers come from libphonenumber's plans (mobile and fixed line, 195 countries), so they pass a validator, and are written the way the country writes them. A safe option uses the ranges regulators set aside for fiction where there are any.
phonenumbers were all valid.safe uses the numbers regulators reserve for fiction where they exist (US/CA 555-01xx, GB 07700 900xxx, DE, AU) and says so in reserved; elsewhere it avoids the allocated ranges.get_phone(request, seed) for reproducible results, and seed() on the result for replaying a previous generation with the same request and data.extend()), checked before they are applied.to_json() on every result, and a signature() recording the seed and the data it came from.DASMIG_PHONE_EMBED to build the lite tier into the program, for WebAssembly and other builds without files.phg instances with their own data and random engine.phonegen.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_PHONE_EMBED).
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 |
| interest-generator | Religion, hobbies and favourite media by country, age and sex |
| 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 |
| 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.