Name Generator 2.0.1
Culture-aware name generation for C++23
Loading...
Searching...
No Matches
namegen.hpp File Reference

Name generator library — culture-aware name generation for C++23. More...

#include "random.hpp"
#include <algorithm>
#include <array>
#include <cstddef>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <functional>
#include <iterator>
#include <map>
#include <ostream>
#include <random>
#include <stdexcept>
#include <string>
#include <string_view>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  dasmig::name
 Return type for name generation, holding both individual parts and the full composed string. More...
 
class  dasmig::ng
 Name generator that produces culture-aware names and surnames. More...
 

Macros

#define DASMIG_DATASET_DEFINED
 Dataset size tier for resource loading.
 

Enumerations

enum class  dasmig::culture : std::uint8_t {
  afghan , albanian , algerian , american ,
  angolan , argentinian , austrian , azerbaijani ,
  bahraini , bangladeshi , belgian , bolivian ,
  botswanan , brazilian , british , bruneian ,
  bulgarian , burkinabe , burundian , cambodian ,
  cameroonian , canadian , chilean , chinese ,
  colombian , costarican , croatian , cypriot ,
  czech , danish , djiboutian , dutch ,
  ecuadorian , egyptian , emirati , estonian ,
  ethiopian , fijian , filipino , finnish ,
  french , georgian , german , ghanaian ,
  greek , guatemalan , haitian , honduran ,
  hongkonger , hungarian , icelandic , indian ,
  indonesian , iranian , iraqi , irish ,
  israeli , italian , jamaican , japanese ,
  jordanian , kazakh , korean , kuwaiti ,
  lebanese , libyan , lithuanian , luxembourgish ,
  macanese , malaysian , maldivian , maltese ,
  mauritian , mexican , moldovan , moroccan ,
  namibian , nigerian , norwegian , omani ,
  palestinian , panamanian , peruvian , polish ,
  portuguese , puertorican , qatari , russian ,
  salvadoran , saudi , serbian , singaporean ,
  slovenian , southafrican , spanish , sudanese ,
  swedish , swiss , syrian , taiwanese ,
  tunisian , turkish , turkmen , uruguayan ,
  yemeni , any
}
 Culture representing a country or a broader group. More...
 
enum class  dasmig::dataset : std::uint8_t { lite , full }
 
enum class  dasmig::gender : std::uint8_t { m , f , any }
 Simple gender enum to distinguish between male and female names. More...
 

Detailed Description

Name generator library — culture-aware name 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 namegen.hpp.

Macro Definition Documentation

◆ DASMIG_DATASET_DEFINED

#define DASMIG_DATASET_DEFINED

Dataset size tier for resource loading.

Definition at line 145 of file namegen.hpp.

Enumeration Type Documentation

◆ culture

enum class dasmig::culture : std::uint8_t
strong

Culture representing a country or a broader group.

Definition at line 33 of file namegen.hpp.

◆ dataset

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

Top-500 names per category (~2 MB).

full 

Complete dataset (~39 MB).

Definition at line 146 of file namegen.hpp.

◆ gender

enum class dasmig::gender : std::uint8_t
strong

Simple gender enum to distinguish between male and female names.

Definition at line 154 of file namegen.hpp.