Toolbox snapshot
The Reactive C++ Toolbox
Loading...
Searching...
No Matches
Random.cpp
Go to the documentation of this file.
1// The Reactive C++ Toolbox.
2// Copyright (C) 2013-2019 Swirly Cloud Limited
3// Copyright (C) 2024 Reactive Markets Limited
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
17#include "Random.hpp"
18
19#include <random>
20
21namespace toolbox {
22inline namespace util {
23
24namespace {
25thread_local std::mt19937_64 mt19937_64_rng_ {std::random_device{}()};
26} // namespace
27
28std::mt19937_64& mt19937_64_rng() noexcept
29{
30 return mt19937_64_rng_;
31}
32
33} // namespace util
34} // namespace toolbox
std::mt19937_64 & mt19937_64_rng() noexcept
Definition Random.cpp:28
constexpr auto bind() noexcept
Definition Slot.hpp:92