Iros
 
Loading...
Searching...
No Matches
tnode.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/any/prelude.h"
6#include "iris/fs/inode.h"
7
8namespace iris {
9class TNode : public di::IntrusiveRefCount<TNode> {
10public:
12 : m_parent(di::move(parent)), m_inode(di::move(inode)), m_name(di::move(name)) {}
13
14 auto parent() const -> di::Arc<TNode> { return m_parent; }
15 auto inode() const -> di::Arc<Inode> { return m_inode; }
16 auto name() const -> di::TransparentStringView { return m_name; }
17
18private:
19 di::Arc<TNode> m_parent;
20 di::Arc<Inode> m_inode;
22};
23}
Definition inode.h:84
auto name() const -> di::TransparentStringView
Definition tnode.h:16
TNode(di::Arc< TNode > parent, di::Arc< Inode > inode, di::TransparentString name)
Definition tnode.h:11
auto parent() const -> di::Arc< TNode >
Definition tnode.h:14
auto inode() const -> di::Arc< Inode >
Definition tnode.h:15
string::StringImpl< string::TransparentEncoding > TransparentString
Definition string.h:12
string::StringViewImpl< string::TransparentEncoding > TransparentStringView
Definition string_view.h:13
IntrusivePtr< T, ArcTag > Arc
Definition arc.h:21
Definition zstring_parser.h:9
Definition cxx_init.cpp:12
Definition arc.h:24