12 #ifndef INCLUDED_IO_SIGNATURE_H
13 #define INCLUDED_IO_SIGNATURE_H
16 #include <spdlog/tweakme.h>
19 #include <spdlog/fmt/fmt.h>
20 #include <string_view>
26 #ifdef FORCE_SINGLE_MAPPED
43 std::vector<size_t> d_sizeof_stream_item;
48 const std::vector<size_t>& sizeof_stream_items,
52 typedef std::shared_ptr<io_signature>
sptr;
54 #ifdef FORCE_SINGLE_MAPPED
60 static constexpr
int IO_INFINITE = -1;
76 int sizeof_stream_item,
93 const std::vector<size_t>& sizeof_stream_items,
113 int sizeof_stream_item1,
114 int sizeof_stream_item2,
137 int sizeof_stream_item1,
138 int sizeof_stream_item2,
139 int sizeof_stream_item3,
158 makev(
int min_streams,
int max_streams,
const std::vector<int>& sizeof_stream_items);
177 const std::vector<int>& sizeof_stream_items,
196 format_context& ctx)
const;
Single writer, multiple reader fifo.
Definition: buffer_double_mapped.h:29
Base class for describing a buffer's type.
Definition: buffer_type.h:28
Definition: host_buffer.h:19
i/o signature for input and output ports.
Definition: io_signature.h:40
int min_streams() const
Definition: io_signature.h:180
int sizeof_stream_item(int index) const
std::shared_ptr< io_signature > sptr
Definition: io_signature.h:52
gr_vector_buffer_type stream_buffer_types() const
static sptr make2(int min_streams, int max_streams, int sizeof_stream_item1, int sizeof_stream_item2, buffer_type buftype1=default_buftype::type, buffer_type buftype2=default_buftype::type)
Create an i/o signature.
friend bool operator==(const io_signature &lhs, const io_signature &rhs)
static sptr makev(int min_streams, int max_streams, const std::vector< int > &sizeof_stream_items, const gr_vector_buffer_type &buftypes)
Create an i/o signature.
static sptr make3(int min_streams, int max_streams, int sizeof_stream_item1, int sizeof_stream_item2, int sizeof_stream_item3, buffer_type buftype1=default_buftype::type, buffer_type buftype2=default_buftype::type, buffer_type buftype3=default_buftype::type)
Create an i/o signature.
static sptr makev(int min_streams, int max_streams, const std::vector< int > &sizeof_stream_items)
Create an i/o signature.
buffer_type stream_buffer_type(size_t index) const
int max_streams() const
Definition: io_signature.h:181
std::vector< int > sizeof_stream_items() const
#define GR_RUNTIME_API
Definition: gnuradio-runtime/include/gnuradio/api.h:18
static sptr make(int min_streams, int max_streams, int sizeof_stream_item, buffer_type buftype=default_buftype::type)
Create an i/o signature.
static sptr make(int min_streams, int max_streams, const std::vector< size_t > &sizeof_stream_items, const gr::gr_vector_buffer_type &buftypes=gr::gr_vector_buffer_type(1, default_buftype::type))
Create an i/o signature.
GNU Radio logging wrapper.
Definition: basic_block.h:29
std::vector< std::reference_wrapper< const buffer_type_base > > gr_vector_buffer_type
Definition: buffer_type.h:86
bool operator==(const io_signature &lhs, const io_signature &rhs)
enables PMTs to be formatted with fmt
Definition: io_signature.h:194
fmt::format_context::iterator format(const gr::io_signature &iosig, format_context &ctx) const
Template used to create buffer types. Note that the factory_class parameter must contain a static fun...
Definition: buffer_type.h:94