В разделе 17.4 была описана библиотечная архитектура для случайных чисел, а также приведены примеры использования распределений нескольких типов. Библиотека определяет несколько процессоров случайного числа и двадцать распределений различных видов. В этом приложении перечислены все процессоры и распределения.
А.1. Имена и заголовки стандартной библиотеки
В программах этой книги директивы #include, необходимые для их компиляции, практически нигде не приводились. Для удобства читателей в табл. А.1 перечислены все использованные в программах книги библиотечные имена и заголовки, в которых они определены.
Таблица А.1. Имена и заголовки стандартной библиотеки
| Имя | Заголовок |
|---|---|
abort | |
accumulate | |
allocator | |
array | |
auto_ptr | |
back_inserter | |
bad_alloc | |
bad_array_new_length | |
bad_cast | |
begin | |
bernoulli_distribution | |
bind | |
bitset | |
boolalpha | |
cerr | |
cin | |
cmatch | |
copy | |
count | |
count_if | |
cout | |
cref | |
csub_match | |
dec | |
default_float_engine | |
default_random_engine | |
deque | |
domain_error | |
end | |
endl | |
ends | |
equal_range | |
exception | |
fill | |
fill_n | |
find | |
find_end | |
find_first_of | |
find_if | |
fixed | |
flush | |
for_each | |
forward | |
forward_list | |
free | cstdlib |
front_inserter | |
fstream | |
function | |
get | |
getline | |
greater | |
hash | |
hex | |
hexfloat | |
ifstream | |
initializer_list | |
inserter | |
internal | |
ios_base | |
isalpha | |
islower | |
isprint | |
ispunct | |
isspace | |
istream | |
istream_iterator | |
istringstream | |
isupper | |
left | |
less | |
less_equal | |
list | |
logic_error | |
lower_bound | |
lround | |
make_move_iterator | |
make_pair | |
make_shared | |
make_tuple | |
malloc | cstdlib |
map | |
max | |
max_element | |
mem_fn | |
min | |
move | |
multimap | |
multiset | |
negate | |
noboolalpha | |
normal_distribution | |
noshowbase | |
noshowpoint | |
noskipws | |
not1 | |
nothrow | |
nothrow_t | |
nounitbuf | |
nouppercase | |
nth_element | |
oct | |
ofstream | |
ostream | |
ostream_iterator | |
ostringstream | |
out_of_range | |
pair | |
partial_sort | |
placeholders | |
placeholders::_1 | |
plus | |
priority_queue | |
ptrdiff_t | |
queue | |
rand | |
random_device | |
range_error | |
ref | |
regex | |
regex_constants | |
regex_error | |
regex_match | |
regex_replace | |
regex_search | |
remove_pointer | |
remove_reference | |
replace | |
replace_copy | |
reverse_iterator | |
right | |
runtime_error | |
scientific | |
set | |
set_difference | |
set_intersection | |
set_union | |
setfill | |
setprecision | |
setw | |
shared_ptr | |
showbase | |
showpoint | |
size_t | |
skipws | |
smatch | |
sort | |
sqrt | |
sregex_iterator | |
ssub_match | |
stable_sort | |
stack | |
stoi | |
strcmp | |
strcpy | |
string | |
stringstream | |
strlen | |
strncpy | |
strtod | |
swap | |
terminate | |
time | |
tolower | |
toupper | |
transform | |
tuple | |
tuple_element | |
tuple_size | |
type_info | |
unexpected | |
uniform_int_distribution | |
uniform_real_distribution | |
uninitialized_copy | |
uninitialized_fill | |
unique | |
unique_copy | |
unique_ptr | |
unitbuf | |
unordered_map | |
unordered_multimap | |
unordered_multiset | |
unordered_set | |
upper_bound | |
uppercase | |
vector | |
weak_ptr | |
А.2. Краткий обзор алгоритмов
В библиотеке определено более 100 алгоритмов. Чтобы научиться их использовать, следует понять структуру, а не запоминать подробности применения каждого из них. Лежащая в их основе архитектура описана в главе 10, а в этом разделе описан каждый из алгоритмов.
• beg и end — итераторы, обозначающие диапазон элементов (см. раздел 9.2.1). Почти все алгоритмы работают с последовательностями, обозначенными итераторами beg и end.