Developers
Documentation
Guide
Reference
Examples
Glossary
Resources
Community
Vocabulary
Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Functions
a
b
c
d
e
f
g
h
i
l
m
o
p
q
s
t
u
v
w
+
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
+
Typedefs
a
b
c
d
e
f
g
h
i
l
n
p
s
t
v
Enumerations
+
Enumerator
a
b
c
d
e
g
h
i
k
l
m
n
p
q
r
s
t
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
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
h
i
k
l
m
n
o
p
r
s
t
v
w
+
Enumerations
b
c
d
e
f
g
h
k
m
n
o
r
s
t
u
v
w
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Properties
+
Related Functions
a
b
c
d
f
i
o
p
s
t
u
v
w
+
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
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
y
+
Typedefs
b
c
d
h
i
k
m
n
o
p
r
s
t
u
v
w
+
Enumerations
b
c
d
e
f
g
h
i
j
m
n
o
p
r
s
t
v
w
+
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
+
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
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
bits.hpp
Go to the documentation of this file.
1
//
2
// immer: immutable data structures for C++
3
// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente
4
//
5
// This software is distributed under the Boost Software License, Version 1.0.
6
// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt
7
//
8
9
#pragma once
10
11
#include <cstdint>
12
13
namespace
immer
{
14
namespace
detail {
15
namespace
rbts {
16
17
using
bits_t
= std::uint32_t;
18
using
shift_t
= std::uint32_t;
19
using
count_t
= std::uint32_t;
20
using
size_t
=
std::size_t
;
21
22
template
<bits_t B,
typename
T=count_t>
23
constexpr T
branches
= T{1} << B;
24
25
template
<bits_t B,
typename
T=
size_t
>
26
constexpr T
mask
= branches<B, T> - 1;
27
28
template
<bits_t B, bits_t BL>
29
constexpr
shift_t
endshift
=
shift_t
{BL} -
shift_t
{B};
30
31
}
// namespace rbts
32
}
// namespace detail
33
}
// namespace immer
immer::detail::rbts::size_t
std::size_t size_t
Definition:
bits.hpp:20
immer::detail::rbts::count_t
std::uint32_t count_t
Definition:
bits.hpp:19
immer::detail::rbts::shift_t
std::uint32_t shift_t
Definition:
bits.hpp:18
immer
Definition:
algorithm.hpp:15
immer::detail::rbts::bits_t
std::uint32_t bits_t
Definition:
bits.hpp:17
immer::detail::rbts::mask
constexpr T mask
Definition:
bits.hpp:26
immer::detail::rbts::endshift
constexpr shift_t endshift
Definition:
bits.hpp:29
immer::detail::rbts::branches
constexpr T branches
Definition:
bits.hpp:23
src
immer
detail
rbts
bits.hpp
Generated on Mon Nov 2 2020 19:11:12 for Dash Core by
1.8.14