aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/experts/expert_nodes.hpp
Commit message (Collapse)AuthorAgeFilesLines
* host: Implement operator<< for data_reader_tLane Kolbly2022-01-051-0/+7
|
* host: Fix typos and small thingsLane Kolbly2021-12-091-1/+1
|
* uhd: Replace Boost mutexes and locks with standard optionsMartin Braun2021-10-191-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a very mechanical task that could almost have been done with sed. Boost versions of mutexes and locks were removed, and replaced with std:: versions. The replacement tables are as follows: == Mutexes == - boost::mutex -> std::mutex - boost::recursive_mutex -> std::recursive_mutex Mutexes behave identically between Boost and std:: and have the same API. == Locks == C++11 has only two types of lock that we use/need in UHD: - std::lock_guard: Identical to boost::lock_guard - std::unique_lock: Identical to boost::unique_lock Boost also has boost::mutex::scoped_lock, which is a typedef for boost::unique_lock<>. However, we often have used scoped_lock where we meant to use lock_guard<>. The name is a bit misleading, "scoped lock" sounding a bit like an RAII mechanism. Therefore, some previous boost::mutex::scoped_lock are now std::lock_guard<>. std::unique_lock is required when doing more than RAII locking (i.e., unlocking, relocking, usage with condition variables, etc.). == Condition Variables == Condition variables were out of the scope of this lock/mutex change, but in UHD, we inconsistently use boost::condition vs. boost::condition_variable. The former is a templated version of the latter, and thus works fine with std::mutex'es. Therefore, some boost::condition_variable where changed to boost::condition. All locks and mutexes use `#include <mutex>`. The corresponding Boost includes were removed. In some cases, this exposed issues with implicit Boost includes elsewhere. The missing explicit includes were added.
* host: Update code base using clang-tidyMartin Braun2021-03-041-26/+26
| | | | | | | | | The checks from the new clang-tidy file are applied to the source tree using: $ find . -name "*.cpp" | sort -u | xargs \ --max-procs 8 --max-args 1 clang-tidy --format-style=file \ --fix -p /path/to/compile_commands.json
* uhd: Replace include guards with pragma onceLane Kolbly2020-04-081-4/+1
| | | | | Pragma once is the more modern version of include guards, eliminating any potential problems with mistyping include guards. Let's use those.
* uhd: Apply clang-format against all .cpp and .hpp files in host/Martin Braun2020-03-031-442/+522
| | | | | Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of files that clang-format gets applied against.
* uhd: Replace boost::function with std::functionMartin Braun2019-11-261-6/+6
| | | | | | | This is mostly a search-and-replace operation, with few exceptions: - boost::function has a clear() method. In C++11, this is achieved by assigning nullptr to the std::function object. - The empty() method is replaced by std::function's bool() operator
* boost: Replaced units::demangle with core::demangle where appropriateMartin Braun2019-08-221-3/+3
| | | | Boost moved this around in version 1.58.
* uhd: Replace all usage of boost::noncopyable with uhd::noncopyableMartin Braun2019-02-151-6/+2
| | | | | | This fixes the build errors that occur due to switching locations of noncopyable.hpp within Boost, and also allows us to remove boost::noncopyable in one fell swoop.
* lib: fix includes for boost::noncopyableMichael Dickens2019-02-111-0/+2
| | | | | | | - expert_nodes.hpp: fix to work with BOOST_VERSION < 105600, since UHD still supports Boost 1.53.00. - gpio_atr_3000.hpp: requires boost::noncopyable header, so replicate that (now) in export_nodes.hpp.
* lib: experts: fixup for including Boost headerMartin Braun2019-01-091-0/+2
| | | | | | Header wasn't included until Boost 1.56. Fixes 5c012cad7858 ("lib: experts: Add potentially missing but...")
* lib: experts: Add potentially missing but sometimes inferred includeMartin Braun2019-01-091-0/+1
| | | | | This adds an include for boost/core/noncopyable.hpp. Without it, builds would potentially fail on Boost 1.69++.
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-0/+472
To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>