GNU Radio Manual and C++ API Reference 3.7.14.0
The Free & Open Software Radio Ecosystem
sccc_decoder_s.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2004,2012 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23// WARNING: this file is machine generated. Edits will be overwritten
24
25#ifndef INCLUDED_TRELLIS_SCCC_DECODER_S_H
26#define INCLUDED_TRELLIS_SCCC_DECODER_S_H
27
32#include <gnuradio/block.h>
33#include <vector>
34
35namespace gr {
36 namespace trellis {
37
38 /*!
39 * \ingroup trellis_coding_blk
40 */
41 class TRELLIS_API sccc_decoder_s : virtual public block
42 {
43 public:
44 // gr::trellis::sccc_decoder_s::sptr
45 typedef boost::shared_ptr<sccc_decoder_s> sptr;
46
47 static sptr make(const fsm &FSMo, int STo0, int SToK,
48 const fsm &FSMi, int STi0, int STiK,
49 const interleaver &INTERLEAVER,
50 int blocklength,
51 int repetitions,
52 siso_type_t SISO_TYPE);
53
54 virtual fsm FSMo() const = 0;
55 virtual fsm FSMi() const = 0;
56 virtual int STo0() const = 0;
57 virtual int SToK() const = 0;
58 virtual int STi0() const = 0;
59 virtual int STiK() const = 0;
60 virtual interleaver INTERLEAVER() const = 0;
61 virtual int blocklength() const = 0;
62 virtual int repetitions() const = 0;
63 virtual siso_type_t SISO_TYPE() const = 0;
64 };
65
66 } /* namespace trellis */
67} /* namespace gr */
68
69#endif /* INCLUDED_TRELLIS_SCCC_DECODER_S_H */
The abstract base class for all 'terminal' processing blocks.
Definition: block.h:66
Finite State Machine Specification class.
Definition: fsm.h:44
INTERLEAVER class.
Definition: gr-trellis/include/gnuradio/trellis/interleaver.h:38
Definition: sccc_decoder_s.h:42
boost::shared_ptr< sccc_decoder_s > sptr
Definition: sccc_decoder_s.h:45
virtual interleaver INTERLEAVER() const =0
virtual int blocklength() const =0
virtual int SToK() const =0
static sptr make(const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, int blocklength, int repetitions, siso_type_t SISO_TYPE)
virtual int STiK() const =0
virtual int repetitions() const =0
virtual fsm FSMo() const =0
virtual siso_type_t SISO_TYPE() const =0
virtual fsm FSMi() const =0
virtual int STi0() const =0
virtual int STo0() const =0
#define TRELLIS_API
Definition: gr-trellis/include/gnuradio/trellis/api.h:30
siso_type_t
Definition: siso_type.h:29
Include this header to use the message passing features.
Definition: basic_block.h:45