Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
node.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Roc Streaming authors
3
*
4
* This Source Code Form is subject to the terms of the Mozilla Public
5
* License, v. 2.0. If a copy of the MPL was not distributed with this
6
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
*/
8
9
//! @file roc_node/node.h
10
//! @brief Base class for nodes.
11
12
#ifndef ROC_NODE_NODE_H_
13
#define ROC_NODE_NODE_H_
14
15
#include "
roc_core/noncopyable.h
"
16
#include "
roc_core/shared_ptr.h
"
17
#include "
roc_node/context.h
"
18
19
namespace
roc
{
20
namespace
node {
21
22
//! Base class for nodes.
23
class
Node
:
public
core::NonCopyable
<> {
24
public
:
25
//! Initialize.
26
Node
(
Context
&
context
);
27
28
//! Deinitialize.
29
virtual
~Node
();
30
31
//! All nodes hold reference to context.
32
Context
&
context
();
33
34
private
:
35
core::SharedPtr<Context>
context_;
36
};
37
38
}
// namespace node
39
}
// namespace roc
40
41
#endif
// ROC_NODE_NODE_H_
roc::core::NonCopyable
Base class for non-copyable objects.
Definition:
noncopyable.h:23
roc::core::SharedPtr
Shared ownership intrusive pointer.
Definition:
shared_ptr.h:32
roc::node::Context
Node context.
Definition:
context.h:44
roc::node::Node
Base class for nodes.
Definition:
node.h:23
roc::node::Node::Node
Node(Context &context)
Initialize.
roc::node::Node::~Node
virtual ~Node()
Deinitialize.
roc::node::Node::context
Context & context()
All nodes hold reference to context.
context.h
Node context.
roc
Root namespace.
noncopyable.h
Non-copyable object.
shared_ptr.h
Shared ownership intrusive pointer.
roc_node
node.h
Generated by
1.9.1