diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 00000000000..6f9dadb7de9 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,2 @@ +--- +Checks: '-*,modernize-deprecated-headers,modernize-redundant-void-arg,modernize-replace-random-shuffle,modernize-use-equals-default,modernize-use-equals-delete,modernize-use-nullptr,modernize-use-override,modernize-use-using' diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index cc5a4a504d1..858b695b3ae 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(range_image_incs include/pcl/range_image/bearing_angle_image.h include/pcl/range_image/range_image.h diff --git a/common/src/feature_histogram.cpp b/common/src/feature_histogram.cpp index df9c7d410d2..ccdae01a488 100644 --- a/common/src/feature_histogram.cpp +++ b/common/src/feature_histogram.cpp @@ -65,9 +65,7 @@ pcl::FeatureHistogram::FeatureHistogram (std::size_t const number_of_bins, } pcl::FeatureHistogram::~FeatureHistogram () -{ - -} += default; float pcl::FeatureHistogram::getThresholdMin () const diff --git a/common/src/range_image_planar.cpp b/common/src/range_image_planar.cpp index 5c649aea93f..62630978d05 100644 --- a/common/src/range_image_planar.cpp +++ b/common/src/range_image_planar.cpp @@ -51,8 +51,7 @@ namespace pcl ///////////////////////////////////////////////////////////////////////// RangeImagePlanar::~RangeImagePlanar () - { - } + = default; ///////////////////////////////////////////////////////////////////////// void diff --git a/geometry/CMakeLists.txt b/geometry/CMakeLists.txt index 350fa7619e7..9715fc1023b 100644 --- a/geometry/CMakeLists.txt +++ b/geometry/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(incs "include/pcl/${SUBSYS_NAME}/boost.h" "include/pcl/${SUBSYS_NAME}/eigen.h" diff --git a/io/CMakeLists.txt b/io/CMakeLists.txt index d592a864049..77a4e37e397 100644 --- a/io/CMakeLists.txt +++ b/io/CMakeLists.txt @@ -24,6 +24,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + if(WITH_OPENNI2) set(IMAGE_INCLUDES include/pcl/io/image_metadata_wrapper.h diff --git a/io/src/ascii_io.cpp b/io/src/ascii_io.cpp index 4a1971f1a65..2a5380f65b0 100644 --- a/io/src/ascii_io.cpp +++ b/io/src/ascii_io.cpp @@ -79,8 +79,7 @@ pcl::ASCIIReader::ASCIIReader () ////////////////////////////////////////////////////////////////////////////// pcl::ASCIIReader::~ASCIIReader () -{ -} += default; ////////////////////////////////////////////////////////////////////////////// int diff --git a/io/src/ensenso_grabber.cpp b/io/src/ensenso_grabber.cpp index 06cdabadf49..d2e1b6c3940 100644 --- a/io/src/ensenso_grabber.cpp +++ b/io/src/ensenso_grabber.cpp @@ -312,9 +312,9 @@ pcl::EnsensoGrabber::grabSingleCloud (pcl::PointCloud &cloud) con double timestamp; std::vector pointMap; int width, height; - camera_[itmImages][itmRaw][itmLeft].getBinaryDataInfo (0, 0, 0, 0, 0, ×tamp); // Get raw image timestamp - camera_[itmImages][itmPointMap].getBinaryDataInfo (&width, &height, 0, 0, 0, 0); - camera_[itmImages][itmPointMap].getBinaryData (pointMap, 0); + camera_[itmImages][itmRaw][itmLeft].getBinaryDataInfo (nullptr, nullptr, nullptr, nullptr, nullptr, ×tamp); // Get raw image timestamp + camera_[itmImages][itmPointMap].getBinaryDataInfo (&width, &height, nullptr, nullptr, nullptr, nullptr); + camera_[itmImages][itmPointMap].getBinaryData (pointMap, nullptr); // Copy point cloud and convert in meters cloud.header.stamp = getPCLStamp (timestamp); @@ -971,7 +971,7 @@ pcl::EnsensoGrabber::processGrabbing () NxLibCommand (cmdCapture).execute (); double timestamp; - camera_[itmImages][itmRaw][itmLeft].getBinaryDataInfo (0, 0, 0, 0, 0, ×tamp); + camera_[itmImages][itmRaw][itmLeft].getBinaryDataInfo (nullptr, nullptr, nullptr, nullptr, nullptr, ×tamp); // Gather images if (num_slots () > 0 || num_slots () > 0) @@ -995,7 +995,7 @@ pcl::EnsensoGrabber::processGrabbing () if (collected_pattern) { - camera_[itmImages][itmWithOverlay][itmLeft].getBinaryDataInfo (&width, &height, &channels, &bpe, &isFlt, 0); + camera_[itmImages][itmWithOverlay][itmLeft].getBinaryDataInfo (&width, &height, &channels, &bpe, &isFlt, nullptr); images->first.header.stamp = images->second.header.stamp = getPCLStamp (timestamp); images->first.width = images->second.width = width; images->first.height = images->second.height = height; @@ -1003,12 +1003,12 @@ pcl::EnsensoGrabber::processGrabbing () images->second.data.resize (width * height * sizeof(float)); images->first.encoding = images->second.encoding = getOpenCVType (channels, bpe, isFlt); - camera_[itmImages][itmWithOverlay][itmLeft].getBinaryData (images->first.data.data (), images->first.data.size (), 0, 0); - camera_[itmImages][itmWithOverlay][itmRight].getBinaryData (images->second.data.data (), images->second.data.size (), 0, 0); + camera_[itmImages][itmWithOverlay][itmLeft].getBinaryData (images->first.data.data (), images->first.data.size (), nullptr, nullptr); + camera_[itmImages][itmWithOverlay][itmRight].getBinaryData (images->second.data.data (), images->second.data.size (), nullptr, nullptr); } else { - camera_[itmImages][itmRaw][itmLeft].getBinaryDataInfo (&width, &height, &channels, &bpe, &isFlt, 0); + camera_[itmImages][itmRaw][itmLeft].getBinaryDataInfo (&width, &height, &channels, &bpe, &isFlt, nullptr); images->first.header.stamp = images->second.header.stamp = getPCLStamp (timestamp); images->first.width = images->second.width = width; images->first.height = images->second.height = height; @@ -1016,8 +1016,8 @@ pcl::EnsensoGrabber::processGrabbing () images->second.data.resize (width * height * sizeof(float)); images->first.encoding = images->second.encoding = getOpenCVType (channels, bpe, isFlt); - camera_[itmImages][itmRaw][itmLeft].getBinaryData (images->first.data.data (), images->first.data.size (), 0, 0); - camera_[itmImages][itmRaw][itmRight].getBinaryData (images->second.data.data (), images->second.data.size (), 0, 0); + camera_[itmImages][itmRaw][itmLeft].getBinaryData (images->first.data.data (), images->first.data.size (), nullptr, nullptr); + camera_[itmImages][itmRaw][itmRight].getBinaryData (images->second.data.data (), images->second.data.size (), nullptr, nullptr); } } @@ -1033,8 +1033,8 @@ pcl::EnsensoGrabber::processGrabbing () // Get info about the computed point map and copy it into a std::vector std::vector pointMap; int width, height; - camera_[itmImages][itmPointMap].getBinaryDataInfo (&width, &height, 0, 0, 0, 0); - camera_[itmImages][itmPointMap].getBinaryData (pointMap, 0); + camera_[itmImages][itmPointMap].getBinaryDataInfo (&width, &height, nullptr, nullptr, nullptr, nullptr); + camera_[itmImages][itmPointMap].getBinaryData (pointMap, nullptr); // Copy point cloud and convert in meters cloud->header.stamp = getPCLStamp (timestamp); diff --git a/io/src/io_exception.cpp b/io/src/io_exception.cpp index 7b3f57cea88..5e615ec8239 100644 --- a/io/src/io_exception.cpp +++ b/io/src/io_exception.cpp @@ -48,8 +48,7 @@ pcl::io::IOException::IOException (const std::string& function_name, const std:: } pcl::io::IOException::~IOException () noexcept -{ -} += default; pcl::io::IOException& pcl::io::IOException::operator = (const IOException& exception) diff --git a/io/src/openni_camera/openni_driver.cpp b/io/src/openni_camera/openni_driver.cpp index 070c6b810e0..a45811a061e 100644 --- a/io/src/openni_camera/openni_driver.cpp +++ b/io/src/openni_camera/openni_driver.cpp @@ -557,12 +557,7 @@ openni_wrapper::OpenNIDriver::DeviceContext::DeviceContext (const xn::NodeInfo& ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// openni_wrapper::OpenNIDriver::DeviceContext::DeviceContext (const DeviceContext& other) -: device_node (other.device_node) -, image_node (other.image_node) -, depth_node (other.depth_node) -, ir_node (other.ir_node) -, device (other.device) -{ -} + += default; #endif diff --git a/io/src/openni_camera/openni_exception.cpp b/io/src/openni_camera/openni_exception.cpp index 540a71009de..4b164bea20e 100644 --- a/io/src/openni_camera/openni_exception.cpp +++ b/io/src/openni_camera/openni_exception.cpp @@ -55,8 +55,7 @@ OpenNIException::OpenNIException (const std::string& function_name, const std::s } OpenNIException::~OpenNIException () noexcept -{ -} += default; OpenNIException& OpenNIException::operator = (const OpenNIException& exception) noexcept { diff --git a/io/src/openni_camera/openni_image_bayer_grbg.cpp b/io/src/openni_camera/openni_image_bayer_grbg.cpp index b86c9aa340a..eb2de73f910 100644 --- a/io/src/openni_camera/openni_image_bayer_grbg.cpp +++ b/io/src/openni_camera/openni_image_bayer_grbg.cpp @@ -56,8 +56,7 @@ openni_wrapper::ImageBayerGRBG::ImageBayerGRBG (pcl::shared_ptr image_meta_data) noex } ImageRGB24::~ImageRGB24 () noexcept -{ -} += default; void ImageRGB24::fillGrayscale (unsigned width, unsigned height, unsigned char* gray_buffer, unsigned gray_line_step) const { diff --git a/io/src/openni_camera/openni_image_yuv_422.cpp b/io/src/openni_camera/openni_image_yuv_422.cpp index fc57d4f58c1..e74d8c30e1f 100644 --- a/io/src/openni_camera/openni_image_yuv_422.cpp +++ b/io/src/openni_camera/openni_image_yuv_422.cpp @@ -53,8 +53,7 @@ ImageYUV422::ImageYUV422 (pcl::shared_ptr image_meta_data) no } ImageYUV422::~ImageYUV422 () noexcept -{ -} += default; bool ImageYUV422::isResizingSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const { diff --git a/io/src/vlp_grabber.cpp b/io/src/vlp_grabber.cpp index ea15158de62..adcb8b20519 100644 --- a/io/src/vlp_grabber.cpp +++ b/io/src/vlp_grabber.cpp @@ -59,8 +59,7 @@ pcl::VLPGrabber::VLPGrabber (const boost::asio::ip::address& ipAddress, ///////////////////////////////////////////////////////////////////////////// pcl::VLPGrabber::~VLPGrabber () noexcept -{ -} += default; ///////////////////////////////////////////////////////////////////////////// void diff --git a/io/tools/openni_pcd_recorder.cpp b/io/tools/openni_pcd_recorder.cpp index 6d30feecb70..125a5a2e3e1 100644 --- a/io/tools/openni_pcd_recorder.cpp +++ b/io/tools/openni_pcd_recorder.cpp @@ -101,7 +101,7 @@ template class PCDBuffer { public: - PCDBuffer () {} + PCDBuffer () = default; bool pushBack (typename PointCloud::ConstPtr); // thread-save wrapper for push_back() method of ciruclar_buffer diff --git a/kdtree/CMakeLists.txt b/kdtree/CMakeLists.txt index 826e902663d..bede5095242 100644 --- a/kdtree/CMakeLists.txt +++ b/kdtree/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(srcs src/kdtree_flann.cpp ) diff --git a/ml/CMakeLists.txt b/ml/CMakeLists.txt index 8870a42e069..53dc527a6d3 100644 --- a/ml/CMakeLists.txt +++ b/ml/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(incs "include/pcl/${SUBSYS_NAME}/branch_estimator.h" "include/pcl/${SUBSYS_NAME}/feature_handler.h" diff --git a/ml/src/kmeans.cpp b/ml/src/kmeans.cpp index 32c5aeb5d5f..dea89c03934 100644 --- a/ml/src/kmeans.cpp +++ b/ml/src/kmeans.cpp @@ -58,7 +58,7 @@ pcl::Kmeans::Kmeans(unsigned int num_points, unsigned int num_dimensions) {} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -pcl::Kmeans::~Kmeans() {} +pcl::Kmeans::~Kmeans() = default; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void diff --git a/ml/src/svm.cpp b/ml/src/svm.cpp index ea394254851..379ee3458ba 100644 --- a/ml/src/svm.cpp +++ b/ml/src/svm.cpp @@ -302,14 +302,14 @@ class QMatrix { get_QD() const = 0; virtual void swap_index(int i, int j) const = 0; - virtual ~QMatrix() {} + virtual ~QMatrix() = default; }; class Kernel : public QMatrix { public: Kernel(int l, svm_node* const* x, const svm_parameter& param); - ~Kernel(); + ~Kernel() override; static double k_function(const svm_node* x, const svm_node* y, const svm_parameter& param); @@ -520,9 +520,9 @@ Kernel::k_function(const svm_node* x, const svm_node* y, const svm_parameter& pa class Solver { public: - Solver(){}; + Solver() = default; - virtual ~Solver(){}; + virtual ~Solver() = default; struct SolutionInfo { double obj; @@ -1173,7 +1173,7 @@ Solver::calculate_rho() class Solver_NU : public Solver { public: - Solver_NU() {} + Solver_NU() = default; void Solve(int l, @@ -1477,7 +1477,7 @@ class SVC_Q : public Kernel { swap(QD[i], QD[j]); } - ~SVC_Q() + ~SVC_Q() override { delete[] y; delete cache; @@ -1531,7 +1531,7 @@ class ONE_CLASS_Q : public Kernel { swap(QD[i], QD[j]); } - ~ONE_CLASS_Q() + ~ONE_CLASS_Q() override { delete cache; delete[] QD; @@ -1607,7 +1607,7 @@ class SVR_Q : public Kernel { return QD; } - ~SVR_Q() + ~SVR_Q() override { delete cache; delete[] sign; diff --git a/octree/CMakeLists.txt b/octree/CMakeLists.txt index d33c65f5fa7..a5fa090efe4 100644 --- a/octree/CMakeLists.txt +++ b/octree/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(srcs src/octree_inst.cpp ) diff --git a/sample_consensus/CMakeLists.txt b/sample_consensus/CMakeLists.txt index 18761e8a5d0..6cce2954f09 100644 --- a/sample_consensus/CMakeLists.txt +++ b/sample_consensus/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(srcs src/sac.cpp src/sac_model_circle.cpp diff --git a/search/CMakeLists.txt b/search/CMakeLists.txt index 46f463208a2..db09c493f4a 100644 --- a/search/CMakeLists.txt +++ b/search/CMakeLists.txt @@ -12,6 +12,9 @@ if(NOT build) return() endif() +### ---[ Generate compile_commands.json for clang-tidy +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + set(srcs src/search.cpp src/kdtree.cpp