OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
dataflow_fwd.hpp
1#pragma once
2#include <ossia/detail/config.hpp>
3
4#include <ossia/detail/hash.hpp>
5#include <ossia/detail/nullable_variant.hpp>
6
7#include <memory>
8#include <utility>
9namespace std
10{
11template <typename T>
12class hash<std::pair<T*, T*>>
13{
14public:
15 std::size_t operator()(const std::pair<T*, T*>& p) const
16 {
17 std::size_t seed = 0;
18 ossia::hash_combine(seed, p.first);
19 ossia::hash_combine(seed, p.second);
20 return seed;
21 }
22};
23}
24
25namespace ossia
26{
27namespace net
28{
29class parameter_base;
30class node_base;
31}
32namespace traversal
33{
34struct path;
35}
36using destination_t = ossia::nullable_variant<
37 ossia::net::parameter_base*, ossia::traversal::path, ossia::net::node_base*>;
38struct execution_state;
39class graph_node;
40struct graph_edge;
41using node_ptr = std::shared_ptr<graph_node>;
42using edge_ptr = std::shared_ptr<graph_edge>;
43struct port;
44struct outlet;
45struct inlet;
46using inlet_ptr = inlet*;
47using outlet_ptr = outlet*;
48class graph_interface;
49
50struct audio_port;
51struct midi_port;
52struct value_port;
53struct geometry_port;
54
55struct audio_delay_line;
56struct midi_delay_line;
57struct value_delay_line;
58struct geometry_delay_line;
59
60// using data_type
61// = ossia::nullable_variant<audio_port, midi_port, value_port, geometry_port>;
62using delay_line_type = ossia::nullable_variant<
63 audio_delay_line, midi_delay_line, value_delay_line, geometry_delay_line>;
64}
The node_base class.
Definition node.hpp:48
The parameter_base class.
Definition ossia/network/base/parameter.hpp:48
Definition git_info.h:7
Utilities to construct classes that will perform an action for nodes matching a path.