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;
74 static sptr make(
int min_streams,
76 int sizeof_stream_item,
91 static sptr make(
int min_streams,
93 const std::vector<size_t>& sizeof_stream_items,
111 static sptr make2(
int min_streams,
113 int sizeof_stream_item1,
114 int sizeof_stream_item2,
135 static sptr make3(
int min_streams,
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);
175 static sptr makev(
int min_streams,
177 const std::vector<int>& sizeof_stream_items,
182 int sizeof_stream_item(
int index)
const;
184 std::vector<int> sizeof_stream_items()
const;
185 buffer_type stream_buffer_type(
size_t index)
const;
190 bool operator==(
const io_signature& lhs,
const io_signature& rhs);
196 format_context& ctx)
const;
Definition: host_buffer.h:18
std::shared_ptr< io_signature > sptr
Definition: io_signature.h:52
Single writer, multiple reader fifo.
Definition: buffer_double_mapped.h:28
int max_streams() const
Definition: io_signature.h:181
#define GR_RUNTIME_API
Definition: gnuradio-runtime/include/gnuradio/api.h:18
int min_streams() const
Definition: io_signature.h:180
GNU Radio logging wrapper.
Definition: basic_block.h:29
Template used to create buffer types. Note that the factory_class parameter must contain a static fun...
Definition: buffer_type.h:94
i/o signature for input and output ports.
Definition: io_signature.h:39
bool operator==(const io_signature &lhs, const io_signature &rhs)
Base class for describing a buffer's type.
Definition: buffer_type.h:27
std::vector< std::reference_wrapper< const buffer_type_base > > gr_vector_buffer_type
Definition: buffer_type.h:86
enables PMTs to be formatted with fmt
Definition: io_signature.h:194