12#ifndef INCLUDED_IO_SIGNATURE_H
13#define INCLUDED_IO_SIGNATURE_H
16#include <spdlog/tweakme.h>
19#include <spdlog/fmt/fmt.h>
26#ifdef FORCE_SINGLE_MAPPED
43 std::vector<size_t> d_sizeof_stream_item;
52 typedef std::shared_ptr<io_signature>
sptr;
54#ifdef FORCE_SINGLE_MAPPED
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,
187 friend bool operator==(
const io_signature& lhs,
const io_signature& rhs);
194struct GR_RUNTIME_API fmt::formatter<gr::io_signature> : formatter<std::string_view> {
196 format_context& ctx)
const;
Single writer, multiple reader fifo.
Definition buffer_double_mapped.h:29
static buffer_type type
Definition buffer_double_mapped.h:31
Definition host_buffer.h:19
i/o signature for input and output ports.
Definition io_signature.h:40
static constexpr int IO_INFINITE
Definition io_signature.h:60
int min_streams() const
Definition io_signature.h:180
int sizeof_stream_item(int index) const
buffer_double_mapped default_buftype
Definition io_signature.h:57
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.
std::vector< int > sizeof_stream_items() const
buffer_type stream_buffer_type(size_t index) const
int max_streams() const
Definition io_signature.h:181
#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
const buffer_type_base & buffer_type
Definition buffer_type.h:85
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)
Template used to create buffer types. Note that the factory_class parameter must contain a static fun...
Definition buffer_type.h:94