quarx
high performance processing frameworks of interconnectable DSP modules
qx.h File Reference
#include "qx_value.h"
#include <sstream>
#include <deque>
#include <map>
#include <variant>
#include <vector>
#include <iostream>
+ Include dependency graph for qx.h:
+ This graph shows which files directly or indirectly include this file:

Classes

class  qx::attribute< value_t >
 
class  qx::buffer< value_t >
 buffer node More...
 
class  qx::container
 
class  qx::device
 
class  qx::device::dynamic
 
struct  qx::device::dynamic::listen
 
class  qx::device::fixed
 
struct  qx::device::obey
 
class  qx::device::stash
 
class  qx::factory::pair< node_t >
 
class  qx::global< value_t >
 
class  qx::link
 link defines a nodes input. More...
 
class  qx::local< value_t >
 
class  qx::mod
 
class  qx::node
 base clase - abstracts from value inheritance More...
 
class  qx::out
 out declares a nodes output. More...
 
class  qx::quarx< value_t >
 generic quarx node More...
 
class  qx::root
 
class  qx::stack
 
class  qx::stash
 headless container (hidden, (stashed) size information) More...
 
class  qx::translator
 

Namespaces

 qx
 
 qx::factory
 

Macros

#define qx_factory(node_t)
 
#define qx_factory_id(node_t)
 

Typedefs

typedef std::variant< int32_t, double, std::string > qx::attribute_type
 
typedef std::map< std::string, attribute_type > qx::attributes
 
typedef std::function< std::shared_ptr< node >const std::string &, node *)> qx::factory::creator
 

Functions

decltype(map) qx::factory::init ()
 

Variables

std::deque< std::pair< const char *, creator > > & qx::factory::map
 

Macro Definition Documentation

◆ qx_factory

#define qx_factory (   node_t)
Value:
using super::super;\
using super::operator =;\
static bool static_inherits(const char* type) noexcept {return type==node_t::type || super::static_inherits(type);}\
bool inherits(const char* type) const noexcept override {return static_inherits(type);}\
const char* id() const noexcept override {return type;}\
inline static const auto& __factory_bind= factory::insert<node_t>();\
std::shared_ptr<node> clone(node* parent) const override {return std::make_shared<std::decay_t<decltype(*this)>> (*this, parent);}

◆ qx_factory_id

#define qx_factory_id (   node_t)
Value:
static constexpr auto type= #node_t;\
qx_factory(node_t)

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Dec 17 2021

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.