Address Generator 2.1.2
Postal addresses with real streets by place, laid out in each country's format for C++23
Loading...
Searching...
No Matches
addressgen.hpp File Reference

Address Generator library — postal addresses with real streets by place, laid out in each country's format for C++23. More...

#include "core.hpp"
#include <algorithm>
#include <array>
#include <atomic>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <filesystem>
#include <format>
#include <limits>
#include <map>
#include <memory>
#include <mutex>
#include <optional>
#include <ostream>
#include <span>
#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

struct  dasmig::place_ref
 A place a request can anchor an address to, by plain values. More...
 
struct  dasmig::address_request
 What an address call asks for. More...
 
struct  dasmig::street_request
 What a street call asks for: the street an address in that place would have. Same fields as address_request, without the unit and script. More...
 
struct  dasmig::postcode_request
 What a postcode call asks for. More...
 
class  dasmig::address
 Return type for address generation. More...
 
class  dasmig::street
 Return type for street generation: a street of a place. More...
 
class  dasmig::adg
 Address Generator: postal addresses with real streets by place. More...
 

Enumerations

enum class  dasmig::address_script : std::uint8_t { local , latin }
 The script an address is written in. More...
 
enum class  dasmig::address_table : std::uint8_t {
  places , formats , streets , postcodes ,
  street_types , street_names
}
 The tables of the address data, for extending it. More...
 

Detailed Description

Address Generator library — postal addresses with real streets by place, laid out in each country's format 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 addressgen.hpp.

Enumeration Type Documentation

◆ address_script

enum class dasmig::address_script : std::uint8_t
strong

The script an address is written in.

Enumerator
local 

The country's own layout (the default).

latin 

The Latin-script layout, for the countries that have one (lines_latin); others keep their own.

Definition at line 55 of file addressgen.hpp.

◆ address_table

enum class dasmig::address_table : std::uint8_t
strong

The tables of the address data, for extending it.

Enumerator
places 

places.tsv: the places addresses are drawn in.

formats 

formats.tsv: each country's layout and postcode format.

streets 

streets.tsv: real streets by place, weighted by address count.

postcodes 

postcodes.tsv: postcodes by place.

street_types 

street_types.tsv: types for composed streets.

street_names 

street_names.tsv: names for composed streets.

Definition at line 283 of file addressgen.hpp.