quarx
high performance processing frameworks of interconnectable DSP modules
|
buffer node More...
#include <qx.h>
Public Types | |
typedef std::deque< std::shared_ptr< node > > | container |
typedef promoted< std::string > | promoted |
Public Member Functions | |
buffer (const buffer &buffer, node *parent) | |
buffer (const std::string &key, value_t value) | |
buffer (const std::string &key, value_t value, const char *init) | |
void | clear () noexcept |
virtual std::shared_ptr< node > | clone (node *parent) const =0 |
virtual const char * | id () const noexcept |
void | ignore (promoted *value) noexcept |
virtual bool | inherits (const char *type) const noexcept |
void | obey (const std::initializer_list< promoted * > &values, bool initial_update=true) noexcept |
void | obey (promoted *value, bool initial_update=true) noexcept |
template<typename node_t , typename petty_t = node_t, typename = enable_if_base_of <node, node_t>> | |
operator const node_t & () const | |
template<typename value_t , typename = enable_if_value<value_t>> | |
operator const value_t & () const | |
operator const value_t & () const noexcept | |
template<typename node_t , typename petty_t = node_t, typename = enable_if_base_of <node, node_t>> | |
operator node_t & () | |
node derivate linkage explicit assignment (i.e. node= &out) More... | |
template<typename value_t , typename = enable_if_value<value_t>> | |
operator value_t & () | |
operator value_t & () noexcept | |
template<typename value_t , typename = enable_if_value<value_t>> | |
std::decay_t< value_t > & | operator* () |
template<typename value_t , typename = enable_if_value<value_t>> | |
const std::decay_t< value_t > & | operator* () const |
const value_t & | operator* () const noexcept |
value_t & | operator* () noexcept |
void | operator+= (const value_t &value) noexcept |
const value_t & | operator-> () const noexcept |
value_t & | operator-> () noexcept |
template<typename petty_t = value_t, typename = typename std::enable_if_t<std::is_same_v <container, petty_t>>> | |
node & | operator<< (const node &node) |
template<typename value_t , typename = enable_if_value<value_t>> | |
bool | operator== (const std::decay_t< value_t > &value) const |
bool | operator== (const value_t &value) const noexcept |
node & | operator[] (const std::string &path) const override |
node & | operator[] (size_t pos) const override |
qx_factory (quarx< value_t >) quarx(const quarx © | |
void | remove () |
virtual void | remove (const promoted &) noexcept |
indicate promoted end-of-lifetime More... | |
void | remove_all_listener () noexcept |
virtual node & | resize (size_t) |
void | trigger () noexcept |
template<typename petty_t = value_t, typename = typename std::enable_if_t<std::is_same_v <container, petty_t>>> | |
std::string | unique (const std::string &key) const noexcept |
else | value::operator= (copy) |
~buffer () | |
Static Public Member Functions | |
static bool | static_inherits (const char *type) noexcept |
Public Attributes | |
node copy | attributes |
promoted | key |
name of node More... | |
std::set< listen< value_t > * > | listeners |
qx_factory(buffer< value_t >) class init promoted< size_t > | offset |
node * | parent: super (*copy.key |
node | parent |
promoted | path |
entire path of node in process network More... | |
std::set< promoted * > | values |
Static Public Attributes | |
static const char * | type |
quarx node type ID More... | |
Protected Types | |
template<typename base_t , typename derrived_t > | |
using | enable_if_base_of = std::enable_if_t< std::is_base_of_v< std::decay_t< base_t >, std::decay_t< derrived_t > >> |
template<typename value_t > | |
using | enable_if_value = std::enable_if_t< std::is_same_v< std::decay_t< value_t >, int32_t >||std::is_same_v< std::decay_t< value_t >, double >||std::is_same_v< std::decay_t< value_t >, node * > > |
typedef qx::promoted< value_t > | value |
value of this node More... | |
buffer node
A buffer holds a block of processing data. This can be static (i.e. a sine wave for a generator), or process buffer memory (i.e. a delay line).
A buffer node can be local to its parant, so only the parent can access it. This is used i.e. for delay line buffers inside a delay module. Or it could be global, so all modules can access it. I.e. the global routing table is a global buffer.
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
protectedinherited |
value of this node
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexceptinherited |
|
inlinevirtualnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinevirtualnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
node derivate linkage explicit assignment (i.e. node= &out)
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineoverridevirtualinherited |
Implements qx::node.
|
inlineoverridevirtualinherited |
Implements qx::node.
|
inherited |
|
inlinevirtualnoexceptinherited |
indicate promoted end-of-lifetime
|
inlinenoexceptinherited |
|
inlinevirtualinherited |
Reimplemented in qx::monitor, qx::mix, qx::mix::bus, qx::generator, qx::generator::voice, qx::delay, qx::delay::in, qx::container, and qx::container.
|
inlinestaticnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inherited |
|
inherited |
|
inherited |
name of node
|
inherited |
qx_factory (buffer<value_t>) class init promoted<size_t> qx::buffer< value_t >::offset |
|
inherited |
entire path of node in process network
|
static |
quarx node type ID
|
inherited |
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri Dec 17 2021 |