Iros
Loading...
Searching...
No Matches
list_node.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/intrusive/intrusive_tag_base.h
"
4
#include "
di/container/intrusive/list_forward_declaration.h
"
5
#include "
di/util/immovable.h
"
6
7
namespace
di::container
{
8
template
<
typename
Tag>
9
class
IntrusiveListNode
:
util::Immovable
{
10
public
:
11
constexpr
IntrusiveListNode
() : next(nullptr), prev(nullptr) {}
12
13
private
:
14
template
<
typename
,
typename
,
typename
>
15
friend
class
IntrusiveList
;
16
17
constexpr
IntrusiveListNode
(
IntrusiveListNode
* next_,
IntrusiveListNode
* prev_) : next(next_), prev(prev_) {}
18
19
IntrusiveListNode
*
next
{
nullptr
};
20
IntrusiveListNode
*
prev
{
nullptr
};
21
};
22
}
23
24
namespace
di
{
25
using
container::IntrusiveListNode
;
26
}
di::container::IntrusiveListNode
Definition
list_node.h:9
di::container::IntrusiveListNode::IntrusiveListNode
constexpr IntrusiveListNode()
Definition
list_node.h:11
di::container::IntrusiveListNode::IntrusiveList
friend class IntrusiveList
Definition
list_node.h:15
immovable.h
intrusive_tag_base.h
list_forward_declaration.h
di::container
Definition
sequence.h:12
di::container::next
constexpr auto next
Definition
next.h:35
di
Definition
zstring_parser.h:9
di::prev
constexpr auto prev
Definition
prev.h:28
di::util::Immovable
Definition
immovable.h:4
libs
di
include
di
container
intrusive
list_node.h
Generated by
1.13.0