GNU Radio Manual and C++ API Reference
3.9.1.0
The Free & Open Software Radio Ecosystem
keep_m_in_n.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2012 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_KEEP_M_IN_N_H
12
#define INCLUDED_BLOCKS_KEEP_M_IN_N_H
13
14
#include <
gnuradio/block.h
>
15
#include <
gnuradio/blocks/api.h
>
16
17
namespace
gr
{
18
namespace
blocks {
19
20
/*!
21
* \brief decimate a stream, keeping the first \p m items out of every \p n starting after
22
* \p offset items. \ingroup stream_operators_blk
23
*/
24
class
BLOCKS_API
keep_m_in_n
:
virtual
public
block
25
{
26
public
:
27
// gr::blocks::keep_m_in_n::sptr
28
typedef
std::shared_ptr<keep_m_in_n>
sptr
;
29
30
/*!
31
* Make a keep m in n block.
32
*
33
* \param itemsize stream itemsize
34
* \param m number of items to take in block of \p n items
35
* \param n block size in items
36
* \param offset initial item offset into the stream
37
*/
38
static
sptr
make(
size_t
itemsize
,
int
m,
int
n,
int
offset);
39
40
virtual
void
set_m(
int
m) = 0;
41
virtual
void
set_n(
int
n) = 0;
42
virtual
void
set_offset(
int
offset) = 0;
43
};
44
45
}
/* namespace blocks */
46
}
/* namespace gr */
47
48
#endif
/* INCLUDED_BLOCKS_KEEP_M_IN_N_H */
block.h
gr::blocks::keep_m_in_n::sptr
std::shared_ptr< keep_m_in_n > sptr
Definition:
keep_m_in_n.h:28
api.h
gr::blocks::pdu::itemsize
BLOCKS_API size_t itemsize(vector_type type)
BLOCKS_API
#define BLOCKS_API
Definition:
gr-blocks/include/gnuradio/blocks/api.h:18
gr::blocks::keep_m_in_n
decimate a stream, keeping the first m items out of every n starting after offset items.
Definition:
keep_m_in_n.h:24
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
keep_m_in_n.h
Generated by
1.8.17