xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
ledger
entries
DirectoryNodeEntry.h
1
#pragma once
2
3
#include <xrpl/basics/base_uint.h>
4
#include <xrpl/beast/utility/Journal.h>
5
#include <xrpl/ledger/ApplyView.h>
6
#include <xrpl/ledger/ReadView.h>
7
#include <xrpl/ledger/entries/SLEBase.h>
8
#include <xrpl/protocol/AccountID.h>
9
#include <xrpl/protocol/Indexes.h>
10
#include <xrpl/protocol/LedgerFormats.h>
11
12
#include <
cstdint
>
13
14
namespace
xrpl
{
15
16
template
<
typename
ViewT>
17
class
DirectoryNodeEntry
:
public
SLEBase
<ViewT, ltDIR_NODE>
18
{
19
public
:
20
using
Base
=
SLEBase<ViewT, ltDIR_NODE>
;
21
22
// Inherit base constructors: adopt an existing SLE, or resolve one from a
23
// Keylet against the view.
24
using
Base::Base;
25
26
explicit
DirectoryNodeEntry
(
27
AccountID
const
&
id
,
28
Base::ViewRefType
view,
29
beast::Journal
j =
beast::Journal
{
beast::Journal::getNullSink
()})
30
: Base(
keylet
::ownerDir(id), view, j)
31
{
32
}
33
37
explicit
DirectoryNodeEntry
(
38
UInt256
const
&
root
,
39
std::uint64_t
index,
40
Base::ViewRefType
view,
41
beast::Journal
j =
beast::Journal
{
beast::Journal::getNullSink
()})
42
: Base(
keylet
::page(
root
, index), view, j)
43
{
44
}
45
};
46
47
using
DirectoryNodeEntryR
=
DirectoryNodeEntry<ReadView>
;
48
using
DirectoryNodeEntryW
=
DirectoryNodeEntry<ApplyView>
;
49
50
}
// namespace xrpl
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
beast::Journal::getNullSink
static Sink & getNullSink()
Returns a Sink which does nothing.
Definition
beast_Journal.cpp:63
xrpl::DirectoryNodeEntry
Definition
DirectoryNodeEntry.h:18
xrpl::DirectoryNodeEntry::Base
SLEBase< ViewT, ltDIR_NODE > Base
Definition
DirectoryNodeEntry.h:20
xrpl::DirectoryNodeEntry::DirectoryNodeEntry
DirectoryNodeEntry(UInt256 const &root, std::uint64_t index, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
Resolve a specific page of the directory rooted at root.
Definition
DirectoryNodeEntry.h:37
xrpl::DirectoryNodeEntry::DirectoryNodeEntry
DirectoryNodeEntry(AccountID const &id, Base::ViewRefType view, beast::Journal j=beast::Journal{beast::Journal::getNullSink()})
Definition
DirectoryNodeEntry.h:26
xrpl::SLEBase::ViewRefType
std::conditional_t< kIsWritable, ApplyView &, ReadView const & > ViewRefType
Definition
SLEBase.h:106
xrpl::SLEBase< ViewT, ltDIR_NODE >::SLEBase
SLEBase(SLEBase const &)=default
cstdint
std::uint64_t
xrpl::keylet
Keylet computation functions.
Definition
Indexes.h:40
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::DirectoryNodeEntryR
DirectoryNodeEntry< ReadView > DirectoryNodeEntryR
Definition
DirectoryNodeEntry.h:47
xrpl::root
Number root(Number f, unsigned d)
Definition
libxrpl/basics/Number.cpp:1537
xrpl::UInt256
BaseUInt< 256 > UInt256
Definition
base_uint.h:580
xrpl::DirectoryNodeEntryW
DirectoryNodeEntry< ApplyView > DirectoryNodeEntryW
Definition
DirectoryNodeEntry.h:48
xrpl::AccountID
BaseUInt< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Definition
AccountID.h:34
Generated by
1.17.0