Improve includes with the aid of include-what-you-use (IWYU)

See rationale at https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
This commit is contained in:
Carles Fernandez 2019-03-05 08:59:04 +01:00
parent b5af79c06a
commit c82c7225dd
78 changed files with 343 additions and 258 deletions

View File

@ -30,11 +30,17 @@
#include "rtklib_pvt.h"
#include "configuration_interface.h"
#include "gnss_sdr_flags.h"
#include "pvt_conf.h"
#include "rtklib_rtkpos.h"
#include <glog/logging.h>
#include "MATH_CONSTANTS.h" // for D2R
#include "configuration_interface.h" // for ConfigurationInterface
#include "galileo_almanac.h" // for Galileo_Almanac
#include "galileo_ephemeris.h" // for Galileo_Ephemeris
#include "gnss_sdr_flags.h" // for FLAGS_RINEX_version
#include "gps_almanac.h" // for Gps_Almanac
#include "gps_ephemeris.h" // for Gps_Ephemeris
#include "pvt_conf.h" // for Pvt_Conf
#include "rtklib_rtkpos.h" // for rtkfree, rtkinit
#include <glog/logging.h> // for LOG
#include <iostream> // for operator<<
#if OLD_BOOST
#include <boost/math/common_factor_rt.hpp>
namespace bc = boost::math;

View File

