GNU Radio Manual and C++ API Reference
3.9.1.0
The Free & Open Software Radio Ecosystem
deinterleave.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2012,2014 Free Software Foundation, Inc.
4
*
5
* This file is part of GNU Radio
6
*
7
* SPDX-License-Identifier: GPL-3.0-or-later
8
*
9
*/
10
11
#ifndef INCLUDED_BLOCKS_DEINTERLEAVE_H
12
#define INCLUDED_BLOCKS_DEINTERLEAVE_H
13
14
#include <
gnuradio/block.h
>
15
#include <
gnuradio/blocks/api.h
>
16
17
namespace
gr
{
18
namespace
blocks {
19
20
/*!
21
* \brief deinterleave an input block of samples into N outputs.
22
* \ingroup stream_operators_blk
23
*
24
* \details
25
* This block deinterleaves blocks of samples. For each output
26
* connection, the input stream will be deinterleaved successively
27
* to the output connections. By default, the block deinterleaves
28
* a single input to each output unless blocksize is given in the
29
* constructor.
30
*
31
* \code
32
* blocksize = 1
33
* connections = 2
34
* input = [a, b, c, d, e, f, g, h]
35
* output[0] = [a, c, e, g]
36
* output[1] = [b, d, f, h]
37
* \endcode
38
*
39
* \code
40
* blocksize = 2
41
* connections = 2
42
* input = [a, b, c, d, e, f, g, h]
43
* output[0] = [a, b, e, f]
44
* output[1] = [c, d, g, h]
45
* \endcode
46
*/
47
class
BLOCKS_API
deinterleave
:
virtual
public
block
48
{
49
public
:
50
// gr::blocks::deinterleave::sptr
51
typedef
std::shared_ptr<deinterleave>
sptr
;
52
53
/*!
54
* Make a deinterleave block.
55
*
56
* \param itemsize stream itemsize
57
* \param blocksize size of block to deinterleave
58
*/
59
static
sptr
make(
size_t
itemsize
,
unsigned
int
blocksize = 1);
60
};
61
62
}
/* namespace blocks */
63
}
/* namespace gr */
64
65
#endif
/* INCLUDED_BLOCKS_DEINTERLEAVE_H */
block.h
api.h
gr::blocks::pdu::itemsize
BLOCKS_API size_t itemsize(vector_type type)
gr::blocks::deinterleave::sptr
std::shared_ptr< deinterleave > sptr
Definition:
deinterleave.h:51
gr::blocks::deinterleave
deinterleave an input block of samples into N outputs.
Definition:
deinterleave.h:47
BLOCKS_API
#define BLOCKS_API
Definition:
gr-blocks/include/gnuradio/blocks/api.h:18
gr::block
The abstract base class for all 'terminal' processing blocks.
Definition:
block.h:59
gr
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition:
basic_block.h:29
gr-blocks
include
gnuradio
blocks
deinterleave.h
Generated by
1.8.17