GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
byte_x2_to_complex_byte.h
Go to the documentation of this file.
1 /*!
2  * \file byte_x2_to_complex_byte.h
3  * \brief Adapts two signed char streams into a std::complex<signed char> stream
4  * \author Carles Fernandez Prades, cfernandez(at)cttc.es
5  *
6  *
7  * -----------------------------------------------------------------------------
8  *
9  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
10  *
11  * GNSS-SDR is a software defined Global Navigation
12  * Satellite Systems receiver
13  *
14  * This file is part of GNSS-SDR.
15  *
16  * SPDX-License-Identifier: GPL-3.0-or-later
17  *
18  * -----------------------------------------------------------------------------
19  */
20 
21 #ifndef GNSS_SDR_BYTE_X2_TO_COMPLEX_BYTE_H
22 #define GNSS_SDR_BYTE_X2_TO_COMPLEX_BYTE_H
23 
24 #if GNURADIO_USES_STD_POINTERS
25 #include <memory>
26 #else
27 #include <boost/shared_ptr.hpp>
28 #endif
29 #include <gnuradio/sync_block.h>
30 #include <gnuradio/types.h> // for gr_vector_const_void_star
31 
33 
34 #if GNURADIO_USES_STD_POINTERS
35 using byte_x2_to_complex_byte_sptr = std::shared_ptr<byte_x2_to_complex_byte>;
36 #else
37 using byte_x2_to_complex_byte_sptr = boost::shared_ptr<byte_x2_to_complex_byte>;
38 #endif
39 
40 
41 byte_x2_to_complex_byte_sptr make_byte_x2_to_complex_byte();
42 
43 /*!
44  * \brief This class adapts two signed char streams
45  * into a std::complex<signed char> stream
46  */
47 class byte_x2_to_complex_byte : public gr::sync_block
48 {
49 public:
50  int work(int noutput_items,
51  gr_vector_const_void_star &input_items,
52  gr_vector_void_star &output_items);
53 
54 private:
55  friend byte_x2_to_complex_byte_sptr make_byte_x2_to_complex_byte();
57 };
58 
59 #endif
This class adapts two signed char streams into a std::complex<signed char> stream.