@ -32,18 +32,21 @@
#ifndef GNSS_SDR_RTKLIB_PVT_H_
#define GNSS_SDR_RTKLIB_PVT_H_
#include "galileo_almanac.h"
#include "galileo_ephemeris.h"
#include "gps_almanac.h"
#include "gps_ephemeris.h"
#include "pvt_interface.h"
#include "rtklib.h"
#include "rtklib_pvt_gs.h"
#include <map>
#include <string>
#include "pvt_interface.h" // for PvtInterface
#include "rtklib.h" // for rtk_t
#include "rtklib_pvt_gs.h" // for rtklib_pvt_gs_sptr
#include <gnuradio/gr_complex.h> // for gr_complex
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <ctime> // for time_t
#include <map> // for map
#include <string> // for string
class ConfigurationInterface;
class Galileo_Almanac;
class Galileo_Ephemeris;
class Gps_Almanac;
class Gps_Ephemeris;
/*!
* \brief This class implements a PvtInterface for the RTKLIB PVT block

View File

@ -30,6 +30,7 @@ add_library(pvt_gr_blocks ${PVT_GR_BLOCKS_SOURCES} ${PVT_GR_BLOCKS_HEADERS})
target_link_libraries(pvt_gr_blocks
PUBLIC
algorithms_libs_rtklib
pvt_libs
core_system_parameters
Boost::date_time

View File

@ -29,23 +29,43 @@
*/
#include "rtklib_pvt_gs.h"
#include "beidou_dnav_almanac.h"
#include "beidou_dnav_ephemeris.h"
#include "display.h"
#include "galileo_almanac.h"
#include "galileo_almanac_helper.h"
#include "galileo_ephemeris.h"
#include "geojson_printer.h"
#include "gnss_sdr_create_directory.h"
#include "gps_almanac.h"
#include "gps_ephemeris.h"
#include "gpx_printer.h"
#include "kml_printer.h"
#include "monitor_pvt_udp_sink.h"
#include "nmea_printer.h"
#include "pvt_conf.h"
#include "rinex_printer.h"
#include "rtcm_printer.h"
#include "rtklib_solver.h"
#include <boost/any.hpp> // for any_cast, any
#include <boost/archive/xml_iarchive.hpp>
#include <boost/archive/xml_oarchive.hpp>
#include <boost/exception/all.hpp>
#include <boost/bind/bind.hpp> // for bind_t, bind
#include <boost/exception/diagnostic_information.hpp>
#include <boost/exception/exception.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/serialization/map.hpp>
#include <glog/logging.h>
#include <gnuradio/gr_complex.h>
#include <gnuradio/io_signature.h>
#include <boost/serialization/nvp.hpp> // for nvp, make_nvp
#include <glog/logging.h> // for LOG
#include <gnuradio/io_signature.h> // for io_signature
#include <pmt/pmt_sugar.h> // for mp
#include <algorithm>
#include <exception>
#include <fstream>
#include <iostream>
#include <stdexcept>
#include <sys/ipc.h> // for IPC_CREAT
#include <sys/msg.h> // for msgctl
#if OLD_BOOST
#include <boost/math/common_factor_rt.hpp>
namespace bc = boost::math;
@ -149,7 +169,6 @@ rtklib_pvt_gs::rtklib_pvt_gs(uint32_t nchannels,
// initialize geojson_printer
std::string geojson_dump_filename;
geojson_dump_filename = d_dump_filename;
d_geojson_output_enabled = conf_.geojson_output_enabled;
if (d_geojson_output_enabled)
{

View File

@ -31,38 +31,39 @@
#ifndef GNSS_SDR_RTKLIB_PVT_GS_H
#define GNSS_SDR_RTKLIB_PVT_GS_H
#include "beidou_dnav_almanac.h"
#include "beidou_dnav_ephemeris.h"
#include "galileo_almanac.h"
#include "galileo_ephemeris.h"
#include "geojson_printer.h"
#include "gnss_synchro.h"
#include "gps_almanac.h"
#include "gps_ephemeris.h"
#include "gpx_printer.h"
#include "kml_printer.h"
#include "monitor_pvt_udp_sink.h"
#include "nmea_printer.h"
#include "pvt_conf.h"
#include "rinex_printer.h"
#include "rtcm_printer.h"
#include "rtklib_solver.h"
#include "rtklib.h"
#include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <gnuradio/sync_block.h>
#include <pmt/pmt.h>
#include <chrono>
#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/types.h>
#include <utility>
#include <vector>
#include <boost/shared_ptr.hpp> // for boost::shared_ptr
#include <gnuradio/sync_block.h> // for sync_block
#include <gnuradio/types.h> // for gr_vector_const_void_star
#include <pmt/pmt.h> // for pmt_t
#include <chrono> // for system_clock
#include <cstdint> // for int32_t
#include <ctime> // for time_t
#include <map> // for map
#include <memory> // for shared_ptr, unique_ptr
#include <string> // for string
#include <sys/types.h> // for key_t
#include <utility> // for pair
#include <vector> // for vector
class Beidou_Dnav_Almanac;
class Beidou_Dnav_Ephemeris;
class Galileo_Almanac;
class Galileo_Ephemeris;
class GeoJSON_Printer;
class Gps_Almanac;
class Gps_Ephemeris;
class Gpx_Printer;
class Kml_Printer;
class Monitor_Pvt_Udp_Sink;
class Nmea_Printer;
class Pvt_Conf;
class Rinex_Printer;
class Rtcm_Printer;
class Rtklib_Solver;
class rtklib_pvt_gs;
using rtklib_pvt_gs_sptr = boost::shared_ptr<rtklib_pvt_gs>;

View File

@ -33,9 +33,9 @@
#include "pass_through.h"
#include "configuration_interface.h"
#include <glog/logging.h>
#include <volk/volk.h>
#include <complex>
#include <gnuradio/gr_complex.h>
#include <volk/volk_complex.h>
#include <ostream> // for operator<<
Pass_Through::Pass_Through(ConfigurationInterface* configuration, const std::string& role,
unsigned int in_streams,

View File

@ -38,7 +38,8 @@
#include "conjugate_sc.h"
#include "gnss_block_interface.h"
#include <gnuradio/blocks/copy.h>
#include <gnuradio/hier_block2.h>
#include <gnuradio/runtime_types.h>
#include <cstddef>
#include <string>

View File

@ -66,9 +66,8 @@ source_group(Headers FILES ${RTKLIB_LIB_HEADERS})
add_library(algorithms_libs_rtklib ${RTKLIB_LIB_SOURCES} ${RTKLIB_LIB_HEADERS})
target_link_libraries(algorithms_libs_rtklib
PUBLIC
core_system_parameters
PRIVATE
core_system_parameters
Gflags::gflags
Glog::glog
)

View File

@ -29,7 +29,20 @@
*/
#include "rtklib_conversions.h"
#include "MATH_CONSTANTS.h" // for PI, PI_2
#include "beidou_dnav_ephemeris.h" // for Beidou_Dnav_Ephemeris
#include "galileo_almanac.h" // for Galileo_Almanac
#include "galileo_ephemeris.h" // for Galileo_Ephemeris
#include "glonass_gnav_ephemeris.h" // for Glonass_Gnav_Ephemeris
#include "glonass_gnav_utc_model.h" // for Glonass_Gnav_Utc_Model
#include "gnss_obs_codes.h" // for CODE_L1C, CODE_L2S, CODE_L5X
#include "gnss_synchro.h" // for Gnss_Synchro
#include "gps_almanac.h" // for Gps_Almanac
#include "gps_cnav_ephemeris.h" // for Gps_CNAV_Ephemeris
#include "gps_ephemeris.h" // for Gps_Ephemeris
#include "rtklib_rtkcmn.h"
#include <cmath>
#include <cstdint>
obsd_t insert_obs_to_rtklib(obsd_t& rtklib_obs, const Gnss_Synchro& gnss_synchro, int week, int band)
{

View File

@ -31,17 +31,18 @@
#ifndef GNSS_SDR_RTKLIB_CONVERSIONS_H_
#define GNSS_SDR_RTKLIB_CONVERSIONS_H_
#include "beidou_dnav_ephemeris.h"
#include "galileo_almanac.h"
#include "galileo_ephemeris.h"
#include "glonass_gnav_ephemeris.h"
#include "glonass_gnav_utc_model.h"
#include "gnss_synchro.h"
#include "gps_almanac.h"
#include "gps_cnav_ephemeris.h"
#include "gps_ephemeris.h"
#include "rtklib.h"
class Beidou_Dnav_Ephemeris;
class Galileo_Almanac;
class Galileo_Ephemeris;
class Glonass_Gnav_Ephemeris;
class Glonass_Gnav_Utc_Model;
class Gnss_Synchro;
class Gps_Almanac;
class Gps_CNAV_Ephemeris;
class Gps_Ephemeris;
eph_t eph_to_rtklib(const Galileo_Ephemeris& gal_eph);
eph_t eph_to_rtklib(const Gps_Ephemeris& gps_eph);
eph_t eph_to_rtklib(const Gps_CNAV_Ephemeris& gps_cnav_eph);

View File

@ -33,6 +33,7 @@
#include "hybrid_observables.h"
#include "configuration_interface.h"
#include <glog/logging.h>
#include <ostream> // for operator<<
HybridObservables::HybridObservables(ConfigurationInterface* configuration,
@ -44,7 +45,7 @@ HybridObservables::HybridObservables(ConfigurationInterface* configuration,
dump_mat_ = configuration->property(role + ".dump_mat", true);
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
observables_ = hybrid_make_observables_gs(in_streams_, out_streams_, dump_, dump_mat_, dump_filename_);
observables_ = hybrid_observables_gs_make(in_streams_, out_streams_, dump_, dump_mat_, dump_filename_);
DLOG(INFO) << "Observables block ID (" << observables_->unique_id() << ")";
}

View File

@ -36,6 +36,9 @@
#include "hybrid_observables_gs.h"
#include "observables_interface.h"
#include <gnuradio/gr_complex.h> // for gr_complex
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef>
#include <string>
class ConfigurationInterface;

View File

@ -37,13 +37,13 @@ target_link_libraries(obs_gr_blocks
PUBLIC
Boost::boost
Gnuradio::blocks
core_system_parameters
PRIVATE
algorithms_libs
core_system_parameters
Gflags::gflags
Glog::glog
Boost::filesystem
Matio::matio
algorithms_libs
)
if(ENABLE_CLANG_TIDY)

View File

@ -30,23 +30,24 @@
*/
#include "hybrid_observables_gs.h"
#include "GPS_L1_CA.h"
#include "display.h"
#include "GPS_L1_CA.h" // for GPS_STARTOFFSET_MS, GPS_TWO_PI
#include "MATH_CONSTANTS.h" // for SPEED_OF_LIGHT
#include "gnss_circular_deque.h"
#include "gnss_sdr_create_directory.h"
#include "gnss_synchro.h"
#include <boost/filesystem/path.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <matio.h>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <exception>
#include <iostream>
#include <limits>
#include <utility>
#include <cmath> // for round
#include <cstdlib> // for size_t, llabs
#include <exception> // for exception
#include <iostream> // for cerr, cout
#include <limits> // for numeric_limits
#include <utility> // for move
hybrid_observables_gs_sptr hybrid_make_observables_gs(unsigned int nchannels_in, unsigned int nchannels_out, bool dump, bool dump_mat, std::string dump_filename)
hybrid_observables_gs_sptr hybrid_observables_gs_make(unsigned int nchannels_in, unsigned int nchannels_out, bool dump, bool dump_mat, std::string dump_filename)
{
return hybrid_observables_gs_sptr(new hybrid_observables_gs(nchannels_in, nchannels_out, dump, dump_mat, std::move(dump_filename)));
}

View File

@ -34,21 +34,24 @@
#ifndef GNSS_SDR_HYBRID_OBSERVABLES_GS_H
#define GNSS_SDR_HYBRID_OBSERVABLES_GS_H
#include "gnss_circular_deque.h"
#include "gnss_synchro.h"
#include <boost/dynamic_bitset.hpp>
#include <gnuradio/block.h>
#include <fstream>
#include <string>
#include <utility>
#include <boost/circular_buffer.hpp> // for boost::curcular_buffer
#include <boost/shared_ptr.hpp> // for boost::shared_ptr
#include <gnuradio/block.h> // for block
#include <gnuradio/types.h> // for gr_vector_int
#include <cstdint> // for int32_t
#include <fstream> // for string, ofstream
#include <vector> // for vector
class Gnss_Synchro;
class hybrid_observables_gs;
template <class T>
class Gnss_circular_deque;
using hybrid_observables_gs_sptr = boost::shared_ptr<hybrid_observables_gs>;
hybrid_observables_gs_sptr
hybrid_make_observables_gs(unsigned int nchannels_in, unsigned int nchannels_out, bool dump, bool dump_mat, std::string dump_filename);
hybrid_observables_gs_make(unsigned int nchannels_in, unsigned int nchannels_out, bool dump, bool dump_mat, std::string dump_filename);
/*!
* \brief This class implements a block that computes observables
@ -63,7 +66,7 @@ public:
private:
friend hybrid_observables_gs_sptr
hybrid_make_observables_gs(uint32_t nchannels_in, uint32_t nchannels_out, bool dump, bool dump_mat, std::string dump_filename);
hybrid_observables_gs_make(uint32_t nchannels_in, uint32_t nchannels_out, bool dump, bool dump_mat, std::string dump_filename);
hybrid_observables_gs(uint32_t nchannels_in, uint32_t nchannels_out, bool dump, bool dump_mat, std::string dump_filename);
bool interpolate_data(Gnss_Synchro& out, const uint32_t& ch, const double& ti);
bool interp_trk_obs(Gnss_Synchro& interpolated_obs, const uint32_t& ch, const uint64_t& rx_clock);

View File

@ -32,11 +32,12 @@
*/
#include "gnss_sdr_valve.h"
#include "control_message_factory.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <algorithm> // for min
#include <cstring> // for memcpy
#include "control_message_factory.h" // for ControlMessageFactory
#include <glog/logging.h> // for LOG
#include <gnuradio/io_signature.h> // for io_signature
#include <algorithm> // for min
#include <cstring> // for memcpy
#include <unistd.h> // for usleep
#include <utility>
Gnss_Sdr_Valve::Gnss_Sdr_Valve(size_t sizeof_stream_item,

View File

@ -35,8 +35,10 @@
#define GNSS_SDR_GNSS_SDR_VALVE_H_
#include <boost/shared_ptr.hpp>
#include <gnuradio/msg_queue.h>
#include <gnuradio/sync_block.h>
#include <gnuradio/msg_queue.h> // for msg_queue, msg_queue::sptr
#include <gnuradio/sync_block.h> // for sync_block
#include <gnuradio/types.h> // for gr_vector_const_void_star
#include <cstddef> // for size_t
#include <cstdint>
boost::shared_ptr<gr::block> gnss_sdr_make_valve(size_t sizeof_stream_item,

View File

@ -31,7 +31,9 @@
*/
#include "rtl_tcp_commands.h"
#include <string>
#include <boost/asio/buffer.hpp> // for buffer
#include <boost/asio/detail/impl/socket_ops.ipp> // for host_to_network_long
#include <cstring> // for memcpy
boost::system::error_code rtl_tcp_command(RTL_TCP_COMMAND id, unsigned param, boost::asio::ip::tcp::socket &socket)
{

View File

@ -32,7 +32,8 @@
#ifndef GNSS_SDR_RTL_TCP_COMMANDS_H
#define GNSS_SDR_RTL_TCP_COMMANDS_H
#include <boost/asio/ip/tcp.hpp>
#include <boost/asio/ip/tcp.hpp> // for tcp, tcp::socket
#include <boost/system/error_code.hpp> // for error_code
/// Command IDs for configuration rtl_tcp
enum RTL_TCP_COMMAND

View File

@ -37,7 +37,6 @@
#include "beidou_dnav_utc_model.h"
#include "configuration_interface.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
BeidouB1iTelemetryDecoder::BeidouB1iTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -35,7 +35,10 @@
#define GNSS_SDR_BEIDOU_B1I_TELEMETRY_DECODER_H_
#include "beidou_b1i_telemetry_decoder_gs.h"
#include "gnss_satellite.h" // for Gnss_Satellite
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>
class ConfigurationInterface;

View File

@ -38,7 +38,6 @@
#include "galileo_iono.h"
#include "galileo_utc_model.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GalileoE1BTelemetryDecoder::GalileoE1BTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -38,6 +38,8 @@
#include "galileo_telemetry_decoder_gs.h"
#include "gnss_satellite.h"
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>

View File

@ -41,7 +41,6 @@
#include "galileo_iono.h"
#include "galileo_utc_model.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GalileoE5aTelemetryDecoder::GalileoE5aTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -38,7 +38,10 @@
#define GNSS_SDR_GALILEO_E5A_TELEMETRY_DECODER_H_
#include "galileo_telemetry_decoder_gs.h"
#include "gnss_satellite.h" // for Gnss_Satellite
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>
class ConfigurationInterface;

View File

@ -37,7 +37,6 @@
#include "glonass_gnav_ephemeris.h"
#include "glonass_gnav_utc_model.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GlonassL1CaTelemetryDecoder::GlonassL1CaTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -35,7 +35,10 @@
#define GNSS_SDR_GLONASS_L1_CA_TELEMETRY_DECODER_H_
#include "glonass_l1_ca_telemetry_decoder_gs.h"
#include "gnss_satellite.h" // for Gnss_Satellite
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>
class ConfigurationInterface;

View File

@ -36,7 +36,6 @@
#include "glonass_gnav_ephemeris.h"
#include "glonass_gnav_utc_model.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GlonassL2CaTelemetryDecoder::GlonassL2CaTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -33,8 +33,11 @@
#ifndef GNSS_SDR_GLONASS_L2_CA_TELEMETRY_DECODER_H_
#define GNSS_SDR_GLONASS_L2_CA_TELEMETRY_DECODER_H_
#include "gnss_satellite.h" // for Gnss_Satellite
#include "glonass_l2_ca_telemetry_decoder_gs.h"
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>
class ConfigurationInterface;

View File

@ -37,7 +37,6 @@
#include "gps_iono.h"
#include "gps_utc_model.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GpsL1CaTelemetryDecoder::GpsL1CaTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -33,8 +33,11 @@
#ifndef GNSS_SDR_GPS_L1_CA_TELEMETRY_DECODER_H_
#define GNSS_SDR_GPS_L1_CA_TELEMETRY_DECODER_H_
#include "gnss_satellite.h" // for Gnss_Satellite
#include "gps_l1_ca_telemetry_decoder_gs.h"
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>
class ConfigurationInterface;

View File

@ -37,7 +37,6 @@
#include "gps_cnav_iono.h"
#include "gps_cnav_utc_model.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GpsL2CTelemetryDecoder::GpsL2CTelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -33,8 +33,11 @@
#ifndef GNSS_SDR_GPS_L2C_TELEMETRY_DECODER_H_
#define GNSS_SDR_GPS_L2C_TELEMETRY_DECODER_H_
#include "gnss_satellite.h" // for Gnss_Satellite
#include "gps_l2c_telemetry_decoder_gs.h"
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>
class ConfigurationInterface;

View File

@ -33,7 +33,6 @@
#include "gps_l5_telemetry_decoder.h"
#include "configuration_interface.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
GpsL5TelemetryDecoder::GpsL5TelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -37,6 +37,8 @@
#include "gnss_satellite.h"
#include "gps_l5_telemetry_decoder_gs.h"
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>

View File

@ -32,10 +32,8 @@
#include "sbas_l1_telemetry_decoder.h"
#include "configuration_interface.h"
#include "sbas_ephemeris.h"
#include "sbas_l1_telemetry_decoder_gs.h"
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
SbasL1TelemetryDecoder::SbasL1TelemetryDecoder(ConfigurationInterface* configuration,

View File

@ -34,8 +34,11 @@
#define GNSS_SDR_SBAS_L1_TELEMETRY_DECODER_H_
#include "gnss_satellite.h" // for Gnss_Satellite
#include "sbas_l1_telemetry_decoder_gs.h"
#include "telemetry_decoder_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <cstddef> // for size_t
#include <string>

View File

@ -36,7 +36,6 @@
#include "convolutional.h"
#include "display.h"
#include "gnss_synchro.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <volk_gnsssdr/volk_gnsssdr.h>

View File

@ -33,7 +33,6 @@
#include "convolutional.h"
#include "display.h"
#include "gnss_synchro.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <volk_gnsssdr/volk_gnsssdr.h>

View File

@ -32,7 +32,6 @@
#include "glonass_l1_ca_telemetry_decoder_gs.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>

View File

@ -32,7 +32,6 @@
#include "glonass_l2_ca_telemetry_decoder_gs.h"
#include "display.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>

View File

@ -30,7 +30,6 @@
*/
#include "gps_l1_ca_telemetry_decoder_gs.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <volk_gnsssdr/volk_gnsssdr.h>

View File

@ -33,7 +33,6 @@
#include "gps_l2c_telemetry_decoder_gs.h"
#include "display.h"
#include "gnss_synchro.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <bitset>

View File

@ -34,7 +34,6 @@
#include "gnss_synchro.h"
#include "gps_cnav_ephemeris.h"
#include "gps_cnav_iono.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <bitset>

View File

@ -30,7 +30,6 @@
#include "sbas_l1_telemetry_decoder_gs.h"
#include "gnss_synchro.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <sstream>

View File

@ -31,6 +31,8 @@
#include "viterbi_decoder.h"
#include <glog/logging.h>
#include <cstring> // for memset
#include <ostream> // for operator<<, basic_ostream, char_traits, endl
// logging
#define EVENT 2 // logs important events which don't occur every block

View File

@ -46,6 +46,7 @@
#include "galileo_e1_signal_processing.h"
#include "galileo_e5_signal_processing.h"
#include "gnss_sdr_create_directory.h"
#include "gnss_synchro.h"
#include "gps_l2c_signal.h"
#include "gps_l5_signal.h"
#include "gps_sdr_signal_processing.h"
@ -53,15 +54,16 @@
#include "tracking_discriminators.h"
#include <boost/filesystem/path.hpp>
#include <glog/logging.h>
#include <gnuradio/io_signature.h>
#include <matio.h>
#include <gnuradio/io_signature.h> // for io_signature
#include <gnuradio/thread/thread.h> // for scoped_lock
#include <matio.h> // for Mat_VarCreate
#include <pmt/pmt_sugar.h> // for mp
#include <volk_gnsssdr/volk_gnsssdr.h>
#include <algorithm>
#include <cmath>
#include <exception>
#include <iostream>
#include <numeric>
#include <sstream>
#include <algorithm> // for fill_n
#include <cmath> // for fmod, round, floor
#include <exception> // for exception
#include <iostream> // for cout, cerr
#include <map>
dll_pll_veml_tracking_sptr dll_pll_veml_make_tracking(const Dll_Pll_Conf &conf_)

View File

@ -34,17 +34,19 @@
#include "cpu_multicorrelator_real_codes.h"
#include "dll_pll_conf.h"
#include "gnss_synchro.h"
#include "tracking_2nd_DLL_filter.h"
#include "tracking_2nd_PLL_filter.h"
#include <boost/circular_buffer.hpp>
#include <gnuradio/block.h>
#include <fstream>
#include <map>
#include <queue>
#include <string>
#include <utility>
#include <boost/shared_ptr.hpp> // for boost::shared_ptr
#include <gnuradio/block.h> // for block
#include <gnuradio/gr_complex.h> // for gr_complex
#include <gnuradio/types.h> // for gr_vector_int, gr_vector...
#include <pmt/pmt.h> // for pmt_t
#include <cstdint> // for int32_t
#include <fstream> // for string, ofstream
#include <utility> // for pair
class Gnss_Synchro;
class dll_pll_veml_tracking;
using dll_pll_veml_tracking_sptr = boost::shared_ptr<dll_pll_veml_tracking>;

View File

@ -143,6 +143,7 @@ target_link_libraries(core_receiver
core_libs
core_monitor
PRIVATE
Boost::chrono
Gflags::gflags
Glog::glog
signal_source_adapters

View File

@ -30,7 +30,8 @@
#include "control_message_factory.h"
#include <glog/logging.h>
#include <cstring> // for memcpy
#include <ostream> // for operator<<, basic_ostream
// Constructor
ControlMessageFactory::ControlMessageFactory() = default;

View File

@ -35,6 +35,7 @@
#include "control_thread.h"
#include "concurrent_map.h"
#include "concurrent_queue.h"
#include "configuration_interface.h"
#include "control_message_factory.h"
#include "file_configuration.h"
#include "galileo_almanac.h"
@ -45,29 +46,36 @@
#include "glonass_gnav_ephemeris.h"
#include "glonass_gnav_utc_model.h"
#include "gnss_flowgraph.h"
#include "gnss_satellite.h"
#include "gnss_sdr_flags.h"
#include "gps_almanac.h"
#include "gps_ephemeris.h"
#include "gps_iono.h"
#include "gps_utc_model.h"
#include "pvt_interface.h"
#include "rtklib_conversions.h"
#include "rtklib_ephemeris.h"
#include "rtklib_rtkcmn.h"
#include <boost/lexical_cast.hpp>
#include <glog/logging.h>
#include <gnuradio/message.h>
#include <algorithm>
#include <chrono>
#include <cmath>
#include <iostream>
#include <limits>
#include <map>
#include <string>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/types.h>
#include <utility>
#include "gps_acq_assist.h" // for Gps_Acq_Assist
#include "gps_almanac.h" // for Gps_Almanac
#include "gps_cnav_ephemeris.h" // for Gps_CNAV_Ephemeris
#include "gps_cnav_utc_model.h" // for Gps_CNAV_Utc_Model
#include "gps_ephemeris.h" // for Gps_Ephemeris
#include "gps_iono.h" // for Gps_Iono
#include "gps_utc_model.h" // for Gps_Utc_Model
#include "pvt_interface.h" // for PvtInterface
#include "rtklib.h" // for gtime_t, alm_t
#include "rtklib_conversions.h" // for alm_to_rtklib
#include "rtklib_ephemeris.h" // for alm2pos, eph2pos
#include "rtklib_rtkcmn.h" // for utc2gpst
#include <boost/lexical_cast/bad_lexical_cast.hpp> // for bad_lexical_cast
#include <glog/logging.h> // for LOG
#include <gnuradio/message.h> // for message::sptr
#include <pmt/pmt.h> // for make_any
#include <algorithm> // for find, min
#include <chrono> // for milliseconds
#include <cmath> // for floor, fmod, log
#include <ctime> // for gmtime, strftime
#include <exception> // for exception
#include <iostream> // for operator<<, endl
#include <limits> // for numeric_limits
#include <map> // for map
#include <pthread.h> // for pthread_cancel
#include <stdexcept> // for invalid_argument
#include <sys/ipc.h> // for IPC_CREAT
#include <sys/msg.h> // for msgctl, msgget
extern Concurrent_Map<Gps_Acq_Assist> global_gps_acq_assist_map;

View File

@ -35,20 +35,24 @@
#ifndef GNSS_SDR_CONTROL_THREAD_H_
#define GNSS_SDR_CONTROL_THREAD_H_
#include "agnss_ref_location.h"
#include "agnss_ref_time.h"
#include "configuration_interface.h"
#include "control_message_factory.h"
#include "gnss_flowgraph.h"
#include "gnss_satellite.h"
#include "gnss_sdr_supl_client.h"
#include "tcp_cmd_interface.h"
#include <armadillo>
#include <gnuradio/msg_queue.h>
#include <memory>
#include <thread>
#include <vector>
#include "agnss_ref_location.h" // for Agnss_Ref_Location
#include "agnss_ref_time.h" // for Agnss_Ref_Time
#include "control_message_factory.h" // for ControlMessage
#include "gnss_sdr_supl_client.h" // for Gnss_Sdr_Supl_Client
#include "tcp_cmd_interface.h" // for TcpCmdInterface
#include <armadillo> // for arma::vec
#include <boost/thread.hpp> // for boost::thread
#include <gnuradio/msg_queue.h> // for msg_queue, msg_queue::sptr
#include <ctime> // for time_t
#include <memory> // for shared_ptr
#include <string> // for string
#include <thread> // for std::thread
#include <utility> // for pair
#include <vector> // for vector
class ConfigurationInterface;
class GNSSFlowgraph;
class Gnss_Satellite;
/*!
* \brief This class represents the main thread of the application, so the name is ControlThread.

View File

@ -36,6 +36,7 @@
#include "gnss_block_factory.h"
#include "acquisition_interface.h" // for AcquisitionInterface
#include "array_signal_conditioner.h"
#include "beamformer_filter.h"
#include "beidou_b1i_dll_pll_tracking.h"
@ -105,8 +106,13 @@
#include "signal_conditioner.h"
#include "spir_file_signal_source.h"
#include "spir_gss6450_file_signal_source.h"
#include "telemetry_decoder_interface.h"
#include "tracking_interface.h"
#include "two_bit_cpx_file_signal_source.h"
#include "two_bit_packed_file_signal_source.h"
#include <glog/logging.h>
#include <exception> // for exception
#include <utility> // for move
#if RAW_UDP
#include "custom_udp_signal_source.h"
@ -165,13 +171,6 @@
#include "gps_l1_ca_dll_pll_tracking_gpu.h"
#endif
#include <glog/logging.h>
#include <exception>
#include <iostream>
#include <sstream>
#include <string>
#include <utility>
GNSSBlockFactory::GNSSBlockFactory() = default;

View File

@ -37,10 +37,11 @@
#ifndef GNSS_SDR_BLOCK_FACTORY_H_
#define GNSS_SDR_BLOCK_FACTORY_H_
#include <gnuradio/msg_queue.h>
#include <memory>
#include <string>
#include <vector>
#include <boost/shared_ptr.hpp> // for boost::shared_ptr
#include <gnuradio/msg_queue.h> // for msg_queue::sptr, msg_queue
#include <memory> // for unique_ptr, shared_ptr
#include <string> // for string
#include <vector> // for vector
class ConfigurationInterface;

View File

@ -42,16 +42,28 @@
#include "channel_interface.h"
#include "configuration_interface.h"
#include "gnss_block_factory.h"
#include <boost/lexical_cast.hpp>
#include <boost/tokenizer.hpp>
#include <glog/logging.h>
#include <gnuradio/filter/firdes.h>
#include <algorithm>
#include <exception>
#include <iostream>
#include <set>
#include <thread>
#include <utility>
#include "gnss_block_interface.h"
#include "gnss_satellite.h"
#include "gnss_synchro_monitor.h"
#include <boost/lexical_cast.hpp> // for boost::lexical_cast
#include <boost/shared_ptr.hpp> // for boost::shared_ptr
#include <boost/tokenizer.hpp> // for boost::tokenizer
#include <glog/logging.h> // for LOG
#include <gnuradio/basic_block.h> // for basic_block
#include <gnuradio/filter/firdes.h> // for gr::filter::firdes
#include <gnuradio/io_signature.h> // for io_signature
#include <gnuradio/top_block.h> // for top_block, make_top_block
#include <pmt/pmt_sugar.h> // for mp
#include <algorithm> // for transform, sort, unique
#include <cmath> // for floor
#include <cstddef> // for size_t
#include <exception> // for exception
#include <iostream> // for operator<<
#include <iterator> // for insert_iterator, inserter
#include <set> // for set
#include <stdexcept> // for invalid_argument
#include <thread> // for thread
#include <utility> // for move
#ifdef GR_GREATER_38
#include <gnuradio/filter/fir_filter_blk.h>
#else

View File

@ -37,29 +37,27 @@
#ifndef GNSS_SDR_GNSS_FLOWGRAPH_H_
#define GNSS_SDR_GNSS_FLOWGRAPH_H_
#include "GPS_L1_CA.h"
#include "channel_interface.h"
#include "configuration_interface.h"
#include "gnss_block_factory.h"
#include "gnss_block_interface.h"
#include "gnss_sdr_sample_counter.h"
#include "gnss_signal.h"
#include "gnss_synchro_monitor.h"
#include "pvt_interface.h"
#include <gnuradio/msg_queue.h>
#include <gnuradio/top_block.h>
#include <list>
#include <map>
#include <memory>
#include <mutex>
#include <queue>
#include <string>
#include <vector>
#include <gnuradio/msg_queue.h> // for msg_queue, msg_queue::sptr
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <pmt/pmt.h> // for pmt_t
#include <list> // for list
#include <map> // for map
#include <memory> // for for shared_ptr, dynamic_pointer_cast
#include <mutex> // for mutex
#include <string> // for string
#include <utility> // for pair
#include <vector> // for vector
#if ENABLE_FPGA
#include "gnss_sdr_fpga_sample_counter.h"
#endif
class ChannelInterface;
class ConfigurationInterface;
class GNSSBlockInterface;
class Gnss_Satellite;
/*! \brief This class represents a GNSS flow graph.
*

View File

@ -32,7 +32,6 @@
#ifndef GNSS_SDR_AGNSS_REF_LOCATION_H_
#define GNSS_SDR_AGNSS_REF_LOCATION_H_
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>

View File

@ -32,7 +32,6 @@
#ifndef GNSS_SDR_AGNSS_REF_TIME_H_
#define GNSS_SDR_AGNSS_REF_TIME_H_
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>

View File

@ -34,7 +34,6 @@
#define GNSS_SDR_BEIDOU_DNAV_ALMANAC_H_
#include <boost/serialization/nvp.hpp>
#include <cstdint>
/*!

View File

@ -32,13 +32,8 @@
#include "beidou_dnav_navigation_message.h"
#include "gnss_satellite.h"
#include <boost/crc.hpp> // for boost::crc_basic, boost::crc_optimal
#include <boost/dynamic_bitset.hpp>
#include <glog/logging.h>
#include <cmath>
#include <cstring>
#include <iostream>
#include <string>
#include <cmath> // for cos, sin, fmod, sqrt, atan2, fabs, floor
#include <iostream> // for string, operator<<, cout, ostream, endl
void Beidou_Dnav_Navigation_Message::reset()

View File

@ -35,11 +35,11 @@
#include "Beidou_B1I.h"
#include "beidou_dnav_almanac.h"
#include "beidou_dnav_ephemeris.h"
#include "beidou_dnav_iono.h"
#include "beidou_dnav_utc_model.h"
#include <bitset>
#include <cstdint>
#include <map>
#include <string>
#include <utility>
@ -47,9 +47,7 @@
/*!
* \brief This class decodes a BeiDou D1 NAV Data message as described in IS-GPS-200E
*
* See http://www.gps.gov/technical/icwg/IS-GPS-200E.pdf Appendix II
* \brief This class decodes a BeiDou D1 NAV Data message
*/
class Beidou_Dnav_Navigation_Message
{
@ -61,13 +59,17 @@ private:
/*
* Accounts for the beginning or end of week crossover
*
* See paragraph 20.3.3.3.3.1 (IS-GPS-200E)
* \param[in] - time in seconds
* \param[out] - corrected time, in seconds
*/
double check_t(double time);
public:
/*!
* Default constructor
*/
Beidou_Dnav_Navigation_Message();
// System flags for data processing
bool flag_eph_valid;
bool flag_utc_model_valid;
@ -119,7 +121,7 @@ public:
double d_Toe_sf2; //!< Ephemeris data reference time of week in subframe 2, D1 Message
double d_Toe_sf3; //!< Ephemeris data reference time of week in subframe 3, D1 Message
double d_Toe; //!< Ephemeris data reference time of week in subframe 1, D2 Message
double d_Toc; //!< clock data reference time (Ref. 20.3.3.3.3.1 IS-GPS-200E) [s]
double d_Toc; //!< clock data reference time [s]
double d_Cic; //!< Amplitude of the Cosine Harmonic Correction Term to the Angle of Inclination [rad]
double d_OMEGA0; //!< Longitude of Ascending Node of Orbit Plane at Weekly Epoch [semi-circles]
double d_Cis; //!< Amplitude of the Sine Harmonic Correction Term to the Angle of Inclination [rad]
@ -218,8 +220,8 @@ public:
double d_beta3; //!< Coefficient 3 of a cubic equation representing the period of the model [s(semi-circle)^3]
// UTC parameters
double d_A1UTC; //!< 1st order term of a model that relates GPS and UTC time (ref. 20.3.3.5.2.4 IS-GPS-200E) [s/s]
double d_A0UTC; //!< Constant of a model that relates GPS and UTC time (ref. 20.3.3.5.2.4 IS-GPS-200E) [s]
double d_A1UTC; //!< 1st order term of a model that relates GPS and UTC time [s/s]
double d_A0UTC; //!< Constant of a model that relates GPS and UTC time [s]
double d_DeltaT_LS; //!< delta time due to leap seconds [s]. Number of leap seconds since 6-Jan-1980 as transmitted by the GPS almanac.
int32_t i_WN_LSF; //!< Week number at the end of which the leap second becomes effective [weeks]
int32_t i_DN; //!< Day number (DN) at the end of which the leap second becomes effective [days]
@ -249,26 +251,24 @@ public:
double d_satvel_Y; //!< Earth-fixed velocity coordinate y of the satellite [m]
double d_satvel_Z; //!< Earth-fixed velocity coordinate z of the satellite [m]
// public functions
void reset();
/*!
* \brief Obtain a GPS SV Ephemeris class filled with current SV data
* \brief Obtain a BDS SV Ephemeris class filled with current SV data
*/
Beidou_Dnav_Ephemeris get_ephemeris();
/*!
* \brief Obtain a GPS ionospheric correction parameters class filled with current SV data
* \brief Obtain a BDS ionospheric correction parameters class filled with current SV data
*/
Beidou_Dnav_Iono get_iono();
/*!
* \brief Obtain a GPS UTC model parameters class filled with current SV data
* \brief Obtain a BDS UTC model parameters class filled with current SV data
*/
Beidou_Dnav_Utc_Model get_utc_model();
/*!
* \brief Decodes the BDS D1 NAV message
*/
@ -281,20 +281,18 @@ public:
/*!
* \brief Computes the position of the satellite
*
* Implementation of Table 20-IV (IS-GPS-200E)
*/
void satellitePosition(double transmitTime);
/*!
* \brief Sets (\a d_satClkCorr) according to the User Algorithm for SV Clock Correction
* and returns the corrected clock (IS-GPS-200E, 20.3.3.3.3.1)
* and returns the corrected clock
*/
double sv_clock_correction(double transmitTime);
/*!
* \brief Computes the Coordinated Universal Time (UTC) and
* returns it in [s] (IS-GPS-200E, 20.3.3.5.2.4)
* returns it in [s]
*/
double utc_time(const double beidoutime_corrected) const;
@ -319,10 +317,6 @@ public:
* \brief Returns true if new UTC model has arrived. The flag is set to false when the function is executed
*/
bool have_new_almanac();
/*!
* Default constructor
*/
Beidou_Dnav_Navigation_Message();
};
#endif

View File

@ -38,8 +38,9 @@
#include <boost/crc.hpp> // for boost::crc_basic, boost::crc_optimal
#include <boost/dynamic_bitset.hpp>
#include <glog/logging.h>
#include <iostream>
#include <algorithm> // for reverse
#include <iostream> // for string, operator<<
#include <iterator> // for back_insert_iterator
using CRC_Galileo_FNAV_type = boost::crc_optimal<24, 0x1864CFBu, 0x0, 0x0, false, false>;

View File

@ -33,6 +33,7 @@
#define GNSS_SDR_GALILEO_IONO_H_
#include <boost/serialization/nvp.hpp>
#include <cstdint>
/*!
* \brief This class is a storage for the GALILEO IONOSPHERIC data as described in Galileo ICD paragraph 5.1.6

View File

@ -40,7 +40,6 @@
#include "galileo_utc_model.h"
#include <bitset>
#include <cstdint>
#include <map>
#include <string>
#include <utility>
#include <vector>

View File

@ -32,7 +32,8 @@
#include "glonass_gnav_ephemeris.h"
#include "GLONASS_L1_L2_CA.h"
#include "gnss_satellite.h"
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/posix_time/time_formatters.hpp>
#include <cmath>

View File

@ -35,7 +35,7 @@
#define GNSS_SDR_GLONASS_GNAV_EPHEMERIS_H_
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/posix_time/ptime.hpp> // for ptime
#include <boost/serialization/nvp.hpp>
#include <cstdint>

View File

@ -31,8 +31,11 @@
*/
#include "glonass_gnav_navigation_message.h"
#include "MATH_CONSTANTS.h" // for TWO_N20, TWO_N30, TWO_N14, TWO_N15, TWO_N18
#include "gnss_satellite.h"
#include <glog/logging.h>
#include <map>
#include <ostream> // for operator<<
void Glonass_Gnav_Navigation_Message::reset()

View File

@ -41,6 +41,9 @@
#include "glonass_gnav_utc_model.h"
#include <bitset>
#include <cstdint>
#include <utility> // for pair
#include <vector> // for vector
#include <string>
/*!

View File

@ -34,6 +34,7 @@
#include <cstdint>
#include <map>
#include <ostream>
#include <set>
#include <string>

View File

@ -31,8 +31,10 @@
*/
#include "gps_cnav_ephemeris.h"
#include "MATH_CONSTANTS.h" // for PI, SPEED_OF_LIGHT
#include <cmath>
Gps_CNAV_Ephemeris::Gps_CNAV_Ephemeris()
{
i_satellite_PRN = 0U;

View File

@ -32,9 +32,8 @@
#ifndef GNSS_SDR_GPS_CNAV_EPHEMERIS_H_
#define GNSS_SDR_GPS_CNAV_EPHEMERIS_H_
#include "GPS_CNAV.h"
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>
#include <cstdint>
/*!

View File

@ -33,7 +33,6 @@
#define GNSS_SDR_GPS_CNAV_IONO_H_
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>

View File

@ -32,7 +32,6 @@
#ifndef GNSS_SDR_GPS_CNAV_UTC_MODEL_H_
#define GNSS_SDR_GPS_CNAV_UTC_MODEL_H_
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>
#include <cstdint>

View File

@ -33,7 +33,6 @@
#define GNSS_SDR_GPS_EPHEMERIS_H_
#include <boost/assign.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/serialization/nvp.hpp>
#include <cstdint>

View File

@ -33,7 +33,6 @@
#define GNSS_SDR_GPS_IONO_H_
#include <boost/assign.hpp>
#include <boost/serialization/nvp.hpp>

View File

@ -34,7 +34,6 @@
#include "GPS_L1_CA.h"
#include "gps_almanac.h"
#include "gps_ephemeris.h"
#include "gps_iono.h"
#include "gps_utc_model.h"

View File

@ -27,7 +27,6 @@ target_link_libraries(gnss-sdr
Glog::glog
Threads::Threads
core_receiver
gnss_sdr_flags
)
target_compile_definitions(gnss-sdr PRIVATE -DGNSS_SDR_VERSION="${VERSION}")

View File

@ -42,20 +42,20 @@
#include "concurrent_map.h"
#include "concurrent_queue.h"
#include "control_thread.h"
#include "gnss_sdr_flags.h"
#include "gps_acq_assist.h"
#include <boost/exception/diagnostic_information.hpp>
#include <boost/exception/exception.hpp> // for exception
#include <boost/filesystem/operations.hpp> // for create_directories, exists
#include <boost/filesystem/path.hpp> // for path, operator<<
#include <boost/system/error_code.hpp> // for error_code
#include <gflags/gflags.h>
#include <glog/logging.h>
#include <chrono>
#include <exception>
#include <iostream>
#include <memory>
#include <string>
#include <boost/exception/diagnostic_information.hpp> // for diagnostic_informatio
#include <boost/exception/exception.hpp> // for exception
#include <boost/filesystem/operations.hpp> // for create_directories, exists
#include <boost/filesystem/path.hpp> // for path, operator<<
#include <boost/system/error_code.hpp> // for error_code
#include <boost/thread/exceptions.hpp> // for thread_resource_error
#include <gflags/gflags.h> // for ShutDownCommandLineFlags
#include <glog/logging.h> // for FLAGS_log_dir
#include <chrono> // for time_point
#include <exception> // for exception
#include <iostream> // for operator<<, endl
#include <memory> // for unique_ptr
#include <string> // for string
#if CUDA_GPU_ACCEL
// For the CUDA runtime routines (prefixed with "cuda_")