xrpld
Loading...
Searching...
No Matches
include
xrpl
ledger
BookDirs.h
1
#pragma once
2
3
#include <xrpl/ledger/ReadView.h>
4
5
namespace
xrpl
{
6
7
class
BookDirs
8
{
9
private
:
10
ReadView
const
*
view_
=
nullptr
;
11
uint256
const
root_
;
12
uint256
const
nextQuality_
;
13
uint256
const
key_
;
14
SLE::const_pointer
sle_
=
nullptr
;
15
unsigned
int
entry_
= 0;
16
uint256
index_
;
17
18
public
:
19
class
const_iterator
;
// NOLINT(readability-identifier-naming)
20
using
value_type
=
SLE::const_pointer
;
21
22
BookDirs
(
ReadView
const
&,
Book
const
&);
23
24
[[nodiscard]]
const_iterator
25
begin
()
const
;
26
27
[[nodiscard]]
const_iterator
28
end
()
const
;
29
};
30
31
class
BookDirs::const_iterator
// NOLINT(readability-identifier-naming)
32
{
33
public
:
34
using
value_type
=
BookDirs::value_type
;
35
using
pointer
=
value_type
const
*;
36
using
reference
=
value_type
const
&;
37
using
difference_type
=
std::ptrdiff_t
;
38
using
iterator_category
=
std::forward_iterator_tag
;
39
40
const_iterator
() =
default
;
41
42
bool
43
operator==
(
const_iterator
const
& other)
const
;
44
45
bool
46
operator!=
(
const_iterator
const
& other)
const
47
{
48
return
!(*
this
== other);
49
}
50
51
reference
52
operator*
()
const
;
53
54
pointer
55
operator->
()
const
56
{
57
return
&**
this
;
58
}
59
60
const_iterator
&
61
operator++
();
62
63
const_iterator
64
operator++
(
int
);
65
66
private
:
67
friend
class
BookDirs
;
68
69
const_iterator
(
ReadView
const
& view,
uint256
const
&
root
,
uint256
const
& dirKey)
70
:
view_
(&view),
root_
(
root
),
key_
(dirKey),
curKey_
(dirKey)
71
{
72
}
73
74
ReadView
const
*
view_
=
nullptr
;
75
uint256
root_
;
76
uint256
nextQuality_
;
77
uint256
key_
;
78
uint256
curKey_
;
79
SLE::const_pointer
sle_
;
80
unsigned
int
entry_
= 0;
81
uint256
index_
;
82
std::optional<value_type>
mutable
cache_
;
83
};
84
85
}
// namespace xrpl
xrpl::BookDirs::const_iterator
Definition
BookDirs.h:32
xrpl::BookDirs::const_iterator::root_
uint256 root_
Definition
BookDirs.h:75
xrpl::BookDirs::const_iterator::index_
uint256 index_
Definition
BookDirs.h:81
xrpl::BookDirs::const_iterator::operator->
pointer operator->() const
Definition
BookDirs.h:55
xrpl::BookDirs::const_iterator::reference
value_type const & reference
Definition
BookDirs.h:36
xrpl::BookDirs::const_iterator::operator==
bool operator==(const_iterator const &other) const
Definition
BookDirs.cpp:53
xrpl::BookDirs::const_iterator::cache_
std::optional< value_type > cache_
Definition
BookDirs.h:82
xrpl::BookDirs::const_iterator::const_iterator
const_iterator(ReadView const &view, uint256 const &root, uint256 const &dirKey)
Definition
BookDirs.h:69
xrpl::BookDirs::const_iterator::pointer
value_type const * pointer
Definition
BookDirs.h:35
xrpl::BookDirs::const_iterator::const_iterator
const_iterator()=default
xrpl::BookDirs::const_iterator::key_
uint256 key_
Definition
BookDirs.h:77
xrpl::BookDirs::const_iterator::sle_
SLE::const_pointer sle_
Definition
BookDirs.h:79
xrpl::BookDirs::const_iterator::operator++
const_iterator & operator++()
Definition
BookDirs.cpp:76
xrpl::BookDirs::const_iterator::curKey_
uint256 curKey_
Definition
BookDirs.h:78
xrpl::BookDirs::const_iterator::operator!=
bool operator!=(const_iterator const &other) const
Definition
BookDirs.h:46
xrpl::BookDirs::const_iterator::entry_
unsigned int entry_
Definition
BookDirs.h:80
xrpl::BookDirs::const_iterator::nextQuality_
uint256 nextQuality_
Definition
BookDirs.h:76
xrpl::BookDirs::const_iterator::value_type
BookDirs::value_type value_type
Definition
BookDirs.h:34
xrpl::BookDirs::const_iterator::BookDirs
friend class BookDirs
Definition
BookDirs.h:67
xrpl::BookDirs::const_iterator::operator*
reference operator*() const
Definition
BookDirs.cpp:66
xrpl::BookDirs::const_iterator::difference_type
std::ptrdiff_t difference_type
Definition
BookDirs.h:37
xrpl::BookDirs::const_iterator::iterator_category
std::forward_iterator_tag iterator_category
Definition
BookDirs.h:38
xrpl::BookDirs::const_iterator::view_
ReadView const * view_
Definition
BookDirs.h:74
xrpl::BookDirs::sle_
SLE::const_pointer sle_
Definition
BookDirs.h:14
xrpl::BookDirs::index_
uint256 index_
Definition
BookDirs.h:16
xrpl::BookDirs::key_
uint256 const key_
Definition
BookDirs.h:13
xrpl::BookDirs::BookDirs
BookDirs(ReadView const &, Book const &)
Definition
BookDirs.cpp:14
xrpl::BookDirs::value_type
SLE::const_pointer value_type
Definition
BookDirs.h:20
xrpl::BookDirs::nextQuality_
uint256 const nextQuality_
Definition
BookDirs.h:12
xrpl::BookDirs::entry_
unsigned int entry_
Definition
BookDirs.h:15
xrpl::BookDirs::end
const_iterator end() const
Definition
BookDirs.cpp:47
xrpl::BookDirs::begin
const_iterator begin() const
Definition
BookDirs.cpp:33
xrpl::BookDirs::view_
ReadView const * view_
Definition
BookDirs.h:10
xrpl::BookDirs::root_
uint256 const root_
Definition
BookDirs.h:11
xrpl::Book
Specifies an order book.
Definition
Book.h:16
xrpl::ReadView
A view into a ledger.
Definition
ReadView.h:31
xrpl::STLedgerEntry::const_pointer
std::shared_ptr< STLedgerEntry const > const_pointer
Definition
STLedgerEntry.h:21
std::forward_iterator_tag
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::root
Number root(Number f, unsigned d)
Definition
Number.cpp:1201
xrpl::uint256
BaseUInt< 256 > uint256
Definition
base_uint.h:562
std::optional
std::ptrdiff_t
Generated by
1.16.1