Wire Sysio
Wire Sysion 1.0.0
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
_
a
b
c
e
f
i
k
l
m
o
p
r
s
t
u
v
w
y
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Properties
Related Symbols
:
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
l
m
o
p
r
s
t
u
v
w
x
y
z
Enumerations
a
c
e
f
h
l
n
o
p
r
s
t
u
w
x
y
Enumerator
_
a
b
c
d
e
f
i
k
l
m
n
o
p
r
s
t
u
x
y
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
▼
Wire Sysio
AppBase
LICENSE
LICENSE
Change Log
►
DOM
DOM
►
Encoding
编码
FAQ
常见问题
Features
特点
►
Internals
内部架构
►
NPM
Performance
性能
►
Pointer
Pointer
►
SAX
SAX
►
Schema
►
Schema
►
Stream
流
►
Tutorial
教程
readme
readme.zh-cn
How to become a contributor and submit your own code
Defining a Mock Class
CookBook
DesignDoc
Documentation
ForDummies
FrequentlyAskedQuestions
KnownIssues
advanced
faq
Using GoogleTest from various build systems
Introduction: Why Google C++ Testing Framework?
PumpManual
samples
XcodeGuide
Java class files(under construction)
High-Speed Software Implementation of the Optimal Ate Pairing over Barreto-Naehrig Curves
Xbyak 5.63 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
LICENSE
Changelog
Release Process
The safegcd implementation in libsecp256k1 explained
Security Policy
changelog
WebSocket++ (0.7.0)
roadmap
Broadcast Tutorial
Chat Tutorial
Utility Client Example Application Tutorial
Utility Server Example Application Tutorial
Building SYS-VM
Contributor Covenant Code of Conduct
assertions
ci-and-misc
cmake-integration
command-line
commercial-users
configuration
contributing
deprecations
event-listeners
generators
limitations
list-of-examples
logging
matchers
opensource-users
other-macros
own-main
Readme
release-notes
release-process
reporters
slow-compiles
test-cases-and-sections
test-fixtures
tostring
tutorial
why-catch
LICENSE
Community Plugin List
sysio.system.clauses
Deprecated List
Todo List
►
Topics
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
libraries
►
appbase
►
builtins
►
chain
►
chainbase
▼
fc
►
include
►
libraries
►
secp256k1
►
src
►
test
▼
vendor
▼
websocketpp
►
docs
►
examples
►
test
►
tutorials
▼
websocketpp
►
base64
►
common
►
concurrency
►
config
►
extensions
►
http
►
impl
►
logger
►
message_buffer
►
processors
▼
random
►
none.hpp
►
random_device.hpp
►
roles
►
sha1
►
transport
client.hpp
►
close.hpp
►
connection.hpp
►
connection_base.hpp
►
endpoint.hpp
►
endpoint_base.hpp
►
error.hpp
►
frame.hpp
server.hpp
►
uri.hpp
►
utf8_validator.hpp
►
utilities.hpp
version.hpp
►
softfloat
►
state_history
►
sys-vm
►
testing
►
version
►
wasm-jit
►
yubihsm
►
plugins
►
programs
►
wire-system-contracts
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
random_device.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#ifndef WEBSOCKETPP_RANDOM_RANDOM_DEVICE_HPP
29
#define WEBSOCKETPP_RANDOM_RANDOM_DEVICE_HPP
30
31
#include <
websocketpp/common/random.hpp
>
32
33
namespace
websocketpp
{
34
namespace
random
{
36
namespace
random_device {
37
39
52
template
<
typename
int
_type,
typename
concurrency>
53
class
int_generator
{
54
public
:
55
typedef
typename
concurrency::scoped_lock_type
scoped_lock_type
;
56
typedef
typename
concurrency::mutex_type
mutex_type
;
57
59
//mac TODO: figure out if signed types present a range problem
60
int_generator
() {}
61
63
int_type
operator()
() {
64
scoped_lock_type
guard(m_lock);
65
return
m_dis(m_rng);
66
}
63
int_type
operator()
() {
…
}
67
private
:
68
69
70
lib::random_device m_rng;
71
lib::uniform_int_distribution<int_type> m_dis;
72
73
mutex_type
m_lock;
74
};
53
class
int_generator
{
…
};
75
76
}
// namespace random_device
36
namespace
random_device {
…
}
77
}
// namespace random
78
}
// namespace websocketpp
79
80
#endif
//WEBSOCKETPP_RANDOM_RANDOM_DEVICE_HPP
websocketpp::random::random_device::int_generator
Thread safe non-deterministic random integer generator.
Definition
random_device.hpp:53
websocketpp::random::random_device::int_generator::operator()
int_type operator()()
advances the engine's state and returns the generated value
Definition
random_device.hpp:63
websocketpp::random::random_device::int_generator::mutex_type
concurrency::mutex_type mutex_type
Definition
random_device.hpp:56
websocketpp::random::random_device::int_generator::int_generator
int_generator()
constructor
Definition
random_device.hpp:60
websocketpp::random::random_device::int_generator::scoped_lock_type
concurrency::scoped_lock_type scoped_lock_type
Definition
random_device.hpp:55
websocketpp
Namespace for the WebSocket++ project.
Definition
base64.hpp:41
random.hpp
random
uint16_t random
Definition
yubico_otp.c:47
libraries
fc
vendor
websocketpp
websocketpp
random
random_device.hpp
Generated by
1.12.0