Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix cpp lint problems #1990

Closed
StrikerRUS opened this issue Feb 2, 2019 · 48 comments
Closed

fix cpp lint problems #1990

StrikerRUS opened this issue Feb 2, 2019 · 48 comments

Comments

@StrikerRUS
Copy link
Collaborator

StrikerRUS commented Feb 2, 2019

Style guide ref: http://google.github.io/styleguide/cppguide.html.

90127b5

Total errors found: 853

pip install cpplint
cpplint --linelength=999 --recursive ./src ./include
Report (Clickable):
./include\LightGBM\json11.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\json11.hpp:80:  public: should be indented +1 space inside class Json  [whitespace/indent] [3]
./include\LightGBM\json11.hpp:92:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:165:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:180:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
./include\LightGBM\json11.hpp:181:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:186:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:205:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:207:  private: should be indented +1 space inside class Json  [whitespace/indent] [3]
./include\LightGBM\json11.hpp:213:  protected: should be indented +1 space inside class JsonValue  [whitespace/indent] [3]
./include\LightGBM\json11.hpp:220:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:204:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\json11.hpp
./include\LightGBM\prediction_early_stop.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\prediction_early_stop.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_  [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:32:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_"  [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:7:  Found C system header after C++ system header. Should be: prediction_early_stop.h, c system, c++ system, other.  [build/include_
Done processing ./include\LightGBM\prediction_early_stop.h
./src\boosting\prediction_early_stop.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\prediction_early_stop.cpp:11:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./include\LightGBM\utils\threading.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\threading.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_THREADING_H_  [build/header_guard] [5]
./include\LightGBM\utils\threading.h:41:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_THREADING_H_"  [build/header_guard] [5]
./include\LightGBM\utils\threading.h:12:  public: should be indented +1 space inside class Threading  [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\threading.h
./src\objective\multiclass_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\multiclass_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:259:  #endif line should be "#endif  // SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:17:  public: should be indented +1 space inside class MulticlassSoftmax  [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:149:  private: should be indented +1 space inside class MulticlassSoftmax  [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:167:  public: should be indented +1 space inside class MulticlassOVA  [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:249:  private: should be indented +1 space inside class MulticlassOVA  [whitespace/indent] [3]
./src\objective\multiclass_objective.hpp:137:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:225:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\multiclass_objective.hpp
./src\boosting\boosting.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\boosting.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./src\objective\regression_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\regression_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\regression_objective.hpp:810:  #endif line should be "#endif  // SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\regression_objective.hpp:68:  public: should be indented +1 space inside class RegressionL2loss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:164:  protected: should be indented +1 space inside class RegressionL2loss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:179:  public: should be indented +1 space inside class RegressionL1loss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:297:  public: should be indented +1 space inside class RegressionHuberLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:351:  private: should be indented +1 space inside class RegressionHuberLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:359:  public: should be indented +1 space inside class RegressionFairLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:396:  private: should be indented +1 space inside class RegressionFairLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:406:  public: should be indented +1 space inside class RegressionPoissonLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:429:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\regression_objective.hpp:480:  private: should be indented +1 space inside class RegressionPoissonLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:486:  public: should be indented +1 space inside class RegressionQuantileloss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:606:  private: should be indented +1 space inside class RegressionQuantileloss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:615:  public: should be indented +1 space inside class RegressionMAPELOSS  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:724:  private: should be indented +1 space inside class RegressionMAPELOSS  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:734:  public: should be indented +1 space inside class RegressionGammaLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:769:  public: should be indented +1 space inside class RegressionTweedieLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:802:  private: should be indented +1 space inside class RegressionTweedieLoss  [whitespace/indent] [3]
./src\objective\regression_objective.hpp:641:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:774:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:774:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\objective\regression_objective.hpp
./src\io\metadata.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\io\metadata.cpp
./src\io\dataset.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dataset.cpp:7:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\dataset.cpp:27:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset.cpp:60:  Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark  [runtime/references] [2]
./src\io\dataset.cpp:138:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./src\io\dataset.cpp:748:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:777:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:810:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:838:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\io\dataset.cpp
./src\treelearner\parallel_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\parallel_tree_learner.h:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:211:  #endif line should be "#endif  // SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:4:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:6:  Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\parallel_tree_learner.h:8:  Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\parallel_tree_learner.h:10:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_ord
./src\treelearner\parallel_tree_learner.h:11:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_ord
./src\treelearner\parallel_tree_learner.h:12:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_ord
./src\treelearner\parallel_tree_learner.h:23:  public: should be indented +1 space inside class FeatureParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:28:  protected: should be indented +1 space inside class FeatureParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:31:  private: should be indented +1 space inside class FeatureParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:49:  public: should be indented +1 space inside class DataParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:55:  protected: should be indented +1 space inside class DataParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:69:  private: should be indented +1 space inside class DataParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:103:  public: should be indented +1 space inside class VotingParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:109:  protected: should be indented +1 space inside class VotingParallelTreeLearner  [whitespace/indent] [3]
./src\treelearner\parallel_tree_learner.h:139:  private: should be indented +1 space inside class VotingParallelTreeLearner  [whitespace/indent] [3]
Done processing ./src\treelearner\parallel_tree_learner.h
./src\treelearner\leaf_splits.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\leaf_splits.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_LEAF_SPLITS_HPP_  [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:162:  #endif line should be "#endif  // SRC_TREELEARNER_LEAF_SPLITS_HPP_"  [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:6:  Found C system header after C++ system header. Should be: leaf_splits.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:9:  Found C++ system header after other header. Should be: leaf_splits.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:17:  public: should be indented +1 space inside class LeafSplits  [whitespace/indent] [3]
./src\treelearner\leaf_splits.hpp:18:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\treelearner\leaf_splits.hpp:144:  private: should be indented +1 space inside class LeafSplits  [whitespace/indent] [3]
Done processing ./src\treelearner\leaf_splits.hpp
./include\LightGBM\utils\log.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\log.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_LOG_H_  [build/header_guard] [5]
./include\LightGBM\utils\log.h:103:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_LOG_H_"  [build/header_guard] [5]
./include\LightGBM\utils\log.h:44:  public: should be indented +1 space inside class Log  [whitespace/indent] [3]
./include\LightGBM\utils\log.h:86:  private: should be indented +1 space inside class Log  [whitespace/indent] [3]
./include\LightGBM\utils\log.h:83:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\log.h
./include\LightGBM\utils\pipeline_reader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\pipeline_reader.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_  [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:67:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:9:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\utils\pipeline_reader.h:13:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\pipeline_reader.h:21:  public: should be indented +1 space inside class PipelineReader  [whitespace/indent] [3]
./include\LightGBM\utils\pipeline_reader.h:58:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./src\treelearner\serial_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\serial_tree_learner.h:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:183:  #endif line should be "#endif  // SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:16:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\serial_tree_learner.h:17:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\serial_tree_learner.h:18:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\serial_tree_learner.h:19:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\serial_tree_learner.h:20:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order]
./src\treelearner\serial_tree_learner.h:27:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:35:  public: should be indented +1 space inside class SerialTreeLearner  [whitespace/indent] [3]
./src\treelearner\serial_tree_learner.h:78:  protected: should be indented +1 space inside class SerialTreeLearner  [whitespace/indent] [3]
./src\treelearner\serial_tree_learner.h:105:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./include\LightGBM\lightgbm_R.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\lightgbm_R.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_LIGHTGBM_R_H_  [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:525:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_LIGHTGBM_R_H_"  [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:7:  Found C system header after C++ system header. Should be: lightgbm_R.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./include\LightGBM\lightgbm_R.h
./src\treelearner\gpu_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:6:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:7:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:8:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:10:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:11:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:106:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:111:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:113:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:154:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:154:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:173:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:173:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:178:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:178:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:186:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:194:  Using C-style cast.  Use reinterpret_cast<HistType*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:212:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:212:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:321:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./src\treelearner\gpu_tree_learner.cpp:332:  Using C-style cast.  Use static_cast<double>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:334:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:341:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:341:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:356:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:363:  Using C-style cast.  Use reinterpret_cast<Feature4*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:367:  Using C-style cast.  Use reinterpret_cast<Feature4*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:372:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:414:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:414:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:426:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:426:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:433:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:433:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:438:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:438:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:473:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:473:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:477:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:477:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:487:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:487:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:495:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:495:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:499:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:499:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:513:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:513:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:675:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:675:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:708:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:710:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:723:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:723:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:729:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:729:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:735:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:735:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:785:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:785:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:819:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:819:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:915:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:915:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:928:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:928:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:948:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:948:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:985:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:985:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1010:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1010:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1064:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1064:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:564:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./src\network\network.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\network.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\network\network.cpp:7:  Found C++ system header after other header. Should be: network.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\network.cpp:8:  Found C++ system header after other header. Should be: network.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\network.cpp
./src\boosting\score_updater.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\score_updater.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_SCORE_UPDATER_HPP_  [build/header_guard] [5]
./src\boosting\score_updater.hpp:123:  #endif line should be "#endif  // SRC_BOOSTING_SCORE_UPDATER_HPP_"  [build/header_guard] [5]
./src\boosting\score_updater.hpp:18:  public: should be indented +1 space inside class ScoreUpdater  [whitespace/indent] [3]
./src\boosting\score_updater.hpp:112:  private: should be indented +1 space inside class ScoreUpdater  [whitespace/indent] [3]
./src\boosting\score_updater.hpp:118:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\boosting\score_updater.hpp
./src\io\dataset_loader.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dataset_loader.cpp:394:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset_loader.cpp:394:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\dataset_loader.cpp:417:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset_loader.cpp:417:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\io\dataset_loader.cpp
./include\LightGBM\dataset.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\dataset.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_H_  [build/header_guard] [5]
./include\LightGBM\dataset.h:625:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_DATASET_H_"  [build/header_guard] [5]
./include\LightGBM\dataset.h:17:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\dataset.h:37:  public: should be indented +1 space inside class Metadata  [whitespace/indent] [3]
./include\LightGBM\dataset.h:209:  private: should be indented +1 space inside class Metadata  [whitespace/indent] [3]
./include\LightGBM\dataset.h:250:  public: should be indented +1 space inside class Parser  [whitespace/indent] [3]
./include\LightGBM\dataset.h:279:  public: should be indented +1 space inside class Dataset  [whitespace/indent] [3]
./include\LightGBM\dataset.h:287:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references
./include\LightGBM\dataset.h:401:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins  [runtime/referenc
./include\LightGBM\dataset.h:584:  private: should be indented +1 space inside class Dataset  [whitespace/indent] [3]
Done processing ./include\LightGBM\dataset.h
./src\boosting\gbdt.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt.h:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_GBDT_H_  [build/header_guard] [5]
./src\boosting\gbdt.h:492:  #endif line should be "#endif  // SRC_BOOSTING_GBDT_H_"  [build/header_guard] [5]
./src\boosting\gbdt.h:11:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:12:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:13:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:14:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:15:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:16:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:16:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.h:17:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:19:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\boosting\gbdt.h:27:  public: should be indented +1 space inside class GBDT  [whitespace/indent] [3]
./src\boosting\gbdt.h:137:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:173:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:180:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:268:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:276:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:355:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:357:  protected: should be indented +1 space inside class GBDT  [whitespace/indent] [3]
./src\boosting\gbdt.h:381:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
./src\boosting\gbdt.h:87:  Add #include <utility> for swap  [build/include_what_you_use] [4]
./src\boosting\gbdt.h:330:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
Done processing ./src\boosting\gbdt.h
./src\boosting\dart.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\dart.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_DART_HPP_  [build/header_guard] [5]
./src\boosting\dart.hpp:205:  #endif line should be "#endif  // SRC_BOOSTING_DART_HPP_"  [build/header_guard] [5]
./src\boosting\dart.hpp:6:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\dart.hpp:8:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:9:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:10:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:11:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:18:  public: should be indented +1 space inside class DART  [whitespace/indent] [3]
./src\boosting\dart.hpp:87:  private: should be indented +1 space inside class DART  [whitespace/indent] [3]
./src\boosting\dart.hpp:112:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
Done processing ./src\boosting\dart.hpp
./src\io\dense_nbits_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dense_nbits_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_DENSE_NBITS_BIN_HPP_  [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:389:  #endif line should be "#endif  // SRC_IO_DENSE_NBITS_BIN_HPP_"  [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:15:  public: should be indented +1 space inside class Dense4bitsBinIterator  [whitespace/indent] [3]
./src\io\dense_nbits_bin.hpp:29:  private: should be indented +1 space inside class Dense4bitsBinIterator  [whitespace/indent] [3]
./src\io\dense_nbits_bin.hpp:38:  public: should be indented +1 space inside class Dense4bitsBin  [whitespace/indent] [3]
./src\io\dense_nbits_bin.hpp:40:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:213:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:274:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:365:  protected: should be indented +1 space inside class Dense4bitsBin  [whitespace/indent] [3]
Done processing ./src\io\dense_nbits_bin.hpp
./include\LightGBM\utils\file_io.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\file_io.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_  [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:74:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_"  [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:69:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\file_io.h
./include\LightGBM\dataset_loader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\dataset_loader.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_LOADER_H_  [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:78:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_DATASET_LOADER_H_"  [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:9:  public: should be indented +1 space inside class DatasetLoader  [whitespace/indent] [3]
./include\LightGBM\dataset_loader.h:31:  private: should be indented +1 space inside class DatasetLoader  [whitespace/indent] [3]
./include\LightGBM\dataset_loader.h:47:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data  [runtime/references] [2]
./include\LightGBM\dataset_loader.h:76:  Namespace should be terminated with "// namespace LightGBM"  [readability/namespace] [5]
./include\LightGBM\dataset_loader.h:71:  Add #include <string> for string  [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:71:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset_loader.h
./src\objective\xentropy_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\xentropy_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:269:  #endif line should be "#endif  // SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:39:  public: should be indented +1 space inside class CrossEntropy  [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:60:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\xentropy_objective.hpp:130:  private: should be indented +1 space inside class CrossEntropy  [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:143:  public: should be indented +1 space inside class CrossEntropyLambda  [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:163:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\xentropy_objective.hpp:254:  private: should be indented +1 space inside class CrossEntropyLambda  [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:124:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:148:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:226:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\xentropy_objective.hpp
./src\io\config.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\config.cpp:157:  Use int16/int64/etc, rather than the C type short  [runtime/int] [4]
Done processing ./src\io\config.cpp
./src\treelearner\gpu_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.h:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_GPU_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:284:  #endif line should be "#endif  // SRC_TREELEARNER_GPU_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:10:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:15:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:16:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:17:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:18:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:19:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:31:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:39:  public: should be indented +1 space inside class GPUTreeLearner  [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:60:  protected: should be indented +1 space inside class GPUTreeLearner  [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:67:  private: should be indented +1 space inside class GPUTreeLearner  [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:172:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:176:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:180:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:272:  public: should be indented +1 space inside class GPUTreeLearner  [whitespace/indent] [3]
./src\treelearner\gpu_tree_learner.h:184:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.h
./include\LightGBM\feature_group.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\feature_group.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_FEATURE_GROUP_H_  [build/header_guard] [5]
./include\LightGBM\feature_group.h:234:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_FEATURE_GROUP_H_"  [build/header_guard] [5]
./include\LightGBM\feature_group.h:19:  public: should be indented +1 space inside class FeatureGroup  [whitespace/indent] [3]
./include\LightGBM\feature_group.h:31:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/refer
./include\LightGBM\feature_group.h:54:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/refer
./include\LightGBM\feature_group.h:217:  private: should be indented +1 space inside class FeatureGroup  [whitespace/indent] [3]
Done processing ./include\LightGBM\feature_group.h
./src\boosting\goss.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\goss.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_GOSS_HPP_  [build/header_guard] [5]
./src\boosting\goss.hpp:216:  #endif line should be "#endif  // SRC_BOOSTING_GOSS_HPP_"  [build/header_guard] [5]
./src\boosting\goss.hpp:10:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\goss.hpp:12:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:13:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:14:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:15:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:16:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:16:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\goss.hpp:17:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:27:  public: should be indented +1 space inside class GOSS  [whitespace/indent] [3]
./src\boosting\goss.hpp:87:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
./src\boosting\goss.hpp:211:  private: should be indented +1 space inside class GOSS  [whitespace/indent] [3]
Done processing ./src\boosting\goss.hpp
./src\treelearner\data_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\data_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:3:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/
./src\treelearner\data_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/
./src\treelearner\data_parallel_tree_learner.cpp:6:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/
./src\treelearner\data_parallel_tree_learner.cpp:138:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./src\treelearner\voting_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\voting_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:3:  Found C system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [buil
./src\treelearner\voting_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [bu
./src\treelearner\voting_parallel_tree_learner.cpp:6:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [bu
./src\treelearner\voting_parallel_tree_learner.cpp:7:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [bu
./src\treelearner\voting_parallel_tree_learner.cpp:134:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\io\sparse_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\sparse_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_SPARSE_BIN_HPP_  [build/header_guard] [5]
./src\io\sparse_bin.hpp:456:  #endif line should be "#endif  // SRC_IO_SPARSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\sparse_bin.hpp:23:  public: should be indented +1 space inside class SparseBinIterator  [whitespace/indent] [3]
./src\io\sparse_bin.hpp:55:  private: should be indented +1 space inside class SparseBinIterator  [whitespace/indent] [3]
./src\io\sparse_bin.hpp:70:  public: should be indented +1 space inside class SparseBin  [whitespace/indent] [3]
./src\io\sparse_bin.hpp:74:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\sparse_bin.hpp:144:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:207:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:410:  protected: should be indented +1 space inside class SparseBin  [whitespace/indent] [3]
./src\io\sparse_bin.hpp:254:  Add #include <algorithm> for sort  [build/include_what_you_use] [4]
./src\io\sparse_bin.hpp:416:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./src\io\sparse_bin.hpp
./src\network\linkers_socket.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers_socket.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\network\linkers_socket.cpp:14:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:15:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./src\network\linkers_socket.cpp
./include\LightGBM\utils\array_args.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\array_args.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_  [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:191:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_"  [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:6:  Found C system header after C++ system header. Should be: array_args.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\utils\array_args.h:15:  public: should be indented +1 space inside class ArrayArgs  [whitespace/indent] [3]
./include\LightGBM\utils\array_args.h:113:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./include\LightGBM\utils\array_args.h:124:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\array_args.h
./src\treelearner\feature_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\feature_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:3:  Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other.  [
./src\treelearner\feature_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other.  [
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./src\boosting\rf.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\rf.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_RF_HPP_  [build/header_guard] [5]
./src\boosting\rf.hpp:209:  #endif line should be "#endif  // SRC_BOOSTING_RF_HPP_"  [build/header_guard] [5]
./src\boosting\rf.hpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\rf.hpp:9:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:10:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:11:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:12:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:19:  public: should be indented +1 space inside class RF  [whitespace/indent] [3]
./src\boosting\rf.hpp:202:  private: should be indented +1 space inside class RF  [whitespace/indent] [3]
Done processing ./src\boosting\rf.hpp
./src\application\predictor.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\application\predictor.hpp:1:  #ifndef header guard has wrong style, please use: SRC_APPLICATION_PREDICTOR_HPP_  [build/header_guard] [5]
./src\application\predictor.hpp:257:  #endif line should be "#endif  // SRC_APPLICATION_PREDICTOR_HPP_"  [build/header_guard] [5]
./src\application\predictor.hpp:26:  public: should be indented +1 space inside class Predictor  [whitespace/indent] [3]
./src\application\predictor.hpp:41:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\application\predictor.hpp:42:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\application\predictor.hpp:210:  private: should be indented +1 space inside class Predictor  [whitespace/indent] [3]
Done processing ./src\application\predictor.hpp
./src\treelearner\data_partition.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\data_partition.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_DATA_PARTITION_HPP_  [build/header_guard] [5]
./src\treelearner\data_partition.hpp:225:  #endif line should be "#endif  // SRC_TREELEARNER_DATA_PARTITION_HPP_"  [build/header_guard] [5]
./src\treelearner\data_partition.hpp:18:  public: should be indented +1 space inside class DataPartition  [whitespace/indent] [3]
./src\treelearner\data_partition.hpp:191:  private: should be indented +1 space inside class DataPartition  [whitespace/indent] [3]
./src\treelearner\data_partition.hpp:83:  Add #include <algorithm> for copy  [build/include_what_you_use] [4]
Done processing ./src\treelearner\data_partition.hpp
./include\LightGBM\tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\tree_learner.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_LEARNER_H_  [build/header_guard] [5]
./include\LightGBM\tree_learner.h:100:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_TREE_LEARNER_H_"  [build/header_guard] [5]
./include\LightGBM\tree_learner.h:9:  Found C++ system header after other header. Should be: tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\tree_learner.h:11:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./include\LightGBM\tree_learner.h:24:  public: should be indented +1 space inside class TreeLearner  [whitespace/indent] [3]
./include\LightGBM\tree_learner.h:51:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
./include\LightGBM\tree_learner.h:94:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree_learner.h
./src\io\file_io.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\file_io.cpp:45:  private: should be indented +1 space inside struct LocalFile  [whitespace/indent] [3]
./src\io\file_io.cpp:51:  For a static/global string constant, use a C style string instead: "const char kHdfsProto[]".  [runtime/string] [4]
./src\io\file_io.cpp:89:  private: should be indented +1 space inside struct HDFSFile  [whitespace/indent] [3]
./src\io\file_io.cpp:95:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
Done processing ./src\io\file_io.cpp
./include\LightGBM\metric.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\metric.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_METRIC_H_  [build/header_guard] [5]
./include\LightGBM\metric.h:139:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_METRIC_H_"  [build/header_guard] [5]
./include\LightGBM\metric.h:21:  public: should be indented +1 space inside class Metric  [whitespace/indent] [3]
./include\LightGBM\metric.h:60:  public: should be indented +1 space inside class DCGCalculator  [whitespace/indent] [3]
./include\LightGBM\metric.h:126:  private: should be indented +1 space inside class DCGCalculator  [whitespace/indent] [3]
./include\LightGBM\metric.h:53:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\metric.h
./src\io\tree.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\tree.cpp:345:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
Done processing ./src\io\tree.cpp
./src\treelearner\feature_histogram.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\feature_histogram.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_  [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:821:  #endif line should be "#endif  // SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_"  [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:6:  Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:7:  Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:9:  Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:10:  Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4
./src\treelearner\feature_histogram.hpp:15:  public: should be indented +1 space inside class FeatureMetainfo  [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:30:  public: should be indented +1 space inside class FeatureHistogram  [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:452:  private: should be indented +1 space inside class FeatureHistogram  [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:647:  public: should be indented +1 space inside class HistogramPool  [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:668:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\feature_histogram.hpp:807:  private: should be indented +1 space inside class HistogramPool  [whitespace/indent] [3]
./src\treelearner\feature_histogram.hpp:439:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:790:  Add #include <utility> for swap  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:816:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\feature_histogram.hpp
./include\LightGBM\utils\text_reader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\text_reader.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_  [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:326:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:22:  public: should be indented +1 space inside class TextReader  [whitespace/indent] [3]
./include\LightGBM\utils\text_reader.h:104:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:104:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:114:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:114:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:162:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:171:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:171:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:198:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:211:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:211:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:254:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:254:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:267:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:267:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:303:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:303:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:309:  private: should be indented +1 space inside class TextReader  [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\text_reader.h
./include\LightGBM\boosting.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\boosting.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BOOSTING_H_  [build/header_guard] [5]
./include\LightGBM\boosting.h:304:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_BOOSTING_H_"  [build/header_guard] [5]
./include\LightGBM\boosting.h:23:  public: should be indented +1 space inside class Boosting  [whitespace/indent] [3]
./include\LightGBM\boosting.h:297:  public: should be indented +1 space inside class GBDTBase  [whitespace/indent] [3]
Done processing ./include\LightGBM\boosting.h
./src\metric\binary_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\binary_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_BINARY_METRIC_HPP_  [build/header_guard] [5]
./src\metric\binary_metric.hpp:263:  #endif line should be "#endif  // SRC_METRIC_BINARY_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\binary_metric.hpp:21:  public: should be indented +1 space inside class BinaryMetric  [whitespace/indent] [3]
./src\metric\binary_metric.hpp:95:  private: should be indented +1 space inside class BinaryMetric  [whitespace/indent] [3]
./src\metric\binary_metric.hpp:112:  public: should be indented +1 space inside class BinaryLoglossMetric  [whitespace/indent] [3]
./src\metric\binary_metric.hpp:136:  public: should be indented +1 space inside class BinaryErrorMetric  [whitespace/indent] [3]
./src\metric\binary_metric.hpp:156:  public: should be indented +1 space inside class AUCMetric  [whitespace/indent] [3]
./src\metric\binary_metric.hpp:249:  private: should be indented +1 space inside class AUCMetric  [whitespace/indent] [3]
./src\metric\binary_metric.hpp:259:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\binary_metric.hpp
./src\metric\dcg_calculator.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\dcg_calculator.cpp:25:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
./include\LightGBM\network.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\network.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_NETWORK_H_  [build/header_guard] [5]
./include\LightGBM\network.h:307:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_NETWORK_H_"  [build/header_guard] [5]
./include\LightGBM\network.h:20:  public: should be indented +1 space inside class BruckMap  [whitespace/indent] [3]
./include\LightGBM\network.h:54:  public: should be indented +1 space inside class RecursiveHalvingMap  [whitespace/indent] [3]
./include\LightGBM\network.h:87:  public: should be indented +1 space inside class Network  [whitespace/indent] [3]
./include\LightGBM\network.h:166:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:190:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:214:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:236:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local  [runtime/references] [2]
./include\LightGBM\network.h:259:  private: should be indented +1 space inside class Network  [whitespace/indent] [3]
Done processing ./include\LightGBM\network.h
./src\lightgbm_R.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\lightgbm_R.cpp:34:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./include\LightGBM\utils\openmp_wrapper.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\openmp_wrapper.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_  [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:75:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:8:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\utils\openmp_wrapper.h:11:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\openmp_wrapper.h:14:  public: should be indented +1 space inside class ThreadExceptionHelper  [whitespace/indent] [3]
./include\LightGBM\utils\openmp_wrapper.h:34:  private: should be indented +1 space inside class ThreadExceptionHelper  [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\io\config_auto.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\config_auto.cpp:275:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:281:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:288:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:345:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:348:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:357:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:360:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:379:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:382:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:385:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:460:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:488:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:495:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:504:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:507:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:510:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:521:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
./src\io\config_auto.cpp:626:  Namespace should be terminated with "// namespace LightGBM"  [readability/namespace] [5]
Done processing ./src\io\config_auto.cpp
./include\LightGBM\tree.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\tree.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_H_  [build/header_guard] [5]
./include\LightGBM\tree.h:517:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_TREE_H_"  [build/header_guard] [5]
./include\LightGBM\tree.h:21:  public: should be indented +1 space inside class Tree  [whitespace/indent] [3]
./include\LightGBM\tree.h:206:  private: should be indented +1 space inside class Tree  [whitespace/indent] [3]
./include\LightGBM\tree.h:262:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
./include\LightGBM\tree.h:271:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
./include\LightGBM\tree.h:334:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#e
-line comments.  [readability/multiline_comment] [5]
./include\LightGBM\tree.h:334:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./include\LightGBM\tree.h:334:  Should have a space between // and comment  [whitespace/comments] [4]
./include\LightGBM\tree.h:334:  Extra space for operator !   [whitespace/operators] [4]
./include\LightGBM\tree.h:469:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./include\LightGBM\tree.h
./include\LightGBM\objective_function.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\objective_function.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_  [build/header_guard] [5]
./include\LightGBM\objective_function.h:93:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_"  [build/header_guard] [5]
./include\LightGBM\objective_function.h:14:  public: should be indented +1 space inside class ObjectiveFunction  [whitespace/indent] [3]
./include\LightGBM\objective_function.h:88:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\objective_function.h
./include\LightGBM\config.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\config.h:3:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_CONFIG_H_  [build/header_guard] [5]
./include\LightGBM\config.h:879:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_CONFIG_H_"  [build/header_guard] [5]
./include\LightGBM\config.h:28:  public: should be indented +1 space inside struct Config  [whitespace/indent] [3]
./include\LightGBM\config.h:74:  Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params  [runtime/references]
./include\LightGBM\config.h:775:  private: should be indented +1 space inside struct Config  [whitespace/indent] [3]
Done processing ./include\LightGBM\config.h
./src\application\application.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\application\application.cpp:16:  Found C system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:18:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:19:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:21:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:21:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\application\application.cpp:22:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:23:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:24:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:25:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:26:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\application\application.cpp
./src\io\bin.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\bin.cpp:11:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:12:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:13:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:15:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:16:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:17:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:76:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:196:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:392:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\io\dense_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dense_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_DENSE_BIN_HPP_  [build/header_guard] [5]
./src\io\dense_bin.hpp:339:  #endif line should be "#endif  // SRC_IO_DENSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\dense_bin.hpp:17:  public: should be indented +1 space inside class DenseBinIterator  [whitespace/indent] [3]
./src\io\dense_bin.hpp:31:  private: should be indented +1 space inside class DenseBinIterator  [whitespace/indent] [3]
./src\io\dense_bin.hpp:44:  public: should be indented +1 space inside class DenseBin  [whitespace/indent] [3]
./src\io\dense_bin.hpp:46:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_bin.hpp:190:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:251:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:313:  protected: should be indented +1 space inside class DenseBin  [whitespace/indent] [3]
Done processing ./src\io\dense_bin.hpp
./src\network\socket_wrapper.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\socket_wrapper.hpp:1:  #ifndef header guard has wrong style, please use: SRC_NETWORK_SOCKET_WRAPPER_HPP_  [build/header_guard] [5]
./src\network\socket_wrapper.hpp:300:  #endif line should be "#endif  // SRC_NETWORK_SOCKET_WRAPPER_HPP_"  [build/header_guard] [5]
./src\network\socket_wrapper.hpp:18:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:19:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:20:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:21:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:22:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:23:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:24:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:25:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:89:  public: should be indented +1 space inside class TcpSocket  [whitespace/indent] [3]
./src\network\socket_wrapper.hpp:176:  Using C-style cast.  Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead  [readability/casting] [4]
./src\network\socket_wrapper.hpp:184:  Using C-style cast.  Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead  [readability/casting] [4]
./src\network\socket_wrapper.hpp:216:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after
./src\network\socket_wrapper.hpp:294:  private: should be indented +1 space inside class TcpSocket  [whitespace/indent] [3]
Done processing ./src\network\socket_wrapper.hpp
./src\objective\objective_function.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\objective\objective_function.cpp
./src\metric\regression_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\regression_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_REGRESSION_METRIC_HPP_  [build/header_guard] [5]
./src\metric\regression_metric.hpp:316:  #endif line should be "#endif  // SRC_METRIC_REGRESSION_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\regression_metric.hpp:17:  public: should be indented +1 space inside class RegressionMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:98:  private: should be indented +1 space inside class RegressionMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:114:  public: should be indented +1 space inside class RMSEMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:133:  public: should be indented +1 space inside class L2Metric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:147:  public: should be indented +1 space inside class QuantileMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:168:  public: should be indented +1 space inside class L1Metric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:181:  public: should be indented +1 space inside class HuberLossMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:202:  public: should be indented +1 space inside class FairLossMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:219:  public: should be indented +1 space inside class PoissonMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:238:  public: should be indented +1 space inside class MAPEMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:251:  public: should be indented +1 space inside class GammaMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:268:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:274:  public: should be indented +1 space inside class GammaDevianceMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:290:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:295:  public: should be indented +1 space inside class TweedieMetric  [whitespace/indent] [3]
./src\metric\regression_metric.hpp:109:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:109:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:243:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
Done processing ./src\metric\regression_metric.hpp
./src\boosting\gbdt_prediction.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt_prediction.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\metric\multiclass_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\multiclass_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_MULTICLASS_METRIC_HPP_  [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:169:  #endif line should be "#endif  // SRC_METRIC_MULTICLASS_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:17:  public: should be indented +1 space inside class MulticlassMetric  [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:115:  private: should be indented +1 space inside class MulticlassMetric  [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:131:  public: should be indented +1 space inside class MultiErrorMetric  [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:134:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:151:  public: should be indented +1 space inside class MultiSoftmaxLoglossMetric  [whitespace/indent] [3]
./src\metric\multiclass_metric.hpp:154:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:125:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\metric\multiclass_metric.hpp:154:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\metric\multiclass_metric.hpp
./src\network\linkers.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers.h:1:  #ifndef header guard has wrong style, please use: SRC_NETWORK_LINKERS_H_  [build/header_guard] [5]
./src\network\linkers.h:307:  #endif line should be "#endif  // SRC_NETWORK_LINKERS_H_"  [build/header_guard] [5]
./src\network\linkers.h:10:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:12:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:19:  Found C system header after other header. Should be: linkers.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\linkers.h:35:  public: should be indented +1 space inside class Linkers  [whitespace/indent] [3]
./src\network\linkers.h:139:  private: should be indented +1 space inside class Linkers  [whitespace/indent] [3]
Done processing ./src\network\linkers.h
./include\LightGBM\utils\common.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\common.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_COMMON_H_  [build/header_guard] [5]
./include\LightGBM\utils\common.h:881:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_COMMON_H_"  [build/header_guard] [5]
./include\LightGBM\utils\common.h:21:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\common.h:297:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./include\LightGBM\utils\common.h:343:  Using deprecated casting style.  Use static_cast<char>(...) instead  [readability/casting] [4]
./include\LightGBM\utils\common.h:345:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\common.h:345:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\common.h:369:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:409:  Closing ) should be moved to the previous line  [whitespace/parens] [2]
./include\LightGBM\utils\common.h:413:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:622:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys  [runtime/references] [2]
./include\LightGBM\utils\common.h:622:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values  [runtime/references] [2]
./include\LightGBM\utils\common.h:643:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data  [runtime/references] [2]
./include\LightGBM\utils\common.h:557:  Add #include <limits> for numeric_limits<>  [build/include_what_you_use] [4]
./include\LightGBM\utils\common.h:632:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\common.h
./src\objective\rank_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\rank_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\rank_objective.hpp:240:  #endif line should be "#endif  // SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\rank_objective.hpp:20:  public: should be indented +1 space inside class LambdarankNDCG  [whitespace/indent] [3]
./src\objective\rank_objective.hpp:208:  private: should be indented +1 space inside class LambdarankNDCG  [whitespace/indent] [3]
./src\objective\rank_objective.hpp:200:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\rank_objective.hpp
./src\io\ordered_sparse_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\ordered_sparse_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_ORDERED_SPARSE_BIN_HPP_  [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:211:  #endif line should be "#endif  // SRC_IO_ORDERED_SPARSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:10:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:27:  public: should be indented +1 space inside class OrderedSparseBin  [whitespace/indent] [3]
./src\io\ordered_sparse_bin.hpp:35:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\ordered_sparse_bin.hpp:195:  private: should be indented +1 space inside class OrderedSparseBin  [whitespace/indent] [3]
./src\io\ordered_sparse_bin.hpp:178:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./src\io\ordered_sparse_bin.hpp
./src\objective\binary_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\binary_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\binary_objective.hpp:196:  #endif line should be "#endif  // SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\binary_objective.hpp:14:  public: should be indented +1 space inside class BinaryLogloss  [whitespace/indent] [3]
./src\objective\binary_objective.hpp:175:  private: should be indented +1 space inside class BinaryLogloss  [whitespace/indent] [3]
./src\objective\binary_objective.hpp:31:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:146:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:164:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\binary_objective.hpp
./src\metric\xentropy_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\xentropy_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_XENTROPY_METRIC_HPP_  [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:356:  #endif line should be "#endif  // SRC_METRIC_XENTROPY_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:68:  public: should be indented +1 space inside class CrossEntropyMetric  [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:89:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:145:  private: should be indented +1 space inside class CrossEntropyMetric  [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:163:  public: should be indented +1 space inside class CrossEntropyLambdaMetric  [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:180:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:231:  private: should be indented +1 space inside class CrossEntropyLambdaMetric  [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:246:  public: should be indented +1 space inside class KullbackLeiblerDivergence  [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:264:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:339:  private: should be indented +1 space inside class KullbackLeiblerDivergence  [whitespace/indent] [3]
./src\metric\xentropy_metric.hpp:351:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\xentropy_metric.hpp
./include\LightGBM\utils\random.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\random.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_RANDOM_H_  [build/header_guard] [5]
./include\LightGBM\utils\random.h:114:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_RANDOM_H_"  [build/header_guard] [5]
./include\LightGBM\utils\random.h:16:  public: should be indented +1 space inside class Random  [whitespace/indent] [3]
./include\LightGBM\utils\random.h:29:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\utils\random.h:97:  private: should be indented +1 space inside class Random  [whitespace/indent] [3]
Done processing ./include\LightGBM\utils\random.h
./src\metric\rank_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\rank_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_RANK_METRIC_HPP_  [build/header_guard] [5]
./src\metric\rank_metric.hpp:171:  #endif line should be "#endif  // SRC_METRIC_RANK_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\rank_metric.hpp:16:  public: should be indented +1 space inside class NDCGMetric  [whitespace/indent] [3]
./src\metric\rank_metric.hpp:146:  private: should be indented +1 space inside class NDCGMetric  [whitespace/indent] [3]
./src\metric\rank_metric.hpp:152:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\rank_metric.hpp
./src\boosting\gbdt.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.cpp:264:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\boosting\gbdt_model_text.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt_model_text.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:13:  For a static/global string constant, use a C style string instead: "const char kModelVersion[]".  [runtime/string] [4]
./src\boosting\gbdt_model_text.cpp:241:  Using C-style cast.  Use static_cast<bool>(...) instead  [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:340:  Using C-style cast.  Use static_cast<bool>(...) instead  [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:359:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:359:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:362:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:362:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:371:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:371:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:454:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:454:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\boosting\gbdt_model_text.cpp
./include\LightGBM\R_object_helper.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\R_object_helper.h:6:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_  [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:188:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_"  [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:121:  Using C-style cast.  Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:123:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:125:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:127:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:129:  Using C-style cast.  Use reinterpret_cast<double *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:131:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:133:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:140:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:154:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:164:  Using C-style cast.  Use reinterpret_cast<int32_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:178:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./include\LightGBM\application.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\application.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_APPLICATION_H_  [build/header_guard] [5]
./include\LightGBM\application.h:88:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_APPLICATION_H_"  [build/header_guard] [5]
./include\LightGBM\application.h:26:  public: should be indented +1 space inside class Application  [whitespace/indent] [3]
./include\LightGBM\application.h:35:  private: should be indented +1 space inside class Application  [whitespace/indent] [3]
Done processing ./include\LightGBM\application.h
./src\c_api.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\c_api.cpp:23:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\c_api.cpp:47:  public: should be indented +1 space inside class Booster  [whitespace/indent] [3]
./src\c_api.cpp:326:  private: should be indented +1 space inside class Booster  [whitespace/indent] [3]
./src\c_api.cpp:343:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\c_api.cpp:359:  public: should be indented +1 space inside class CSC_RowIterator  [whitespace/indent] [3]
./src\c_api.cpp:367:  private: should be indented +1 space inside class CSC_RowIterator  [whitespace/indent] [3]
./src\c_api.cpp:761:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\c_api.cpp
./src\network\linkers_mpi.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers_mpi.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./include\LightGBM\meta.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\meta.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_META_H_  [build/header_guard] [5]
./include\LightGBM\meta.h:67:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_META_H_"  [build/header_guard] [5]
./include\LightGBM\meta.h:46:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\meta.h
./src\treelearner\split_info.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\split_info.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SPLIT_INFO_HPP_  [build/header_guard] [5]
./src\treelearner\split_info.hpp:285:  #endif line should be "#endif  // SRC_TREELEARNER_SPLIT_INFO_HPP_"  [build/header_guard] [5]
./src\treelearner\split_info.hpp:18:  public: should be indented +1 space inside struct SplitInfo  [whitespace/indent] [3]
./src\treelearner\split_info.hpp:191:  public: should be indented +1 space inside struct LightSplitInfo  [whitespace/indent] [3]
./src\treelearner\split_info.hpp:42:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\split_info.hpp
./src\io\parser.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\parser.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_PARSER_HPP_  [build/header_guard] [5]
./src\io\parser.hpp:129:  #endif line should be "#endif  // SRC_IO_PARSER_HPP_"  [build/header_guard] [5]
./src\io\parser.hpp:16:  public: should be indented +1 space inside class CSVParser  [whitespace/indent] [3]
./src\io\parser.hpp:32:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.hpp:32:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.hpp:48:  private: should be indented +1 space inside class CSVParser  [whitespace/indent] [3]
./src\io\parser.hpp:54:  public: should be indented +1 space inside class TSVParser  [whitespace/indent] [3]
./src\io\parser.hpp:84:  private: should be indented +1 space inside class TSVParser  [whitespace/indent] [3]
./src\io\parser.hpp:90:  public: should be indented +1 space inside class LibSVMParser  [whitespace/indent] [3]
./src\io\parser.hpp:124:  private: should be indented +1 space inside class LibSVMParser  [whitespace/indent] [3]
Done processing ./src\io\parser.hpp
./src\main.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\main.cpp:2:  Found C system header after C++ system header. Should be: main.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\main.cpp
./src\io\json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:150:  protected: should be indented +1 space inside class Value  [whitespace/indent] [3]
./src\io\json11.cpp:177:  public: should be indented +1 space inside class JsonDouble  [whitespace/indent] [3]
./src\io\json11.cpp:186:  public: should be indented +1 space inside class JsonInt  [whitespace/indent] [3]
./src\io\json11.cpp:192:  public: should be indented +1 space inside class JsonBoolean  [whitespace/indent] [3]
./src\io\json11.cpp:198:  public: should be indented +1 space inside class JsonString  [whitespace/indent] [3]
./src\io\json11.cpp:206:  public: should be indented +1 space inside class JsonArray  [whitespace/indent] [3]
./src\io\json11.cpp:214:  public: should be indented +1 space inside class JsonObject  [whitespace/indent] [3]
./src\io\json11.cpp:220:  public: should be indented +1 space inside class JsonNull  [whitespace/indent] [3]
./src\io\json11.cpp:294:  Else clause should never be on same line as else (use 2 lines)  [whitespace/newline] [4]
./src\io\json11.cpp:337:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:349:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references]
./src\io\json11.cpp:390:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./src\io\json11.cpp:398:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\json11.cpp:398:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\json11.cpp:411:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\json11.cpp:430:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:441:  Using C-style cast.  Use static_cast<char>(...) instead  [readability/casting] [4]
./src\io\json11.cpp:443:  Using C-style cast.  Use static_cast<char>(...) instead  [readability/casting] [4]
./src\io\json11.cpp:452:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:452:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
./src\io\json11.cpp:479:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:523:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing ./src\io\json11.cpp
./src\treelearner\serial_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\serial_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:272:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:801:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:841:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:607:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\metric\map_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\map_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_MAP_METRIC_HPP_  [build/header_guard] [5]
./src\metric\map_metric.hpp:168:  #endif line should be "#endif  // SRC_METRIC_MAP_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\map_metric.hpp:16:  public: should be indented +1 space inside class MapMetric  [whitespace/indent] [3]
./src\metric\map_metric.hpp:145:  private: should be indented +1 space inside class MapMetric  [whitespace/indent] [3]
./src\metric\map_metric.hpp:99:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
./src\metric\map_metric.hpp:162:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\map_metric.hpp
./include\LightGBM\export.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\export.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_EXPORT_H_  [build/header_guard] [5]
./include\LightGBM\export.h:21:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_EXPORT_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\export.h
./src\network\linker_topo.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\network\linker_topo.cpp
./include\LightGBM\bin.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\bin.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BIN_H_  [build/header_guard] [5]
./include\LightGBM\bin.h:492:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_BIN_H_"  [build/header_guard] [5]
./include\LightGBM\bin.h:30:  public: should be indented +1 space inside struct HistogramBinEntry  [whitespace/indent] [3]
./include\LightGBM\bin.h:62:  public: should be indented +1 space inside class BinMapper  [whitespace/indent] [3]
./include\LightGBM\bin.h:187:  private: should be indented +1 space inside class BinMapper  [whitespace/indent] [3]
./include\LightGBM\bin.h:220:  public: should be indented +1 space inside class OrderedBin  [whitespace/indent] [3]
./include\LightGBM\bin.h:268:  public: should be indented +1 space inside class BinIterator  [whitespace/indent] [3]
./include\LightGBM\bin.h:287:  public: should be indented +1 space inside class Bin  [whitespace/indent] [3]
./include\LightGBM\bin.h:176:  Add #include <string> for string  [build/include_what_you_use] [4]
./include\LightGBM\bin.h:181:  Add #include <limits> for numeric_limits<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\bin.h
./src\metric\metric.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\metric\metric.cpp
./src\treelearner\tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\tree_learner.cpp:3:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:4:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:21:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\tree_learner.cpp:21:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\treelearner\tree_learner.cpp
./src\io\parser.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\parser.cpp:25:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:39:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:52:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:72:  Is this a non-const reference? If so, make const or use a pointer: std::string& line  [runtime/references] [2]
./src\io\parser.cpp:72:  Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer  [runtime/references] [2]
./src\io\parser.cpp:154:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.cpp:154:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.cpp:158:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.cpp:158:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.cpp:100:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\io\parser.cpp
./include\LightGBM\c_api.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\c_api.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_C_API_H_  [build/header_guard] [5]
./include\LightGBM\c_api.h:834:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_C_API_H_"  [build/header_guard] [5]
./include\LightGBM\c_api.h:15:  Found C system header after C++ system header. Should be: c_api.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\c_api.h:831:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
Total errors found: 853
@StrikerRUS
Copy link
Collaborator Author

StrikerRUS commented Feb 6, 2019

462612b

Total errors found: 674

Report (Clickable):
./include\LightGBM\dataset.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\dataset.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_H_  [build/header_guard] [5]
./include\LightGBM\dataset.h:625:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_H_"  [build/header_guard] [5]
./include\LightGBM\dataset.h:17:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\dataset.h:287:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\dataset.h:401:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins  [runtime/references] [2]
Done processing ./include\LightGBM\dataset.h
./src\io\sparse_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\sparse_bin.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_SPARSE_BIN_HPP_  [build/header_guard] [5]
./src\io\sparse_bin.hpp:456:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_SPARSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\sparse_bin.hpp:74:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\sparse_bin.hpp:144:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:207:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:254:  Add #include <algorithm> for sort  [build/include_what_you_use] [4]
./src\io\sparse_bin.hpp:416:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./src\io\sparse_bin.hpp
./src\io\config_auto.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\config_auto.cpp:275:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:281:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:288:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:345:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:348:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:357:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:360:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:379:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:382:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:385:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:460:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:488:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:495:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:504:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:507:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:510:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:521:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
./src\io\config_auto.cpp:626:  Namespace should be terminated with "// namespace LightGBM"  [readability/namespace] [5]
Done processing ./src\io\config_auto.cpp
./src\boosting\gbdt_prediction.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt_prediction.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\network\linkers_socket.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers_socket.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\network\linkers_socket.cpp:14:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:15:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./src\network\linkers_socket.cpp
./src\objective\binary_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\binary_objective.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\binary_objective.hpp:196:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\binary_objective.hpp:31:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:146:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:164:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\binary_objective.hpp
./src\boosting\rf.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\rf.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_RF_HPP_  [build/header_guard] [5]
./src\boosting\rf.hpp:209:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_RF_HPP_"  [build/header_guard] [5]
./src\boosting\rf.hpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\rf.hpp:9:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:10:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:11:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:12:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\boosting\rf.hpp
./src\objective\multiclass_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\multiclass_objective.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:259:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:137:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:225:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\multiclass_objective.hpp
./include\LightGBM\utils\log.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\log.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_LOG_H_  [build/header_guard] [5]
./include\LightGBM\utils\log.h:103:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_LOG_H_"  [build/header_guard] [5]
./include\LightGBM\utils\log.h:83:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\log.h
./src\io\dense_nbits_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dense_nbits_bin.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_NBITS_BIN_HPP_  [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:390:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_NBITS_BIN_HPP_"  [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:41:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:214:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:275:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\dense_nbits_bin.hpp
./src\network\socket_wrapper.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\socket_wrapper.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_SOCKET_WRAPPER_HPP_  [build/header_guard] [5]
./src\network\socket_wrapper.hpp:300:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_SOCKET_WRAPPER_HPP_"  [build/header_guard] [5]
./src\network\socket_wrapper.hpp:18:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:19:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:20:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:21:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:22:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:23:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:24:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:25:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:176:  Using C-style cast.  Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead  [readability/casting] [4]
./src\network\socket_wrapper.hpp:184:  Using C-style cast.  Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead  [readability/casting] [4]
./src\network\socket_wrapper.hpp:216:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
./src\objective\rank_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\rank_objective.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\rank_objective.hpp:240:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\rank_objective.hpp:200:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\rank_objective.hpp
./src\io\tree.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\tree.cpp:345:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
Done processing ./src\io\tree.cpp
./src\boosting\gbdt_model_text.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt_model_text.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:13:  For a static/global string constant, use a C style string instead: "const char kModelVersion[]".  [runtime/string] [4]
./src\boosting\gbdt_model_text.cpp:241:  Using C-style cast.  Use static_cast<bool>(...) instead  [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:340:  Using C-style cast.  Use static_cast<bool>(...) instead  [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:359:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:359:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:362:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:362:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:371:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:371:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:454:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:454:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\boosting\gbdt_model_text.cpp
./include\LightGBM\lightgbm_R.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\lightgbm_R.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_LIGHTGBM_R_H_  [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:525:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_LIGHTGBM_R_H_"  [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:7:  Found C system header after C++ system header. Should be: lightgbm_R.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./include\LightGBM\lightgbm_R.h
./src\treelearner\feature_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\feature_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:3:  Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./src\objective\objective_function.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\objective\objective_function.cpp
./src\metric\xentropy_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\xentropy_metric.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_XENTROPY_METRIC_HPP_  [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:356:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_XENTROPY_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:89:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:180:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:264:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:351:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\xentropy_metric.hpp
./src\main.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\main.cpp:2:  Found C system header after C++ system header. Should be: main.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\main.cpp
./src\metric\rank_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\rank_metric.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_RANK_METRIC_HPP_  [build/header_guard] [5]
./src\metric\rank_metric.hpp:171:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_RANK_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\rank_metric.hpp:152:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\rank_metric.hpp
./src\treelearner\data_partition.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\data_partition.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_DATA_PARTITION_HPP_  [build/header_guard] [5]
./src\treelearner\data_partition.hpp:225:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_DATA_PARTITION_HPP_"  [build/header_guard] [5]
./src\treelearner\data_partition.hpp:83:  Add #include <algorithm> for copy  [build/include_what_you_use] [4]
Done processing ./src\treelearner\data_partition.hpp
./src\io\file_io.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\file_io.cpp:51:  For a static/global string constant, use a C style string instead: "const char kHdfsProto[]".  [runtime/string] [4]
./src\io\file_io.cpp:95:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
Done processing ./src\io\file_io.cpp
./include\LightGBM\dataset_loader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\dataset_loader.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_LOADER_H_  [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:78:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_DATASET_LOADER_H_"  [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:47:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data  [runtime/references] [2]
./include\LightGBM\dataset_loader.h:76:  Namespace should be terminated with "// namespace LightGBM"  [readability/namespace] [5]
./include\LightGBM\dataset_loader.h:71:  Add #include <string> for string  [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:71:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset_loader.h
./include\LightGBM\objective_function.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\objective_function.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_  [build/header_guard] [5]
./include\LightGBM\objective_function.h:93:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_"  [build/header_guard] [5]
./include\LightGBM\objective_function.h:88:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\objective_function.h
./include\LightGBM\feature_group.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\feature_group.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_FEATURE_GROUP_H_  [build/header_guard] [5]
./include\LightGBM\feature_group.h:234:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_FEATURE_GROUP_H_"  [build/header_guard] [5]
./include\LightGBM\feature_group.h:31:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\feature_group.h:54:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
Done processing ./include\LightGBM\feature_group.h
./src\application\application.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\application\application.cpp:16:  Found C system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:18:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:19:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:21:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:21:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\application\application.cpp:22:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:23:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:24:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:25:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:26:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\application\application.cpp
./src\network\linkers_mpi.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers_mpi.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./include\LightGBM\utils\pipeline_reader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\pipeline_reader.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_  [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:67:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:9:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\utils\pipeline_reader.h:13:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\pipeline_reader.h:58:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./include\LightGBM\network.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\network.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_NETWORK_H_  [build/header_guard] [5]
./include\LightGBM\network.h:307:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_NETWORK_H_"  [build/header_guard] [5]
./include\LightGBM\network.h:166:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:190:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:214:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:236:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local  [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\c_api.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\c_api.cpp:23:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\c_api.cpp:343:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\c_api.cpp:762:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\c_api.cpp
./src\treelearner\gpu_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:6:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:7:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:8:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:10:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:11:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:106:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:111:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:113:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:154:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:154:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:173:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:173:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:178:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:178:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:186:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:194:  Using C-style cast.  Use reinterpret_cast<HistType*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:212:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:212:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:321:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./src\treelearner\gpu_tree_learner.cpp:332:  Using C-style cast.  Use static_cast<double>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:334:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:341:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:341:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:356:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:363:  Using C-style cast.  Use reinterpret_cast<Feature4*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:367:  Using C-style cast.  Use reinterpret_cast<Feature4*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:372:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:414:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:414:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:426:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:426:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:433:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:433:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:438:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:438:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:473:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:473:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:477:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:477:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:487:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:487:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:495:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:495:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:499:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:499:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:513:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:513:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:675:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:675:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:708:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:710:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:723:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:723:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:729:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:729:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:735:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:735:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:785:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:785:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:819:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:819:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:915:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:915:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:928:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:928:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:948:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:948:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:985:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:985:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1010:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1010:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1064:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1064:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:564:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./include\LightGBM\config.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\config.h:3:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_CONFIG_H_  [build/header_guard] [5]
./include\LightGBM\config.h:879:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_CONFIG_H_"  [build/header_guard] [5]
./include\LightGBM\config.h:74:  Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params  [runtime/references] [2]
Done processing ./include\LightGBM\config.h
./src\io\ordered_sparse_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\ordered_sparse_bin.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_ORDERED_SPARSE_BIN_HPP_  [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:211:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_ORDERED_SPARSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:10:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:35:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\ordered_sparse_bin.hpp:178:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./src\io\ordered_sparse_bin.hpp
./include\LightGBM\application.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\application.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_APPLICATION_H_  [build/header_guard] [5]
./include\LightGBM\application.h:88:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_APPLICATION_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\application.h
./src\boosting\dart.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\dart.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_DART_HPP_  [build/header_guard] [5]
./src\boosting\dart.hpp:205:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_DART_HPP_"  [build/header_guard] [5]
./src\boosting\dart.hpp:6:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\dart.hpp:8:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:9:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:10:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:11:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:112:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
Done processing ./src\boosting\dart.hpp
./src\boosting\gbdt.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GBDT_H_  [build/header_guard] [5]
./src\boosting\gbdt.h:492:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GBDT_H_"  [build/header_guard] [5]
./src\boosting\gbdt.h:11:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:12:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:13:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:14:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:15:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:16:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:16:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.h:17:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:19:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\boosting\gbdt.h:137:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:173:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:180:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:268:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:276:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:355:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:381:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
./src\boosting\gbdt.h:87:  Add #include <utility> for swap  [build/include_what_you_use] [4]
./src\boosting\gbdt.h:330:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
Done processing ./src\boosting\gbdt.h
./include\LightGBM\utils\openmp_wrapper.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\openmp_wrapper.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_  [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:76:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:8:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\utils\openmp_wrapper.h:11:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\metric\dcg_calculator.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\dcg_calculator.cpp:25:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
./src\treelearner\gpu_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_GPU_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:284:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_GPU_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:10:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:15:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:16:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:17:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:18:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:19:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:31:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:172:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:176:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:180:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:184:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.h
./src\io\bin.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\bin.cpp:11:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:12:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:13:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:15:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:16:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:17:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:76:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:196:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:392:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\io\dense_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dense_bin.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_BIN_HPP_  [build/header_guard] [5]
./src\io\dense_bin.hpp:340:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_DENSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\dense_bin.hpp:47:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_bin.hpp:191:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:252:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\dense_bin.hpp
./include\LightGBM\json11.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\json11.hpp:80:  public: should be indented +1 space inside class Json  [whitespace/indent] [3]
./include\LightGBM\json11.hpp:92:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:165:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:180:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
./include\LightGBM\json11.hpp:181:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:186:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:205:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:220:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:204:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\json11.hpp
./src\application\predictor.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\application\predictor.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_APPLICATION_PREDICTOR_HPP_  [build/header_guard] [5]
./src\application\predictor.hpp:257:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_APPLICATION_PREDICTOR_HPP_"  [build/header_guard] [5]
./src\application\predictor.hpp:41:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\application\predictor.hpp:42:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./src\application\predictor.hpp
./src\treelearner\serial_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\serial_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:272:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:801:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:841:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:607:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\network\network.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\network.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\network\network.cpp:7:  Found C++ system header after other header. Should be: network.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\network.cpp:8:  Found C++ system header after other header. Should be: network.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\network.cpp
./include\LightGBM\boosting.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\boosting.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BOOSTING_H_  [build/header_guard] [5]
./include\LightGBM\boosting.h:304:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BOOSTING_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\boosting.h
./src\io\json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:294:  Else clause should never be on same line as else (use 2 lines)  [whitespace/newline] [4]
./src\io\json11.cpp:337:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:349:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
./src\io\json11.cpp:390:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./src\io\json11.cpp:398:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\json11.cpp:398:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\json11.cpp:411:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\json11.cpp:430:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:441:  Using C-style cast.  Use static_cast<char>(...) instead  [readability/casting] [4]
./src\io\json11.cpp:443:  Using C-style cast.  Use static_cast<char>(...) instead  [readability/casting] [4]
./src\io\json11.cpp:452:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:452:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
./src\io\json11.cpp:479:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:523:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing ./src\io\json11.cpp
./src\lightgbm_R.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\lightgbm_R.cpp:34:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./include\LightGBM\bin.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\bin.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BIN_H_  [build/header_guard] [5]
./include\LightGBM\bin.h:492:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_BIN_H_"  [build/header_guard] [5]
./include\LightGBM\bin.h:176:  Add #include <string> for string  [build/include_what_you_use] [4]
./include\LightGBM\bin.h:181:  Add #include <limits> for numeric_limits<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\bin.h
./include\LightGBM\utils\array_args.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\array_args.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_  [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:191:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_"  [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:6:  Found C system header after C++ system header. Should be: array_args.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\utils\array_args.h:113:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./include\LightGBM\utils\array_args.h:124:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\array_args.h
./src\io\parser.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\parser.cpp:25:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:39:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:52:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:72:  Is this a non-const reference? If so, make const or use a pointer: std::string& line  [runtime/references] [2]
./src\io\parser.cpp:72:  Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer  [runtime/references] [2]
./src\io\parser.cpp:154:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.cpp:154:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.cpp:158:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.cpp:158:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.cpp:100:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\io\parser.cpp
./src\io\dataset_loader.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dataset_loader.cpp:394:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset_loader.cpp:394:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\dataset_loader.cpp:417:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset_loader.cpp:417:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\io\dataset_loader.cpp
./src\treelearner\voting_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\voting_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:3:  Found C system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:6:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:7:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:134:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\treelearner\split_info.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\split_info.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SPLIT_INFO_HPP_  [build/header_guard] [5]
./src\treelearner\split_info.hpp:285:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SPLIT_INFO_HPP_"  [build/header_guard] [5]
./src\treelearner\split_info.hpp:42:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\split_info.hpp
./src\treelearner\tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\tree_learner.cpp:3:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:4:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:21:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\tree_learner.cpp:21:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\treelearner\tree_learner.cpp
./src\metric\binary_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\binary_metric.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_BINARY_METRIC_HPP_  [build/header_guard] [5]
./src\metric\binary_metric.hpp:263:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_BINARY_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\binary_metric.hpp:259:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\binary_metric.hpp
./include\LightGBM\metric.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\metric.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_METRIC_H_  [build/header_guard] [5]
./include\LightGBM\metric.h:139:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_METRIC_H_"  [build/header_guard] [5]
./include\LightGBM\metric.h:53:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\metric.h
./src\network\linker_topo.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\network\linker_topo.cpp
./src\treelearner\data_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\data_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:3:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:6:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:138:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./include\LightGBM\tree.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\tree.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_H_  [build/header_guard] [5]
./include\LightGBM\tree.h:517:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_H_"  [build/header_guard] [5]
./include\LightGBM\tree.h:262:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
./include\LightGBM\tree.h:271:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
./include\LightGBM\tree.h:334:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
./include\LightGBM\tree.h:334:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./include\LightGBM\tree.h:334:  Should have a space between // and comment  [whitespace/comments] [4]
./include\LightGBM\tree.h:334:  Extra space for operator !   [whitespace/operators] [4]
./include\LightGBM\tree.h:469:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./include\LightGBM\tree.h
./src\treelearner\serial_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\serial_tree_learner.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:183:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:16:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:17:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:18:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:19:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:20:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:27:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:105:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./include\LightGBM\R_object_helper.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\R_object_helper.h:6:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_  [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:188:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_"  [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:121:  Using C-style cast.  Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:123:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:125:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:127:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:129:  Using C-style cast.  Use reinterpret_cast<double *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:131:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:133:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:140:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:154:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:164:  Using C-style cast.  Use reinterpret_cast<int32_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:178:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./src\boosting\goss.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\goss.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GOSS_HPP_  [build/header_guard] [5]
./src\boosting\goss.hpp:216:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_GOSS_HPP_"  [build/header_guard] [5]
./src\boosting\goss.hpp:10:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\goss.hpp:12:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:13:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:14:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:15:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:16:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:16:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\goss.hpp:17:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:87:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
./src\metric\multiclass_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\multiclass_metric.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MULTICLASS_METRIC_HPP_  [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:169:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MULTICLASS_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:134:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:154:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:125:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\metric\multiclass_metric.hpp:154:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\metric\multiclass_metric.hpp
./include\LightGBM\meta.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\meta.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_META_H_  [build/header_guard] [5]
./include\LightGBM\meta.h:67:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_META_H_"  [build/header_guard] [5]
./include\LightGBM\meta.h:46:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\meta.h
./include\LightGBM\utils\text_reader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\text_reader.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_  [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:326:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:104:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:104:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:114:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:114:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:162:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:171:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:171:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:198:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:211:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:211:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:254:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:254:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:267:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:267:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:303:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:303:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./include\LightGBM\utils\text_reader.h
./src\treelearner\parallel_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\parallel_tree_learner.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:212:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:4:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:6:  Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:8:  Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:10:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:11:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:12:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./src\io\config.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\config.cpp:157:  Use int16/int64/etc, rather than the C type short  [runtime/int] [4]
Done processing ./src\io\config.cpp
./include\LightGBM\utils\common.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\common.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_COMMON_H_  [build/header_guard] [5]
./include\LightGBM\utils\common.h:881:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_COMMON_H_"  [build/header_guard] [5]
./include\LightGBM\utils\common.h:21:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\common.h:297:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./include\LightGBM\utils\common.h:343:  Using deprecated casting style.  Use static_cast<char>(...) instead  [readability/casting] [4]
./include\LightGBM\utils\common.h:345:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\common.h:345:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\common.h:369:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:409:  Closing ) should be moved to the previous line  [whitespace/parens] [2]
./include\LightGBM\utils\common.h:413:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:622:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys  [runtime/references] [2]
./include\LightGBM\utils\common.h:622:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values  [runtime/references] [2]
./include\LightGBM\utils\common.h:643:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data  [runtime/references] [2]
./include\LightGBM\utils\common.h:557:  Add #include <limits> for numeric_limits<>  [build/include_what_you_use] [4]
./include\LightGBM\utils\common.h:632:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\common.h
./src\objective\regression_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\regression_objective.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\regression_objective.hpp:814:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\regression_objective.hpp:61:  Missing space before ( in if(  [whitespace/parens] [5]
./src\objective\regression_objective.hpp:61:  Missing space before {  [whitespace/braces] [5]
./src\objective\regression_objective.hpp:433:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\regression_objective.hpp:645:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\objective\regression_objective.hpp
./src\objective\xentropy_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\xentropy_objective.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:269:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:60:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\xentropy_objective.hpp:163:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\xentropy_objective.hpp:254:  private: should be indented +1 space inside class CrossEntropyLambda  [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:124:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:148:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:226:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\xentropy_objective.hpp
./src\metric\metric.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\metric\metric.cpp
./src\boosting\prediction_early_stop.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\prediction_early_stop.cpp:11:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./src\treelearner\leaf_splits.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\leaf_splits.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_LEAF_SPLITS_HPP_  [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:162:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_LEAF_SPLITS_HPP_"  [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:6:  Found C system header after C++ system header. Should be: leaf_splits.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:9:  Found C++ system header after other header. Should be: leaf_splits.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:18:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./src\treelearner\feature_histogram.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\feature_histogram.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_  [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:821:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_"  [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:6:  Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:7:  Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:9:  Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:10:  Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:668:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\feature_histogram.hpp:439:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:790:  Add #include <utility> for swap  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:816:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\feature_histogram.hpp
./include\LightGBM\prediction_early_stop.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\prediction_early_stop.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_  [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:32:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_"  [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:7:  Found C system header after C++ system header. Should be: prediction_early_stop.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./include\LightGBM\prediction_early_stop.h
./src\metric\map_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\map_metric.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MAP_METRIC_HPP_  [build/header_guard] [5]
./src\metric\map_metric.hpp:168:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_MAP_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\map_metric.hpp:99:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
./src\metric\map_metric.hpp:162:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\map_metric.hpp
./include\LightGBM\utils\file_io.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\file_io.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_  [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:74:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_"  [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:69:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\file_io.h
./include\LightGBM\utils\threading.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\threading.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_THREADING_H_  [build/header_guard] [5]
./include\LightGBM\utils\threading.h:41:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_THREADING_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\utils\threading.h
./src\boosting\boosting.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\boosting.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./include\LightGBM\utils\random.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\random.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_RANDOM_H_  [build/header_guard] [5]
./include\LightGBM\utils\random.h:114:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_UTILS_RANDOM_H_"  [build/header_guard] [5]
./include\LightGBM\utils\random.h:29:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
./src\metric\regression_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\regression_metric.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_REGRESSION_METRIC_HPP_  [build/header_guard] [5]
./src\metric\regression_metric.hpp:316:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_METRIC_REGRESSION_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\regression_metric.hpp:268:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:290:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:109:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:109:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:243:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
Done processing ./src\metric\regression_metric.hpp
./src\network\linkers.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_LINKERS_H_  [build/header_guard] [5]
./src\network\linkers.h:307:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_NETWORK_LINKERS_H_"  [build/header_guard] [5]
./src\network\linkers.h:10:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:12:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:19:  Found C system header after other header. Should be: linkers.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\linkers.h
./src\boosting\gbdt.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.cpp:264:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\boosting\score_updater.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\score_updater.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_SCORE_UPDATER_HPP_  [build/header_guard] [5]
./src\boosting\score_updater.hpp:123:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_BOOSTING_SCORE_UPDATER_HPP_"  [build/header_guard] [5]
./src\boosting\score_updater.hpp:118:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\boosting\score_updater.hpp
./src\io\parser.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\parser.hpp:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_PARSER_HPP_  [build/header_guard] [5]
./src\io\parser.hpp:129:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_SRC_IO_PARSER_HPP_"  [build/header_guard] [5]
./src\io\parser.hpp:32:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.hpp:32:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\io\parser.hpp
./src\io\metadata.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\io\metadata.cpp
./include\LightGBM\tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\tree_learner.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_LEARNER_H_  [build/header_guard] [5]
./include\LightGBM\tree_learner.h:100:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_TREE_LEARNER_H_"  [build/header_guard] [5]
./include\LightGBM\tree_learner.h:9:  Found C++ system header after other header. Should be: tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\tree_learner.h:11:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./include\LightGBM\tree_learner.h:51:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
./include\LightGBM\tree_learner.h:94:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree_learner.h
./include\LightGBM\export.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\export.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_EXPORT_H_  [build/header_guard] [5]
./include\LightGBM\export.h:21:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_EXPORT_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\export.h
./include\LightGBM\c_api.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\c_api.h:1:  #ifndef header guard has wrong style, please use: C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_C_API_H_  [build/header_guard] [5]
./include\LightGBM\c_api.h:834:  #endif line should be "#endif  // C__USERS_NEKIT_DOWNLOADS_LIGHTGBM_MASTER_LIGHTGBM_MASTER_INCLUDE_LIGHTGBM_C_API_H_"  [build/header_guard] [5]
./include\LightGBM\c_api.h:15:  Found C system header after C++ system header. Should be: c_api.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\c_api.h:831:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./src\io\dataset.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dataset.cpp:7:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\dataset.cpp:27:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset.cpp:60:  Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark  [runtime/references] [2]
./src\io\dataset.cpp:138:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./src\io\dataset.cpp:748:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:777:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:810:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:838:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\io\dataset.cpp
Total errors found: 674

@StrikerRUS
Copy link
Collaborator Author

@guolinke Can we have for No copyright message found. You should have a line: "Copyright [year] <Copyright Owner>" [legal/copyright] [5] something like Copyright xxxx by Contributors, where xxxx is the year of file creation? It will allow to pass lint test and forget about this line for ever.

@StrikerRUS
Copy link
Collaborator Author

StrikerRUS commented Mar 22, 2019

e5e9fbe

Total errors found: 752

Report (Clickable):
D:\Users\nekit\Downloads\LightGBM>cpplint --linelength=999 --recursive ./src ./include
./src\treelearner\gpu_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.h:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_GPU_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:284:  #endif line should be "#endif  // SRC_TREELEARNER_GPU_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\gpu_tree_learner.h:10:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:15:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:16:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:17:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:18:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:19:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.h:31:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:172:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:176:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:180:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:184:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.h
./src\boosting\gbdt_model_text.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt_model_text.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:13:  For a static/global string constant, use a C style string instead: "const char kModelVersion[]".  [runtime/string] [4]
./src\boosting\gbdt_model_text.cpp:241:  Using C-style cast.  Use static_cast<bool>(...) instead  [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:340:  Using C-style cast.  Use static_cast<bool>(...) instead  [readability/casting] [4]
./src\boosting\gbdt_model_text.cpp:359:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:359:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:362:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:362:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:371:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:371:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\boosting\gbdt_model_text.cpp:454:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\boosting\gbdt_model_text.cpp:454:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\boosting\gbdt_model_text.cpp
./src\network\linker_topo.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\network\linker_topo.cpp
./include\LightGBM\tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\tree_learner.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_LEARNER_H_  [build/header_guard] [5]
./include\LightGBM\tree_learner.h:100:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_TREE_LEARNER_H_"  [build/header_guard] [5]
./include\LightGBM\tree_learner.h:9:  Found C++ system header after other header. Should be: tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\tree_learner.h:11:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./include\LightGBM\tree_learner.h:51:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
./include\LightGBM\tree_learner.h:94:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree_learner.h
./src\network\linkers.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers.h:1:  #ifndef header guard has wrong style, please use: SRC_NETWORK_LINKERS_H_  [build/header_guard] [5]
./src\network\linkers.h:307:  #endif line should be "#endif  // SRC_NETWORK_LINKERS_H_"  [build/header_guard] [5]
./src\network\linkers.h:10:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:12:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:19:  Found C system header after other header. Should be: linkers.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\linkers.h
./include\LightGBM\dataset_loader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\dataset_loader.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_LOADER_H_  [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:78:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_DATASET_LOADER_H_"  [build/header_guard] [5]
./include\LightGBM\dataset_loader.h:47:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data  [runtime/references] [2]
./include\LightGBM\dataset_loader.h:76:  Namespace should be terminated with "// namespace LightGBM"  [readability/namespace] [5]
./include\LightGBM\dataset_loader.h:71:  Add #include <string> for string  [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:71:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./include\LightGBM\dataset_loader.h:73:  Add #include <unordered_set> for unordered_set<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset_loader.h
./include\LightGBM\meta.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\meta.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_META_H_  [build/header_guard] [5]
./include\LightGBM\meta.h:67:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_META_H_"  [build/header_guard] [5]
./include\LightGBM\meta.h:46:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\meta.h
./src\io\tree.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\tree.cpp:345:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
Done processing ./src\io\tree.cpp
./src\treelearner\tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\tree_learner.cpp:3:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:4:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:21:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\tree_learner.cpp:21:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\treelearner\tree_learner.cpp
./src\io\file_io.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\file_io.cpp:51:  For a static/global string constant, use a C style string instead: "const char kHdfsProto[]".  [runtime/string] [4]
./src\io\file_io.cpp:95:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
Done processing ./src\io\file_io.cpp
./src\objective\binary_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\binary_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\binary_objective.hpp:196:  #endif line should be "#endif  // SRC_OBJECTIVE_BINARY_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\binary_objective.hpp:31:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:146:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\binary_objective.hpp:164:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\binary_objective.hpp
./src\application\application.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\application\application.cpp:16:  Found C system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:18:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:19:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:21:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:21:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\application\application.cpp:22:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:23:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:24:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:25:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
./src\application\application.cpp:26:  Found C++ system header after other header. Should be: application.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\application\application.cpp
./src\boosting\boosting.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\boosting.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./src\network\network.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\network.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\network\network.cpp:7:  Found C++ system header after other header. Should be: network.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\network.cpp:8:  Found C++ system header after other header. Should be: network.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\network.cpp
./include\LightGBM\metric.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\metric.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_METRIC_H_  [build/header_guard] [5]
./include\LightGBM\metric.h:139:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_METRIC_H_"  [build/header_guard] [5]
./include\LightGBM\metric.h:53:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\metric.h
./include\LightGBM\lightgbm_R.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\lightgbm_R.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_LIGHTGBM_R_H_  [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:525:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_LIGHTGBM_R_H_"  [build/header_guard] [5]
./include\LightGBM\lightgbm_R.h:7:  Found C system header after C++ system header. Should be: lightgbm_R.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./include\LightGBM\lightgbm_R.h
./include\LightGBM\utils\common.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\common.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_COMMON_H_  [build/header_guard] [5]
./include\LightGBM\utils\common.h:881:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_COMMON_H_"  [build/header_guard] [5]
./include\LightGBM\utils\common.h:21:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\common.h:297:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./include\LightGBM\utils\common.h:343:  Using deprecated casting style.  Use static_cast<char>(...) instead  [readability/casting] [4]
./include\LightGBM\utils\common.h:345:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\common.h:345:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\common.h:369:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:409:  Closing ) should be moved to the previous line  [whitespace/parens] [2]
./include\LightGBM\utils\common.h:413:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:622:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys  [runtime/references] [2]
./include\LightGBM\utils\common.h:622:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values  [runtime/references] [2]
./include\LightGBM\utils\common.h:643:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data  [runtime/references] [2]
./include\LightGBM\utils\common.h:557:  Add #include <limits> for numeric_limits<>  [build/include_what_you_use] [4]
./include\LightGBM\utils\common.h:632:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\common.h
./src\boosting\goss.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\goss.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_GOSS_HPP_  [build/header_guard] [5]
./src\boosting\goss.hpp:216:  #endif line should be "#endif  // SRC_BOOSTING_GOSS_HPP_"  [build/header_guard] [5]
./src\boosting\goss.hpp:10:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\goss.hpp:12:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:13:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:14:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:15:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:16:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:16:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\goss.hpp:17:  Found C++ system header after other header. Should be: goss.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\goss.hpp:87:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
./src\io\sparse_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\sparse_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_SPARSE_BIN_HPP_  [build/header_guard] [5]
./src\io\sparse_bin.hpp:468:  #endif line should be "#endif  // SRC_IO_SPARSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\sparse_bin.hpp:74:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\sparse_bin.hpp:144:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:207:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:416:  Missing space before {  [whitespace/braces] [5]
./src\io\sparse_bin.hpp:428:  Missing space before {  [whitespace/braces] [5]
./src\io\sparse_bin.hpp:254:  Add #include <algorithm> for sort  [build/include_what_you_use] [4]
./src\io\sparse_bin.hpp:423:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./src\io\sparse_bin.hpp
./src\objective\rank_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\rank_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\rank_objective.hpp:240:  #endif line should be "#endif  // SRC_OBJECTIVE_RANK_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\rank_objective.hpp:200:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\rank_objective.hpp
./src\main.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\main.cpp:2:  Found C system header after C++ system header. Should be: main.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\main.cpp
./src\treelearner\feature_histogram.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\feature_histogram.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_  [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:821:  #endif line should be "#endif  // SRC_TREELEARNER_FEATURE_HISTOGRAM_HPP_"  [build/header_guard] [5]
./src\treelearner\feature_histogram.hpp:6:  Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:7:  Found C system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:9:  Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:10:  Found C++ system header after other header. Should be: feature_histogram.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_histogram.hpp:668:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\feature_histogram.hpp:439:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:790:  Add #include <utility> for swap  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:808:  Add #include <memory> for unique_ptr<>  [build/include_what_you_use] [4]
./src\treelearner\feature_histogram.hpp:816:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\feature_histogram.hpp
./src\metric\multiclass_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\multiclass_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_MULTICLASS_METRIC_HPP_  [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:169:  #endif line should be "#endif  // SRC_METRIC_MULTICLASS_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\multiclass_metric.hpp:134:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:154:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:125:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\metric\multiclass_metric.hpp:154:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\metric\multiclass_metric.hpp
./include\LightGBM\utils\pipeline_reader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\pipeline_reader.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_  [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:67:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_PIPELINE_READER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\pipeline_reader.h:9:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\utils\pipeline_reader.h:13:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\pipeline_reader.h:58:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./include\LightGBM\utils\random.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\random.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_RANDOM_H_  [build/header_guard] [5]
./include\LightGBM\utils\random.h:114:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_RANDOM_H_"  [build/header_guard] [5]
./include\LightGBM\utils\random.h:29:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
./include\LightGBM\R_object_helper.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\R_object_helper.h:6:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_  [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:188:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_R_OBJECT_HELPER_H_"  [build/header_guard] [5]
./include\LightGBM\R_object_helper.h:121:  Using C-style cast.  Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:123:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:125:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:127:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:129:  Using C-style cast.  Use reinterpret_cast<double *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:131:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:133:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:140:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:154:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:164:  Using C-style cast.  Use reinterpret_cast<int32_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:178:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./src\treelearner\serial_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\serial_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:272:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:801:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:841:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:553:  Add #include <unordered_map> for unordered_map<>  [build/include_what_you_use] [4]
./src\treelearner\serial_tree_learner.cpp:694:  Add #include <utility> for make_pair  [build/include_what_you_use] [4]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\io\bin.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\bin.cpp:11:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:12:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:13:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:15:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:16:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:17:  Found C++ system header after other header. Should be: bin.h, c system, c++ system, other.  [build/include_order] [4]
./src\io\bin.cpp:76:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:196:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:392:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\treelearner\data_partition.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\data_partition.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_DATA_PARTITION_HPP_  [build/header_guard] [5]
./src\treelearner\data_partition.hpp:225:  #endif line should be "#endif  // SRC_TREELEARNER_DATA_PARTITION_HPP_"  [build/header_guard] [5]
./src\treelearner\data_partition.hpp:83:  Add #include <algorithm> for copy  [build/include_what_you_use] [4]
Done processing ./src\treelearner\data_partition.hpp
./include\LightGBM\objective_function.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\objective_function.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_  [build/header_guard] [5]
./include\LightGBM\objective_function.h:93:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_OBJECTIVE_FUNCTION_H_"  [build/header_guard] [5]
./include\LightGBM\objective_function.h:88:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\objective_function.h
./src\io\dense_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dense_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_DENSE_BIN_HPP_  [build/header_guard] [5]
./src\io\dense_bin.hpp:350:  #endif line should be "#endif  // SRC_IO_DENSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\dense_bin.hpp:47:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_bin.hpp:191:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:252:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:325:  Missing space before {  [whitespace/braces] [5]
Done processing ./src\io\dense_bin.hpp
./src\io\dataset_loader.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dataset_loader.cpp:394:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset_loader.cpp:394:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\dataset_loader.cpp:417:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset_loader.cpp:417:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\io\dataset_loader.cpp
./include\LightGBM\json11.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\json11.hpp:80:  public: should be indented +1 space inside class Json  [whitespace/indent] [3]
./include\LightGBM\json11.hpp:92:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:165:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:180:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
./include\LightGBM\json11.hpp:181:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:186:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:205:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:220:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:204:  Add #include <utility> for pair<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\json11.hpp
./src\io\config_auto.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\config_auto.cpp:271:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:277:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:284:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:341:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:344:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:353:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:356:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:375:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:378:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:381:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:454:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:482:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:489:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:498:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:501:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:504:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:515:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
./src\io\config_auto.cpp:619:  Namespace should be terminated with "// namespace LightGBM"  [readability/namespace] [5]
Done processing ./src\io\config_auto.cpp
./src\io\config.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\config.cpp:157:  Use int16/int64/etc, rather than the C type short  [runtime/int] [4]
Done processing ./src\io\config.cpp
./include\LightGBM\utils\text_reader.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\text_reader.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_  [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:326:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_TEXT_READER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\text_reader.h:104:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:104:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:114:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:114:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:162:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:171:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:171:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:198:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:211:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:211:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:254:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:254:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:267:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:267:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./include\LightGBM\utils\text_reader.h:303:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./include\LightGBM\utils\text_reader.h:303:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./include\LightGBM\utils\text_reader.h
./include\LightGBM\application.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\application.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_APPLICATION_H_  [build/header_guard] [5]
./include\LightGBM\application.h:88:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_APPLICATION_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\application.h
./include\LightGBM\c_api.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\c_api.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_C_API_H_  [build/header_guard] [5]
./include\LightGBM\c_api.h:945:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_C_API_H_"  [build/header_guard] [5]
./include\LightGBM\c_api.h:15:  Found C system header after C++ system header. Should be: c_api.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\c_api.h:942:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./include\LightGBM\utils\threading.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\threading.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_THREADING_H_  [build/header_guard] [5]
./include\LightGBM\utils\threading.h:41:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_THREADING_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\utils\threading.h
./src\metric\regression_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\regression_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_REGRESSION_METRIC_HPP_  [build/header_guard] [5]
./src\metric\regression_metric.hpp:316:  #endif line should be "#endif  // SRC_METRIC_REGRESSION_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\regression_metric.hpp:268:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:290:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:109:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:109:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\metric\regression_metric.hpp:243:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
Done processing ./src\metric\regression_metric.hpp
./src\objective\multiclass_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\multiclass_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:259:  #endif line should be "#endif  // SRC_OBJECTIVE_MULTICLASS_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\multiclass_objective.hpp:137:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:225:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\objective\multiclass_objective.hpp:254:  Add #include <memory> for unique_ptr<>  [build/include_what_you_use] [4]
Done processing ./src\objective\multiclass_objective.hpp
./src\metric\rank_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\rank_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_RANK_METRIC_HPP_  [build/header_guard] [5]
./src\metric\rank_metric.hpp:171:  #endif line should be "#endif  // SRC_METRIC_RANK_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\rank_metric.hpp:152:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\rank_metric.hpp
./src\lightgbm_R.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\lightgbm_R.cpp:34:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./include\LightGBM\feature_group.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\feature_group.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_FEATURE_GROUP_H_  [build/header_guard] [5]
./include\LightGBM\feature_group.h:246:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_FEATURE_GROUP_H_"  [build/header_guard] [5]
./include\LightGBM\feature_group.h:31:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\feature_group.h:54:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\feature_group.h:215:  Missing space before {  [whitespace/braces] [5]
./include\LightGBM\feature_group.h:222:  Missing space before ( in for(  [whitespace/parens] [5]
./include\LightGBM\feature_group.h:222:  Missing space before {  [whitespace/braces] [5]
Done processing ./include\LightGBM\feature_group.h
./src\metric\dcg_calculator.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\dcg_calculator.cpp:25:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
./src\treelearner\split_info.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\split_info.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SPLIT_INFO_HPP_  [build/header_guard] [5]
./src\treelearner\split_info.hpp:285:  #endif line should be "#endif  // SRC_TREELEARNER_SPLIT_INFO_HPP_"  [build/header_guard] [5]
./src\treelearner\split_info.hpp:42:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\treelearner\split_info.hpp
./src\metric\binary_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\binary_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_BINARY_METRIC_HPP_  [build/header_guard] [5]
./src\metric\binary_metric.hpp:263:  #endif line should be "#endif  // SRC_METRIC_BINARY_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\binary_metric.hpp:259:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\binary_metric.hpp
./src\metric\map_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\map_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_MAP_METRIC_HPP_  [build/header_guard] [5]
./src\metric\map_metric.hpp:168:  #endif line should be "#endif  // SRC_METRIC_MAP_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\map_metric.hpp:99:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
./src\metric\map_metric.hpp:162:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\map_metric.hpp
./src\network\linkers_mpi.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers_mpi.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./include\LightGBM\network.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\network.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_NETWORK_H_  [build/header_guard] [5]
./include\LightGBM\network.h:307:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_NETWORK_H_"  [build/header_guard] [5]
./include\LightGBM\network.h:166:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:190:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:214:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:236:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local  [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\io\parser.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\parser.cpp:25:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:39:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:52:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:72:  Is this a non-const reference? If so, make const or use a pointer: std::string& line  [runtime/references] [2]
./src\io\parser.cpp:72:  Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer  [runtime/references] [2]
./src\io\parser.cpp:154:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.cpp:154:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.cpp:158:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.cpp:158:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\parser.cpp:100:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\io\parser.cpp
./src\objective\regression_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\regression_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\regression_objective.hpp:814:  #endif line should be "#endif  // SRC_OBJECTIVE_REGRESSION_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\regression_objective.hpp:61:  Missing space before ( in if(  [whitespace/parens] [5]
./src\objective\regression_objective.hpp:61:  Missing space before {  [whitespace/braces] [5]
./src\objective\regression_objective.hpp:433:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\regression_objective.hpp:645:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778:  Add #include <string> for string  [build/include_what_you_use] [4]
./src\objective\regression_objective.hpp:778:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\objective\regression_objective.hpp
./src\treelearner\gpu_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\gpu_tree_learner.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:6:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:7:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:8:  Found C system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:10:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:11:  Found C++ system header after other header. Should be: gpu_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\gpu_tree_learner.cpp:106:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:111:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:113:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:154:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:154:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:173:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:173:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:178:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:178:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:186:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:194:  Using C-style cast.  Use reinterpret_cast<HistType*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:212:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:212:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:321:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./src\treelearner\gpu_tree_learner.cpp:332:  Using C-style cast.  Use static_cast<double>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:334:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:341:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:341:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:356:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:363:  Using C-style cast.  Use reinterpret_cast<Feature4*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:367:  Using C-style cast.  Use reinterpret_cast<Feature4*>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:372:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:414:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:414:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:426:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:426:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:433:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:433:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:438:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:438:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:473:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:473:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:477:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:477:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:487:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:487:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:495:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:495:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:499:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:499:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:513:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:513:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:675:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:675:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:708:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:710:  Using C-style cast.  Use static_cast<int>(...) instead  [readability/casting] [4]
./src\treelearner\gpu_tree_learner.cpp:723:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:723:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:729:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:729:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:735:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:735:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:785:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:785:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:819:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:819:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:915:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:915:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:928:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:928:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:948:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:948:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:985:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:985:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1010:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1010:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:1064:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\treelearner\gpu_tree_learner.cpp:1064:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\treelearner\gpu_tree_learner.cpp:564:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./src\boosting\prediction_early_stop.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\prediction_early_stop.cpp:11:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./src\io\json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:294:  Else clause should never be on same line as else (use 2 lines)  [whitespace/newline] [4]
./src\io\json11.cpp:337:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:349:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
./src\io\json11.cpp:390:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./src\io\json11.cpp:398:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\json11.cpp:398:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\json11.cpp:411:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\json11.cpp:430:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:441:  Using C-style cast.  Use static_cast<char>(...) instead  [readability/casting] [4]
./src\io\json11.cpp:443:  Using C-style cast.  Use static_cast<char>(...) instead  [readability/casting] [4]
./src\io\json11.cpp:452:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:452:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
./src\io\json11.cpp:479:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:523:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing ./src\io\json11.cpp
./include\LightGBM\dataset.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\dataset.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_DATASET_H_  [build/header_guard] [5]
./include\LightGBM\dataset.h:631:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_DATASET_H_"  [build/header_guard] [5]
./include\LightGBM\dataset.h:17:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\dataset.h:287:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\dataset.h:405:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins  [runtime/references] [2]
./include\LightGBM\dataset.h:593:  Add #include <memory> for unique_ptr<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\dataset.h
./src\boosting\gbdt.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.cpp:264:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\treelearner\leaf_splits.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\leaf_splits.hpp:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_LEAF_SPLITS_HPP_  [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:162:  #endif line should be "#endif  // SRC_TREELEARNER_LEAF_SPLITS_HPP_"  [build/header_guard] [5]
./src\treelearner\leaf_splits.hpp:6:  Found C system header after C++ system header. Should be: leaf_splits.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:9:  Found C++ system header after other header. Should be: leaf_splits.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\leaf_splits.hpp:18:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./include\LightGBM\utils\file_io.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\file_io.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_  [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:74:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_FILE_IO_H_"  [build/header_guard] [5]
./include\LightGBM\utils\file_io.h:69:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\file_io.h
./src\io\parser.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\parser.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_PARSER_HPP_  [build/header_guard] [5]
./src\io\parser.hpp:129:  #endif line should be "#endif  // SRC_IO_PARSER_HPP_"  [build/header_guard] [5]
./src\io\parser.hpp:32:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\parser.hpp:32:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
Done processing ./src\io\parser.hpp
./src\treelearner\parallel_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\parallel_tree_learner.h:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:212:  #endif line should be "#endif  // SRC_TREELEARNER_PARALLEL_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\parallel_tree_learner.h:4:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:6:  Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:8:  Found C system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:10:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:11:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\parallel_tree_learner.h:12:  Found C++ system header after other header. Should be: parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./include\LightGBM\config.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\config.h:3:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_CONFIG_H_  [build/header_guard] [5]
./include\LightGBM\config.h:880:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_CONFIG_H_"  [build/header_guard] [5]
./include\LightGBM\config.h:74:  Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params  [runtime/references] [2]
Done processing ./include\LightGBM\config.h
./src\io\dense_nbits_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dense_nbits_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_DENSE_NBITS_BIN_HPP_  [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:397:  #endif line should be "#endif  // SRC_IO_DENSE_NBITS_BIN_HPP_"  [build/header_guard] [5]
./src\io\dense_nbits_bin.hpp:41:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:214:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:275:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:372:  Missing space before {  [whitespace/braces] [5]
./src\io\dense_nbits_bin.hpp:373:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
Done processing ./src\io\dense_nbits_bin.hpp
./include\LightGBM\boosting.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\boosting.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BOOSTING_H_  [build/header_guard] [5]
./include\LightGBM\boosting.h:304:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_BOOSTING_H_"  [build/header_guard] [5]
./include\LightGBM\boosting.h:158:  Add #include <unordered_map> for unordered_map<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\boosting.h
./src\objective\objective_function.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\objective\objective_function.cpp
./include\LightGBM\tree.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\tree.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_TREE_H_  [build/header_guard] [5]
./include\LightGBM\tree.h:517:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_TREE_H_"  [build/header_guard] [5]
./include\LightGBM\tree.h:262:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
./include\LightGBM\tree.h:271:  Using deprecated casting style.  Use static_cast<int>(...) instead  [readability/casting] [4]
./include\LightGBM\tree.h:334:  Complex multi-line /*...*/-style comment found. Lint may give bogus warnings.  Consider replacing these with //-style comments, with #if 0...#endif, or with more clearly structured multi-line comments.  [readability/multiline_comment] [5]
./include\LightGBM\tree.h:334:  At least two spaces is best between code and comments  [whitespace/comments] [2]
./include\LightGBM\tree.h:334:  Should have a space between // and comment  [whitespace/comments] [4]
./include\LightGBM\tree.h:334:  Extra space for operator !   [whitespace/operators] [4]
./include\LightGBM\tree.h:469:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./include\LightGBM\tree.h:500:  Add #include <unordered_map> for unordered_map<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\tree.h
./src\objective\xentropy_objective.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\objective\xentropy_objective.hpp:1:  #ifndef header guard has wrong style, please use: SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_  [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:269:  #endif line should be "#endif  // SRC_OBJECTIVE_XENTROPY_OBJECTIVE_HPP_"  [build/header_guard] [5]
./src\objective\xentropy_objective.hpp:60:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\xentropy_objective.hpp:163:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\objective\xentropy_objective.hpp:254:  private: should be indented +1 space inside class CrossEntropyLambda  [whitespace/indent] [3]
./src\objective\xentropy_objective.hpp:124:  Add #include <algorithm> for max  [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:148:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
./src\objective\xentropy_objective.hpp:226:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\objective\xentropy_objective.hpp
./src\application\predictor.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\application\predictor.hpp:1:  #ifndef header guard has wrong style, please use: SRC_APPLICATION_PREDICTOR_HPP_  [build/header_guard] [5]
./src\application\predictor.hpp:257:  #endif line should be "#endif  // SRC_APPLICATION_PREDICTOR_HPP_"  [build/header_guard] [5]
./src\application\predictor.hpp:41:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\application\predictor.hpp:42:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\application\predictor.hpp:234:  Add #include <unordered_map> for unordered_map<>  [build/include_what_you_use] [4]
Done processing ./src\application\predictor.hpp
./src\treelearner\voting_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\voting_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:3:  Found C system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:6:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:7:  Found C++ system header after other header. Should be: voting_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:134:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\treelearner\data_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\data_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:3:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:6:  Found C++ system header after other header. Should be: data_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\data_parallel_tree_learner.cpp:138:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./include\LightGBM\utils\log.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\log.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_LOG_H_  [build/header_guard] [5]
./include\LightGBM\utils\log.h:103:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_LOG_H_"  [build/header_guard] [5]
./include\LightGBM\utils\log.h:83:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\log.h
./include\LightGBM\utils\array_args.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\array_args.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_  [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:191:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_ARRAY_ARGS_H_"  [build/header_guard] [5]
./include\LightGBM\utils\array_args.h:6:  Found C system header after C++ system header. Should be: array_args.h, c system, c++ system, other.  [build/include_order] [4]
./include\LightGBM\utils\array_args.h:113:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./include\LightGBM\utils\array_args.h:124:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\utils\array_args.h
./include\LightGBM\utils\openmp_wrapper.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\utils\openmp_wrapper.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_  [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:76:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_UTILS_OPENMP_WRAPPER_H_"  [build/header_guard] [5]
./include\LightGBM\utils\openmp_wrapper.h:8:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\utils\openmp_wrapper.h:11:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\treelearner\feature_parallel_tree_learner.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\feature_parallel_tree_learner.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:3:  Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\feature_parallel_tree_learner.cpp:5:  Found C++ system header after other header. Should be: feature_parallel_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./src\boosting\rf.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\rf.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_RF_HPP_  [build/header_guard] [5]
./src\boosting\rf.hpp:209:  #endif line should be "#endif  // SRC_BOOSTING_RF_HPP_"  [build/header_guard] [5]
./src\boosting\rf.hpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\rf.hpp:9:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:10:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:11:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:12:  Found C++ system header after other header. Should be: rf.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\rf.hpp:105:  Add #include <memory> for unique_ptr<>  [build/include_what_you_use] [4]
./src\boosting\rf.hpp:153:  Add #include <utility> for move  [build/include_what_you_use] [4]
Done processing ./src\boosting\rf.hpp
./include\LightGBM\prediction_early_stop.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\prediction_early_stop.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_  [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:32:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_PREDICTION_EARLY_STOP_H_"  [build/header_guard] [5]
./include\LightGBM\prediction_early_stop.h:7:  Found C system header after C++ system header. Should be: prediction_early_stop.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./include\LightGBM\prediction_early_stop.h
./src\io\ordered_sparse_bin.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\ordered_sparse_bin.hpp:1:  #ifndef header guard has wrong style, please use: SRC_IO_ORDERED_SPARSE_BIN_HPP_  [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:211:  #endif line should be "#endif  // SRC_IO_ORDERED_SPARSE_BIN_HPP_"  [build/header_guard] [5]
./src\io\ordered_sparse_bin.hpp:10:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:35:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\ordered_sparse_bin.hpp:178:  Add #include <utility> for swap  [build/include_what_you_use] [4]
Done processing ./src\io\ordered_sparse_bin.hpp
./src\boosting\dart.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\dart.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_DART_HPP_  [build/header_guard] [5]
./src\boosting\dart.hpp:205:  #endif line should be "#endif  // SRC_BOOSTING_DART_HPP_"  [build/header_guard] [5]
./src\boosting\dart.hpp:6:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\dart.hpp:8:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:9:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:10:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:11:  Found C++ system header after other header. Should be: dart.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\dart.hpp:112:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
Done processing ./src\boosting\dart.hpp
./src\metric\xentropy_metric.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\metric\xentropy_metric.hpp:1:  #ifndef header guard has wrong style, please use: SRC_METRIC_XENTROPY_METRIC_HPP_  [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:356:  #endif line should be "#endif  // SRC_METRIC_XENTROPY_METRIC_HPP_"  [build/header_guard] [5]
./src\metric\xentropy_metric.hpp:89:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:180:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:264:  Using C-style cast.  Use reinterpret_cast<label_t*>(...) instead  [readability/casting] [4]
./src\metric\xentropy_metric.hpp:351:  Add #include <string> for string  [build/include_what_you_use] [4]
Done processing ./src\metric\xentropy_metric.hpp
./src\c_api.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\c_api.cpp:23:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\c_api.cpp:220:  Missing username in TODO; it should look like "// TODO(my_username): Stuff."  [readability/todo] [2]
./src\c_api.cpp:382:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\c_api.cpp:713:  Redundant blank line at the start of a code block should be deleted.  [whitespace/blank_line] [2]
./src\c_api.cpp:758:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
./src\c_api.cpp:872:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\c_api.cpp:970:  Missing space before ( in if(  [whitespace/parens] [5]
./src\c_api.cpp:970:  Missing space before {  [whitespace/braces] [5]
Done processing ./src\c_api.cpp
./include\LightGBM\export.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\export.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_EXPORT_H_  [build/header_guard] [5]
./include\LightGBM\export.h:21:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_EXPORT_H_"  [build/header_guard] [5]
Done processing ./include\LightGBM\export.h
./src\io\dataset.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\io\dataset.cpp:7:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\dataset.cpp:28:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset.cpp:61:  Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark  [runtime/references] [2]
./src\io\dataset.cpp:139:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./src\io\dataset.cpp:581:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:585:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
./src\io\dataset.cpp:585:  If an else has a brace on one side, it should have it on both  [readability/braces] [5]
./src\io\dataset.cpp:710:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:717:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:717:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:721:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:721:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:725:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:725:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:729:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:729:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:734:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:734:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:739:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:739:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:741:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:741:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:743:  Missing space before ( in if(  [whitespace/parens] [5]
./src\io\dataset.cpp:743:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:744:  Tab found; better to use spaces  [whitespace/tab] [1]
./src\io\dataset.cpp:746:  Tab found; better to use spaces  [whitespace/tab] [1]
./src\io\dataset.cpp:808:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:837:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:870:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:898:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:945:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:945:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:947:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:947:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:953:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:953:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:955:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:955:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:961:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:961:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:962:  Missing space before ( in if(  [whitespace/parens] [5]
./src\io\dataset.cpp:962:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:964:  Missing space before ( in if(  [whitespace/parens] [5]
./src\io\dataset.cpp:964:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:965:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:965:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:968:  Missing space before ( in if(  [whitespace/parens] [5]
./src\io\dataset.cpp:968:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:969:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:969:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:976:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:977:  Missing space before ( in if(  [whitespace/parens] [5]
./src\io\dataset.cpp:977:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:984:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:984:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:987:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:987:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:988:  Missing space before ( in if(  [whitespace/parens] [5]
./src\io\dataset.cpp:988:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:998:  Missing space before ( in for(  [whitespace/parens] [5]
./src\io\dataset.cpp:998:  Missing space before {  [whitespace/braces] [5]
./src\io\dataset.cpp:1005:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
Done processing ./src\io\dataset.cpp
./src\boosting\gbdt.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt.h:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_GBDT_H_  [build/header_guard] [5]
./src\boosting\gbdt.h:492:  #endif line should be "#endif  // SRC_BOOSTING_GBDT_H_"  [build/header_guard] [5]
./src\boosting\gbdt.h:11:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:12:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:13:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:14:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:15:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:16:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:16:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.h:17:  Found C++ system header after other header. Should be: gbdt.h, c system, c++ system, other.  [build/include_order] [4]
./src\boosting\gbdt.h:19:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\boosting\gbdt.h:137:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:173:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:180:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:268:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:276:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:355:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:381:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
./src\boosting\gbdt.h:94:  Add #include <utility> for move  [build/include_what_you_use] [4]
./src\boosting\gbdt.h:233:  Add #include <unordered_map> for unordered_map<>  [build/include_what_you_use] [4]
./src\boosting\gbdt.h:330:  Add #include <algorithm> for min  [build/include_what_you_use] [4]
Done processing ./src\boosting\gbdt.h
./include\LightGBM\bin.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./include\LightGBM\bin.h:1:  #ifndef header guard has wrong style, please use: INCLUDE_LIGHTGBM_BIN_H_  [build/header_guard] [5]
./include\LightGBM\bin.h:497:  #endif line should be "#endif  // INCLUDE_LIGHTGBM_BIN_H_"  [build/header_guard] [5]
./include\LightGBM\bin.h:176:  Add #include <string> for string  [build/include_what_you_use] [4]
./include\LightGBM\bin.h:181:  Add #include <limits> for numeric_limits<>  [build/include_what_you_use] [4]
Done processing ./include\LightGBM\bin.h
./src\boosting\gbdt_prediction.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\gbdt_prediction.cpp:1:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\network\socket_wrapper.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\socket_wrapper.hpp:1:  #ifndef header guard has wrong style, please use: SRC_NETWORK_SOCKET_WRAPPER_HPP_  [build/header_guard] [5]
./src\network\socket_wrapper.hpp:300:  #endif line should be "#endif  // SRC_NETWORK_SOCKET_WRAPPER_HPP_"  [build/header_guard] [5]
./src\network\socket_wrapper.hpp:18:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:19:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:20:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:21:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:22:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:23:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:24:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:25:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:176:  Using C-style cast.  Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead  [readability/casting] [4]
./src\network\socket_wrapper.hpp:184:  Using C-style cast.  Use reinterpret_cast<IP_ADAPTER_INFO *>(...) instead  [readability/casting] [4]
./src\network\socket_wrapper.hpp:216:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
./src\metric\metric.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\metric\metric.cpp
./src\treelearner\serial_tree_learner.h:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\treelearner\serial_tree_learner.h:1:  #ifndef header guard has wrong style, please use: SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_  [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:183:  #endif line should be "#endif  // SRC_TREELEARNER_SERIAL_TREE_LEARNER_H_"  [build/header_guard] [5]
./src\treelearner\serial_tree_learner.h:16:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:17:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:18:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:19:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:20:  Found C++ system header after other header. Should be: serial_tree_learner.h, c system, c++ system, other.  [build/include_order] [4]
./src\treelearner\serial_tree_learner.h:27:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:105:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./src\io\metadata.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
Done processing ./src\io\metadata.cpp
./src\network\linkers_socket.cpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\network\linkers_socket.cpp:2:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\network\linkers_socket.cpp:14:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:15:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./src\network\linkers_socket.cpp
./src\boosting\score_updater.hpp:0:  No copyright message found.  You should have a line: "Copyright [year] <Copyright Owner>"  [legal/copyright] [5]
./src\boosting\score_updater.hpp:1:  #ifndef header guard has wrong style, please use: SRC_BOOSTING_SCORE_UPDATER_HPP_  [build/header_guard] [5]
./src\boosting\score_updater.hpp:123:  #endif line should be "#endif  // SRC_BOOSTING_SCORE_UPDATER_HPP_"  [build/header_guard] [5]
./src\boosting\score_updater.hpp:118:  Add #include <vector> for vector<>  [build/include_what_you_use] [4]
Done processing ./src\boosting\score_updater.hpp
Total errors found: 752

@StrikerRUS
Copy link
Collaborator Author

@guolinke WDYT about copyright message?

@guolinke
Copy link
Collaborator

for the copyright, I think it is something like:

Copyright (c) 2016 Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License file in the project root for license information.

@StrikerRUS
Copy link
Collaborator Author

@guolinke OK. Just MS corp without ... and contributors?

@guolinke
Copy link
Collaborator

@guolinke OK. Just MS corp without ... and contributors?

Yeah, I think it is this, under Microsoft MIT license.
I also check other MS opensource projects, and they are this format.

@StrikerRUS
Copy link
Collaborator Author

@guolinke Got it! I'll create PR for this.

@StrikerRUS
Copy link
Collaborator Author

@guolinke Can all header files be moved to include/LightGBM folder in order to fix Include the directory when naming .h files [build/include_subdir] [4] error?
Then it will be possible to rewrite such includes with directory:

#include "gpu_tree_learner.h"
#include "serial_tree_learner.h"

@guolinke
Copy link
Collaborator

@StrikerRUS
There a trade-off here. These header files are not exposed to public, therefore, we put them in them src folder.

@StrikerRUS
Copy link
Collaborator Author

@guolinke Oh, I see. Thanks for the explanation!

@StrikerRUS
Copy link
Collaborator Author

StrikerRUS commented Apr 13, 2019

5b5b982

I think we may not check header guards because there are some problems with tests for them: cpplint/cpplint#44.
http://google.github.io/styleguide/cppguide.html#The__define_Guard

cpplint --linelength=999 --filter=-build/header_guard --recursive ./src ./include

Total errors found: 203

Report (Clickable):
./src\application\application.cpp:19:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./src\application\application.cpp
./src\application\predictor.hpp:45:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\application\predictor.hpp:46:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./src\application\predictor.hpp
Done processing ./src\treelearner\split_info.hpp
Done processing ./include\LightGBM\export.h
./include\LightGBM\tree.h:474:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./include\LightGBM\tree.h
Done processing ./src\io\dataset_loader.cpp
./src\io\dense_bin.hpp:51:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_bin.hpp:195:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:256:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\dense_bin.hpp
Done processing ./src\objective\regression_objective.hpp
./src\treelearner\serial_tree_learner.h:32:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:110:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./src\io\file_io.cpp:57:  For a static/global string constant, use a C style string instead: "const char kHdfsProto[]".  [runtime/string] [4]
Done processing ./src\io\file_io.cpp
Done processing ./include\LightGBM\utils\threading.h
./src\treelearner\serial_tree_learner.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:288:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:875:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:915:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\treelearner\serial_tree_learner.cpp
./include\LightGBM\json11.hpp:92:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:93:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:95:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:96:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:97:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:98:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:99:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:100:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:102:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:106:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:113:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:119:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:123:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:165:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:180:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
./include\LightGBM\json11.hpp:181:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:186:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:205:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:220:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing ./include\LightGBM\json11.hpp
./src\network\socket_wrapper.hpp:22:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:23:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:24:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:25:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:26:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:27:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:28:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:29:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:219:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
./src\treelearner\voting_parallel_tree_learner.cpp:11:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:138:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
Done processing ./include\LightGBM\prediction_early_stop.h
Done processing ./src\network\linker_topo.cpp
Done processing ./src\metric\metric.cpp
./src\treelearner\gpu_tree_learner.h:24:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:37:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:178:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:182:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:186:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
Done processing ./src\treelearner\gpu_tree_learner.h
Done processing ./src\io\tree.cpp
Done processing ./include\LightGBM\objective_function.h
Done processing ./src\main.cpp
./include\LightGBM\R_object_helper.h:126:  Using C-style cast.  Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:128:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:130:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:132:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:134:  Using C-style cast.  Use reinterpret_cast<double *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:136:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:138:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:145:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:159:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:169:  Using C-style cast.  Use reinterpret_cast<int32_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:183:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./include\LightGBM\network.h:169:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:193:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:217:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:239:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local  [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\c_api.cpp:25:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\c_api.cpp:385:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\c_api.cpp:877:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\c_api.cpp
Done processing ./src\metric\binary_metric.hpp
./src\io\parser.cpp:30:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:44:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: std::string& line  [runtime/references] [2]
./src\io\parser.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer  [runtime/references] [2]
Done processing ./src\io\parser.cpp
./src\treelearner\parallel_tree_learner.h:15:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:16:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./include\LightGBM\utils\openmp_wrapper.h:14:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\boosting\gbdt_prediction.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./src\io\ordered_sparse_bin.hpp:13:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:39:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./src\io\ordered_sparse_bin.hpp
Done processing ./include\LightGBM\boosting.h
./src\treelearner\feature_histogram.hpp:676:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./src\treelearner\feature_histogram.hpp
./src\io\config_auto.cpp:281:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:287:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:294:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:351:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:354:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:363:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:366:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:399:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:402:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:405:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:478:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:506:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:513:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:522:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:525:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:528:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:539:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
Done processing ./src\io\config_auto.cpp
./src\treelearner\leaf_splits.hpp:22:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./src\boosting\gbdt_model_text.cpp:13:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:17:  For a static/global string constant, use a C style string instead: "const char kModelVersion[]".  [runtime/string] [4]
Done processing ./src\boosting\gbdt_model_text.cpp
Done processing ./src\metric\rank_metric.hpp
./src\boosting\goss.hpp:15:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\goss.hpp:20:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\goss.hpp:91:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
Done processing ./include\LightGBM\metric.h
./src\metric\regression_metric.hpp:274:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:296:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\regression_metric.hpp
Done processing ./include\LightGBM\utils\file_io.h
Done processing ./include\LightGBM\bin.h
./src\treelearner\tree_learner.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\treelearner\tree_learner.cpp
./include\LightGBM\dataset_loader.h:55:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data  [runtime/references] [2]
Done processing ./include\LightGBM\dataset_loader.h
Done processing ./src\objective\binary_objective.hpp
./include\LightGBM\utils\text_reader.h:163:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:198:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
Done processing ./include\LightGBM\utils\text_reader.h
./src\boosting\gbdt.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.cpp:263:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
./src\treelearner\feature_parallel_tree_learner.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
./include\LightGBM\utils\array_args.h:119:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
Done processing ./include\LightGBM\utils\array_args.h
./src\io\sparse_bin.hpp:78:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\sparse_bin.hpp:148:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:211:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\sparse_bin.hpp
./include\LightGBM\feature_group.h:34:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\feature_group.h:57:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
Done processing ./include\LightGBM\feature_group.h
./src\io\dense_nbits_bin.hpp:45:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:218:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:279:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\dense_nbits_bin.hpp
./src\lightgbm_R.cpp:36:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
./src\io\json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:339:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:351:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
./src\io\json11.cpp:431:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:453:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:453:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
./src\io\json11.cpp:480:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:524:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing ./src\io\json11.cpp
Done processing ./src\metric\xentropy_metric.hpp
Done processing ./src\boosting\score_updater.hpp
./src\network\linkers_socket.cpp:12:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:14:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:19:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_socket.cpp
Done processing ./src\treelearner\data_partition.hpp
./include\LightGBM\config.h:78:  Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params  [runtime/references] [2]
Done processing ./include\LightGBM\config.h
Done processing ./src\metric\map_metric.hpp
./src\network\linkers_mpi.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
./src\treelearner\data_parallel_tree_learner.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:141:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
Done processing ./include\LightGBM\meta.h
./src\io\bin.cpp:77:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:197:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:393:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\io\bin.cpp
./src\boosting\prediction_early_stop.cpp:16:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./include\LightGBM\c_api.h:990:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./include\LightGBM\utils\common.h:27:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\common.h:303:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./include\LightGBM\utils\common.h:374:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:414:  Closing ) should be moved to the previous line  [whitespace/parens] [2]
./include\LightGBM\utils\common.h:418:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:627:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys  [runtime/references] [2]
./include\LightGBM\utils\common.h:627:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values  [runtime/references] [2]
./include\LightGBM\utils\common.h:648:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data  [runtime/references] [2]
./include\LightGBM\utils\common.h:824:  Is this a non-const reference? If so, make const or use a pointer: std::vector<uint32_t>& vec  [runtime/references] [2]
Done processing ./include\LightGBM\utils\common.h
./include\LightGBM\tree_learner.h:16:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./include\LightGBM\tree_learner.h:56:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./include\LightGBM\tree_learner.h
./include\LightGBM\utils\pipeline_reader.h:15:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./src\boosting\rf.hpp:18:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\rf.hpp
./src\boosting\dart.hpp:16:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\dart.hpp
Done processing ./src\io\metadata.cpp
Done processing ./src\objective\multiclass_objective.hpp
./src\metric\multiclass_metric.hpp:139:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:159:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
Done processing ./src\metric\multiclass_metric.hpp
./src\boosting\gbdt.h:18:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.h:26:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\boosting\gbdt.h:144:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:180:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:187:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:275:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:283:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:362:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:388:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing ./src\boosting\gbdt.h
Done processing ./include\LightGBM\application.h
./src\io\dataset.cpp:13:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\dataset.cpp:29:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset.cpp:62:  Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark  [runtime/references] [2]
./src\io\dataset.cpp:140:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./src\io\dataset.cpp:813:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:842:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:875:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:903:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:950:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:958:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:966:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
Done processing ./src\io\dataset.cpp
Done processing ./src\objective\rank_objective.hpp
./src\boosting\boosting.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
Done processing ./include\LightGBM\lightgbm_R.h
Done processing ./src\io\parser.hpp
./include\LightGBM\dataset.h:18:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\dataset.h:291:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\dataset.h:409:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins  [runtime/references] [2]
Done processing ./include\LightGBM\dataset.h
./src\treelearner\gpu_tree_learner.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:187:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
Done processing ./include\LightGBM\utils\log.h
./include\LightGBM\utils\random.h:32:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
./src\network\linkers.h:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:17:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:22:  Found C system header after other header. Should be: linkers.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\linkers.h
./src\network\network.cpp:12:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\network.cpp
./src\io\config.cpp:157:  Use int16/int64/etc, rather than the C type short  [runtime/int] [4]
Done processing ./src\io\config.cpp
Done processing ./src\objective\xentropy_objective.hpp
Done processing ./src\objective\objective_function.cpp
./src\metric\dcg_calculator.cpp:27:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
Total errors found: 203

@StrikerRUS
Copy link
Collaborator Author

@guolinke It seems to me that there are no errors anymore which I can address. Maybe you can? All remaining issues we can mark as // NOLINT or include in --filter option and finally deploy this lint check at our CI test.

@guolinke
Copy link
Collaborator

@StrikerRUS It looks good to me. Thanks very much for your great work!

@StrikerRUS
Copy link
Collaborator Author

@guolinke No problem!

I can help with // NOLINT marking after your contentful PR(s).

@StrikerRUS
Copy link
Collaborator Author

716fe4d

Total errors found: 210

Report (Clickable):
Done processing ./include\LightGBM\lightgbm_R.h
./include\LightGBM\dataset_loader.h:55:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data  [runtime/references] [2]
Done processing ./include\LightGBM\dataset_loader.h
Done processing ./include\LightGBM\metric.h
./src\io\bin.cpp:77:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:197:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\bin.cpp:391:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\io\bin.cpp
./include\LightGBM\dataset.h:19:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./include\LightGBM\dataset.h:292:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\dataset.h:410:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins  [runtime/references] [2]
Done processing ./include\LightGBM\dataset.h
./src\boosting\gbdt_prediction.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\gbdt_prediction.cpp
./include\LightGBM\utils\array_args.h:119:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
Done processing ./include\LightGBM\utils\array_args.h
Done processing ./src\metric\rank_metric.hpp
./src\c_api.cpp:25:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\c_api.cpp:385:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\c_api.cpp:876:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\c_api.cpp
Done processing ./src\objective\regression_objective.hpp
./src\boosting\dart.hpp:16:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\dart.hpp
./src\treelearner\feature_histogram.hpp:676:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./src\treelearner\feature_histogram.hpp
Done processing ./src\metric\map_metric.hpp
./src\io\ordered_sparse_bin.hpp:13:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\ordered_sparse_bin.hpp:39:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./src\io\ordered_sparse_bin.hpp
Done processing ./include\LightGBM\application.h
Done processing ./src\network\linker_topo.cpp
./include\LightGBM\network.h:169:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:193:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:217:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
./include\LightGBM\network.h:239:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local  [runtime/references] [2]
Done processing ./include\LightGBM\network.h
./src\treelearner\voting_parallel_tree_learner.cpp:11:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\voting_parallel_tree_learner.cpp:138:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\voting_parallel_tree_learner.cpp
./src\boosting\boosting.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\boosting.cpp
./include\LightGBM\utils\pipeline_reader.h:15:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./include\LightGBM\utils\pipeline_reader.h
./include\LightGBM\utils\random.h:32:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./include\LightGBM\utils\random.h
Done processing ./include\LightGBM\bin.h
Done processing ./src\treelearner\data_partition.hpp
./src\treelearner\leaf_splits.hpp:22:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing ./src\treelearner\leaf_splits.hpp
./src\metric\multiclass_metric.hpp:141:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
./src\metric\multiclass_metric.hpp:165:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
Done processing ./src\metric\multiclass_metric.hpp
./src\treelearner\parallel_tree_learner.h:15:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\parallel_tree_learner.h:16:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\treelearner\parallel_tree_learner.h
./src\application\application.cpp:19:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./src\application\application.cpp
./src\treelearner\serial_tree_learner.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\serial_tree_learner.cpp:288:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\treelearner\serial_tree_learner.cpp:883:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\treelearner\serial_tree_learner.cpp
./src\boosting\gbdt.h:18:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.h:26:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\boosting\gbdt.h:144:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:180:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:187:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:275:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:283:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:362:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\boosting\gbdt.h:388:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
./src\boosting\gbdt.h:398:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing ./src\boosting\gbdt.h
Done processing ./include\LightGBM\utils\file_io.h
./include\LightGBM\utils\common.h:27:  Include the directory when naming .h files  [build/include_subdir] [4]
./include\LightGBM\utils\common.h:303:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./include\LightGBM\utils\common.h:374:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:414:  Closing ) should be moved to the previous line  [whitespace/parens] [2]
./include\LightGBM\utils\common.h:418:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
./include\LightGBM\utils\common.h:627:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys  [runtime/references] [2]
./include\LightGBM\utils\common.h:627:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values  [runtime/references] [2]
./include\LightGBM\utils\common.h:648:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data  [runtime/references] [2]
./include\LightGBM\utils\common.h:824:  Is this a non-const reference? If so, make const or use a pointer: std::vector<uint32_t>& vec  [runtime/references] [2]
Done processing ./include\LightGBM\utils\common.h
Done processing ./src\main.cpp
./src\treelearner\serial_tree_learner.h:32:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\serial_tree_learner.h:107:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./src\treelearner\serial_tree_learner.h
./src\network\socket_wrapper.hpp:22:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:23:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:24:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:25:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:26:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:27:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:28:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:29:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
./src\network\socket_wrapper.hpp:219:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing ./src\network\socket_wrapper.hpp
Done processing ./src\io\tree.cpp
./src\boosting\prediction_early_stop.cpp:16:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\boosting\prediction_early_stop.cpp
./src\io\dataset.cpp:13:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\io\dataset.cpp:29:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset.cpp:62:  Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark  [runtime/references] [2]
./src\io\dataset.cpp:140:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./src\io\dataset.cpp:323:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset.cpp:833:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:862:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:895:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:923:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
./src\io\dataset.cpp:970:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:978:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
./src\io\dataset.cpp:986:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
Done processing ./src\io\dataset.cpp
./src\boosting\gbdt.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt.cpp:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\gbdt.cpp:298:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\boosting\gbdt.cpp
Done processing ./src\metric\xentropy_metric.hpp
./include\LightGBM\utils\openmp_wrapper.h:14:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
Done processing ./include\LightGBM\utils\openmp_wrapper.h
./src\treelearner\tree_learner.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\tree_learner.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\treelearner\tree_learner.cpp
./src\application\predictor.hpp:45:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\application\predictor.hpp:46:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./src\application\predictor.hpp
./src\boosting\gbdt_model_text.cpp:13:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\gbdt_model_text.cpp:17:  For a static/global string constant, use a C style string instead: "const char kModelVersion[]".  [runtime/string] [4]
Done processing ./src\boosting\gbdt_model_text.cpp
Done processing ./src\metric\metric.cpp
./src\metric\regression_metric.hpp:274:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\metric\regression_metric.hpp:296:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\regression_metric.hpp
./include\LightGBM\R_object_helper.h:126:  Using C-style cast.  Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:128:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:130:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:132:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:134:  Using C-style cast.  Use reinterpret_cast<double *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:136:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:138:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:145:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:159:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:169:  Using C-style cast.  Use reinterpret_cast<int32_t *>(...) instead  [readability/casting] [4]
./include\LightGBM\R_object_helper.h:183:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
Done processing ./include\LightGBM\R_object_helper.h
./src\boosting\goss.hpp:15:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\boosting\goss.hpp:20:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\boosting\goss.hpp:91:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing ./src\boosting\goss.hpp
Done processing ./include\LightGBM\objective_function.h
Done processing ./src\io\parser.hpp
./src\io\json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
./src\io\json11.cpp:339:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:351:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
./src\io\json11.cpp:431:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
./src\io\json11.cpp:453:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:453:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
./src\io\json11.cpp:480:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
./src\io\json11.cpp:524:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing ./src\io\json11.cpp
./src\network\linkers.h:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:17:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers.h:22:  Found C system header after other header. Should be: linkers.h, c system, c++ system, other.  [build/include_order] [4]
Done processing ./src\network\linkers.h
./src\io\dataset_loader.cpp:432:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset_loader.cpp:566:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset_loader.cpp:654:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\dataset_loader.cpp:872:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\dataset_loader.cpp:980:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./src\io\dataset_loader.cpp
./src\io\file_io.cpp:57:  For a static/global string constant, use a C style string instead: "const char kHdfsProto[]".  [runtime/string] [4]
Done processing ./src\io\file_io.cpp
./src\boosting\rf.hpp:18:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\boosting\rf.hpp
./src\treelearner\gpu_tree_learner.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.cpp:187:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\gpu_tree_learner.cpp
./src\io\config.cpp:160:  Use int16/int64/etc, rather than the C type short  [runtime/int] [4]
Done processing ./src\io\config.cpp
./src\lightgbm_R.cpp:36:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing ./src\lightgbm_R.cpp
Done processing ./include\LightGBM\prediction_early_stop.h
Done processing ./src\objective\xentropy_objective.hpp
Done processing ./src\treelearner\split_info.hpp
Done processing ./include\LightGBM\boosting.h
./src\io\parser.cpp:30:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:44:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
./src\io\parser.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: std::string& line  [runtime/references] [2]
./src\io\parser.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer  [runtime/references] [2]
Done processing ./src\io\parser.cpp
./src\treelearner\gpu_tree_learner.h:24:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\gpu_tree_learner.h:37:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./src\treelearner\gpu_tree_learner.h:178:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:182:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
./src\treelearner\gpu_tree_learner.h:186:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
Done processing ./src\treelearner\gpu_tree_learner.h
./src\io\config_auto.cpp:292:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:298:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:305:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
./src\io\config_auto.cpp:372:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:375:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:384:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:387:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:420:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:427:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:430:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:503:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:531:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:538:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:547:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:550:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:553:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:556:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
./src\io\config_auto.cpp:567:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
Done processing ./src\io\config_auto.cpp
./include\LightGBM\config.h:78:  Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params  [runtime/references] [2]
Done processing ./include\LightGBM\config.h
./src\treelearner\feature_parallel_tree_learner.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\treelearner\feature_parallel_tree_learner.cpp
Done processing ./include\LightGBM\export.h
./src\io\dense_nbits_bin.hpp:45:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_nbits_bin.hpp:218:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_nbits_bin.hpp:279:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\dense_nbits_bin.hpp
Done processing ./src\objective\rank_objective.hpp
./src\network\linkers_socket.cpp:12:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:14:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
./src\network\linkers_socket.cpp:19:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_socket.cpp
Done processing ./src\metric\binary_metric.hpp
Done processing ./src\objective\objective_function.cpp
Done processing ./include\LightGBM\meta.h
./include\LightGBM\tree_learner.h:16:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
./include\LightGBM\tree_learner.h:56:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing ./include\LightGBM\tree_learner.h
./include\LightGBM\c_api.h:1042:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing ./include\LightGBM\c_api.h
./src\network\linkers_mpi.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\linkers_mpi.cpp
Done processing ./include\LightGBM\utils\threading.h
./src\network\network.cpp:12:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing ./src\network\network.cpp
./include\LightGBM\json11.hpp:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./include\LightGBM\json11.hpp:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
./include\LightGBM\json11.hpp:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
./include\LightGBM\json11.hpp:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
./include\LightGBM\json11.hpp:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing ./include\LightGBM\json11.hpp
./src\io\sparse_bin.hpp:78:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\sparse_bin.hpp:148:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\sparse_bin.hpp:211:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\sparse_bin.hpp
./src\treelearner\data_parallel_tree_learner.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
./src\treelearner\data_parallel_tree_learner.cpp:141:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing ./src\treelearner\data_parallel_tree_learner.cpp
./include\LightGBM\tree.h:487:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing ./include\LightGBM\tree.h
./include\LightGBM\utils\text_reader.h:163:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
./include\LightGBM\utils\text_reader.h:198:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
Done processing ./include\LightGBM\utils\text_reader.h
Done processing ./src\io\metadata.cpp
Done processing ./src\objective\binary_objective.hpp
Done processing ./src\objective\multiclass_objective.hpp
./include\LightGBM\feature_group.h:34:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
./include\LightGBM\feature_group.h:57:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
Done processing ./include\LightGBM\feature_group.h
./src\io\dense_bin.hpp:51:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
./src\io\dense_bin.hpp:195:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
./src\io\dense_bin.hpp:256:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing ./src\io\dense_bin.hpp
Done processing ./src\boosting\score_updater.hpp
Done processing ./include\LightGBM\utils\log.h
./src\metric\dcg_calculator.cpp:27:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing ./src\metric\dcg_calculator.cpp
Total errors found: 210

@StrikerRUS
Copy link
Collaborator Author

@guolinke Are we planning implementing CHECK_XX functions? If not, I can include readability/check into a filter, and the number of errors will be significantly decreased which will allow to concentrate on other errors.

https://github.com/dmlc/dmlc-core/blob/fbe142b267a8edd1f1188fa2140d88f7ae308661/include/dmlc/logging.h#L165-L216

@guolinke
Copy link
Collaborator

@StrikerRUS I think we could add them, but I don't have much spare time for it now.
Maybe you could help to implement it, or i could do it in the future?

@StrikerRUS
Copy link
Collaborator Author

306c6db

Total errors found: 225

Report (Clickable):
src/metric/regression_metric.hpp:274:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/metric/regression_metric.hpp:296:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing src/metric/regression_metric.hpp
src/objective/rank_objective.hpp:108:  Tab found; better to use spaces  [whitespace/tab] [1]
src/objective/rank_objective.hpp:108:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
src/objective/rank_objective.hpp:146:  Tab found; better to use spaces  [whitespace/tab] [1]
src/objective/rank_objective.hpp:146:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/utils/file_io.h
src/c_api.cpp:25:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
src/c_api.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: Boosting& boosting  [runtime/references] [2]
src/c_api.cpp:81:  Is this a non-const reference? If so, make const or use a pointer: Boosting& boosting  [runtime/references] [2]
src/c_api.cpp:88:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
src/c_api.cpp:416:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
src/c_api.cpp:907:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing src/c_api.cpp
src/boosting/prediction_early_stop.cpp:16:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing src/boosting/prediction_early_stop.cpp
src/io/config.cpp:213:  Use int16/int64/etc, rather than the C type short  [runtime/int] [4]
Done processing src/io/config.cpp
src/metric/multiclass_metric.hpp:141:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
src/metric/multiclass_metric.hpp:165:  Is this a non-const reference? If so, make const or use a pointer: std::vector<double>& score  [runtime/references] [2]
Done processing src/metric/multiclass_metric.hpp
src/boosting/gbdt.h:18:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
src/boosting/gbdt.h:26:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
src/boosting/gbdt.h:144:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/boosting/gbdt.h:180:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/boosting/gbdt.h:187:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/boosting/gbdt.h:275:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/boosting/gbdt.h:283:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/boosting/gbdt.h:362:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/boosting/gbdt.h:388:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
src/boosting/gbdt.h:398:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing src/boosting/gbdt.h
include/LightGBM/tree_learner.h:16:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
include/LightGBM/tree_learner.h:56:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing include/LightGBM/tree_learner.h
Done processing include/LightGBM/objective_function.h
src/io/dense_nbits_bin.hpp:45:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
src/io/dense_nbits_bin.hpp:218:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/io/dense_nbits_bin.hpp:279:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing src/io/dense_nbits_bin.hpp
include/LightGBM/utils/random.h:32:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing include/LightGBM/utils/random.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/prediction_early_stop.h
src/lightgbm_R.cpp:36:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
src/treelearner/tree_learner.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/tree_learner.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/tree_learner.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/treelearner/tree_learner.cpp
src/network/linkers_mpi.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/network/linkers_mpi.cpp
src/boosting/boosting.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/boosting/boosting.cpp
src/boosting/gbdt_model_text.cpp:13:  Include the directory when naming .h files  [build/include_subdir] [4]
src/boosting/gbdt_model_text.cpp:17:  For a static/global string constant, use a C style string instead: "const char kModelVersion[]".  [runtime/string] [4]
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/objective/objective_function.cpp
Done processing src/network/linker_topo.cpp
Done processing src/io/metadata.cpp
src/boosting/gbdt_prediction.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/export.h
include/LightGBM/tree.h:487:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing include/LightGBM/tree.h
src/io/dataset.cpp:13:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
src/io/dataset.cpp:29:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/dataset.cpp:62:  Is this a non-const reference? If so, make const or use a pointer: std::vector<bool>& mark  [runtime/references] [2]
src/io/dataset.cpp:140:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
src/io/dataset.cpp:323:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/dataset.cpp:833:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
src/io/dataset.cpp:862:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
src/io/dataset.cpp:895:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
src/io/dataset.cpp:923:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
src/io/dataset.cpp:970:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
src/io/dataset.cpp:978:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
src/io/dataset.cpp:986:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& dest  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/metric/binary_metric.hpp
src/treelearner/serial_tree_learner.h:32:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
src/treelearner/serial_tree_learner.h:81:  Do not leave a blank line after "protected:"  [whitespace/blank_line] [3]
src/treelearner/serial_tree_learner.h:109:  Is this a non-const reference? If so, make const or use a pointer: Json& forced_split_json  [runtime/references] [2]
Done processing src/treelearner/serial_tree_learner.h
Done processing src/boosting/score_updater.hpp
src/treelearner/parallel_tree_learner.h:15:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/parallel_tree_learner.h:16:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/lightgbm_R.h
include/LightGBM/json11.hpp:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
include/LightGBM/json11.hpp:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
include/LightGBM/json11.hpp:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
src/network/linkers_socket.cpp:12:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
src/network/linkers_socket.cpp:14:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
src/network/linkers_socket.cpp:19:  Include the directory when naming .h files  [build/include_subdir] [4]
src/network/linkers_socket.cpp:190:  At least two spaces is best between code and comments  [whitespace/comments] [2]
Done processing src/network/linkers_socket.cpp
src/network/socket_wrapper.hpp:22:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:23:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:24:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:25:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:26:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:27:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:28:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:29:  Found C system header after C++ system header. Should be: socket_wrapper.h, c system, c++ system, other.  [build/include_order] [4]
src/network/socket_wrapper.hpp:219:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
src/io/file_io.cpp:57:  For a static/global string constant, use a C style string instead: "const char kHdfsProto[]".  [runtime/string] [4]
Done processing src/io/file_io.cpp
Done processing include/LightGBM/utils/log.h
Done processing include/LightGBM/boosting.h
src/io/dataset_loader.cpp:432:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/dataset_loader.cpp:566:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/dataset_loader.cpp:658:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
src/io/dataset_loader.cpp:876:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/dataset_loader.cpp:984:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing src/io/dataset_loader.cpp
include/LightGBM/R_object_helper.h:126:  Using C-style cast.  Use reinterpret_cast<SEXPREC_ALIGN *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:128:  Using C-style cast.  Use reinterpret_cast<char *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:130:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:132:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:134:  Using C-style cast.  Use reinterpret_cast<double *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:136:  Using C-style cast.  Use reinterpret_cast<int *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:138:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:145:  Using C-style cast.  Use reinterpret_cast<int64_t *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:159:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:169:  Using C-style cast.  Use reinterpret_cast<int32_t *>(...) instead  [readability/casting] [4]
include/LightGBM/R_object_helper.h:183:  Using C-style cast.  Use reinterpret_cast<void *>(...) instead  [readability/casting] [4]
Done processing include/LightGBM/R_object_helper.h
src/io/sparse_bin.hpp:78:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
src/io/sparse_bin.hpp:148:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/io/sparse_bin.hpp:211:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing src/io/sparse_bin.hpp
src/io/parser.cpp:30:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
src/io/parser.cpp:44:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
src/io/parser.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: std::string& str  [runtime/references] [2]
src/io/parser.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: std::string& line  [runtime/references] [2]
src/io/parser.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: std::vector<char>& buffer  [runtime/references] [2]
Done processing src/io/parser.cpp
Done processing src/metric/map_metric.hpp
include/LightGBM/utils/array_args.h:119:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
Done processing include/LightGBM/utils/array_args.h
src/boosting/goss.hpp:15:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
src/boosting/goss.hpp:20:  Include the directory when naming .h files  [build/include_subdir] [4]
src/boosting/goss.hpp:91:  Is this a non-const reference? If so, make const or use a pointer: Random& cur_rand  [runtime/references] [2]
Done processing src/boosting/goss.hpp
Done processing src/treelearner/split_info.hpp
src/network/network.cpp:12:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/network/network.cpp
include/LightGBM/config.h:78:  Is this a non-const reference? If so, make const or use a pointer: std::unordered_map<std::string, std::string>& params  [runtime/references] [2]
Done processing include/LightGBM/config.h
Done processing src/objective/regression_objective.hpp
src/io/config_auto.cpp:296:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
src/io/config_auto.cpp:302:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:309:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
src/io/config_auto.cpp:380:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:383:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:392:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:395:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:428:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:435:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:438:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:511:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:539:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:548:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:557:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:560:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:563:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:566:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/config_auto.cpp:577:  Redundant blank line at the end of a code block should be deleted.  [whitespace/blank_line] [3]
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/metric/metric.cpp
src/metric/dcg_calculator.cpp:27:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing src/metric/dcg_calculator.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/io/parser.hpp
Done processing src/io/tree.cpp
src/boosting/dart.hpp:16:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/boosting/dart.hpp
include/LightGBM/c_api.h:1041:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/data_partition.hpp
src/io/dense_bin.hpp:51:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
src/io/dense_bin.hpp:195:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
src/io/dense_bin.hpp:256:  "virtual" is redundant since function is already declared as "override"  [readability/inheritance] [4]
Done processing src/io/dense_bin.hpp
src/application/predictor.hpp:45:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/application/predictor.hpp:46:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing src/application/predictor.hpp
include/LightGBM/dataset.h:19:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
include/LightGBM/dataset.h:292:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
include/LightGBM/dataset.h:410:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<OrderedBin>>& ordered_bins  [runtime/references] [2]
Done processing include/LightGBM/dataset.h
include/LightGBM/dataset_loader.h:55:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::string>& text_data  [runtime/references] [2]
Done processing include/LightGBM/dataset_loader.h
src/treelearner/serial_tree_learner.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/serial_tree_learner.cpp:290:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:293:  Missing space before ( in if(  [whitespace/parens] [5]
src/treelearner/serial_tree_learner.cpp:302:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:314:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
src/treelearner/serial_tree_learner.cpp:925:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing src/treelearner/serial_tree_learner.cpp
src/io/bin.cpp:77:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
src/io/bin.cpp:393:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing src/io/bin.cpp
src/treelearner/data_parallel_tree_learner.cpp:9:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/data_parallel_tree_learner.cpp:141:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing src/treelearner/data_parallel_tree_learner.cpp
src/application/application.cpp:19:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
src/application/application.cpp:88:  Line ends in whitespace.  Consider deleting these extra spaces.  [whitespace/end_of_line] [4]
Done processing src/application/application.cpp
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/metric.h
Done processing src/main.cpp
src/boosting/rf.hpp:18:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/boosting/rf.hpp
src/io/json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:339:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:351:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
src/io/json11.cpp:431:  Empty loop bodies should use {} or continue  [whitespace/empty_loop_body] [5]
src/io/json11.cpp:453:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:453:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
src/io/json11.cpp:480:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:524:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/meta.h
include/LightGBM/utils/text_reader.h:163:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
include/LightGBM/utils/text_reader.h:198:  Is this a non-const reference? If so, make const or use a pointer: Random& random  [runtime/references] [2]
Done processing include/LightGBM/utils/text_reader.h
src/treelearner/feature_parallel_tree_learner.cpp:8:  Include the directory when naming .h files  [build/include_subdir] [4]
Done processing src/treelearner/feature_parallel_tree_learner.cpp
src/io/ordered_sparse_bin.hpp:13:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
src/io/ordered_sparse_bin.hpp:39:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing src/io/ordered_sparse_bin.hpp
src/treelearner/leaf_splits.hpp:22:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
Done processing src/treelearner/leaf_splits.hpp
include/LightGBM/utils/pipeline_reader.h:15:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
Done processing include/LightGBM/utils/pipeline_reader.h
include/LightGBM/feature_group.h:34:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
include/LightGBM/feature_group.h:57:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::unique_ptr<BinMapper>>& bin_mappers  [runtime/references] [2]
Done processing include/LightGBM/feature_group.h
src/treelearner/gpu_tree_learner.cpp:7:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/gpu_tree_learner.cpp:187:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing src/treelearner/gpu_tree_learner.cpp
include/LightGBM/network.h:169:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
include/LightGBM/network.h:192:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
include/LightGBM/network.h:216:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
include/LightGBM/network.h:238:  Is this a non-const reference? If so, make const or use a pointer: T& local  [runtime/references] [2]
include/LightGBM/network.h:243:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T>& local  [runtime/references] [2]
Done processing include/LightGBM/network.h
src/treelearner/gpu_tree_learner.h:24:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/gpu_tree_learner.h:37:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
src/treelearner/gpu_tree_learner.h:178:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:182:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
src/treelearner/gpu_tree_learner.h:186:  Line contains only semicolon. If this should be an empty statement, use {} instead.  [whitespace/semicolon] [5]
Done processing src/treelearner/gpu_tree_learner.h
include/LightGBM/utils/openmp_wrapper.h:14:  <mutex> is an unapproved C++11 header.  [build/c++11] [5]
Done processing include/LightGBM/utils/openmp_wrapper.h
src/treelearner/voting_parallel_tree_learner.cpp:11:  Include the directory when naming .h files  [build/include_subdir] [4]
src/treelearner/voting_parallel_tree_learner.cpp:138:  Using C-style cast.  Use reinterpret_cast<void*>(...) instead  [readability/casting] [4]
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/bin.h
src/treelearner/feature_histogram.hpp:676:  Consider using CHECK_GE instead of CHECK(a >= b)  [readability/check] [2]
Done processing src/treelearner/feature_histogram.hpp
src/boosting/gbdt.cpp:5:  Include the directory when naming .h files  [build/include_subdir] [4]
src/boosting/gbdt.cpp:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
src/boosting/gbdt.cpp:299:  Consider using CHECK_GT instead of CHECK(a > b)  [readability/check] [2]
Done processing src/boosting/gbdt.cpp
src/network/linkers.h:14:  <chrono> is an unapproved C++11 header.  [build/c++11] [5]
src/network/linkers.h:17:  <thread> is an unapproved C++11 header.  [build/c++11] [5]
src/network/linkers.h:22:  Found C system header after other header. Should be: linkers.h, c system, c++ system, other.  [build/include_order] [4]
Done processing src/network/linkers.h
include/LightGBM/utils/common.h:27:  Include the directory when naming .h files  [build/include_subdir] [4]
include/LightGBM/utils/common.h:167:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T> &ret  [runtime/references] [2]
include/LightGBM/utils/common.h:328:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
include/LightGBM/utils/common.h:399:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
include/LightGBM/utils/common.h:439:  Closing ) should be moved to the previous line  [whitespace/parens] [2]
include/LightGBM/utils/common.h:443:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
include/LightGBM/utils/common.h:667:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T1>& keys  [runtime/references] [2]
include/LightGBM/utils/common.h:667:  Is this a non-const reference? If so, make const or use a pointer: std::vector<T2>& values  [runtime/references] [2]
include/LightGBM/utils/common.h:688:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<T>>& data  [runtime/references] [2]
include/LightGBM/utils/common.h:718:  Missing space before {  [whitespace/braces] [5]
include/LightGBM/utils/common.h:868:  Is this a non-const reference? If so, make const or use a pointer: std::vector<uint32_t>& vec  [runtime/references] [2]
Done processing include/LightGBM/utils/common.h
Done processing src/metric/xentropy_metric.hpp
Total errors found: 225

@StrikerRUS
Copy link
Collaborator Author

Huh, 853 -> 49! I believe we are almost done with this issue and will be able to enable cpplint check at CI in the near future.
@guolinke Can you please help with the rest errors, mainly with json11?

@jameslamb
Copy link
Collaborator

woo! @StrikerRUS I could make a PR for the whitespace and braces ones if you don't already have one.

@StrikerRUS
Copy link
Collaborator Author

@jameslamb Sure, please do it!

@guolinke
Copy link
Collaborator

guolinke commented Mar 5, 2020

@StrikerRUS
I will work on json11 when I have time

@jameslamb
Copy link
Collaborator

7776cfe

Total errors found: 44

Report (Clickable):
Done processing include/LightGBM/network.h
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/meta.h
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/dataset_loader.h
Done processing src/application/predictor.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/boosting.h
Done processing include/LightGBM/export.h
Done processing src/boosting/goss.hpp
Done processing src/io/dense_bin.hpp
include/LightGBM/json11.hpp:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/json11.hpp:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
include/LightGBM/json11.hpp:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
include/LightGBM/json11.hpp:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/json11.hpp:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing include/LightGBM/json11.hpp
Done processing src/network/linkers.h
src/io/dataset.cpp:437:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/metric.h
Done processing src/io/config.cpp
src/io/json11.cpp:53:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:57:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:67:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:73:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:77:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:114:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:126:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:339:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:351:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
src/io/json11.cpp:452:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:452:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
src/io/json11.cpp:479:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:523:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/objective_function.h
src/c_api.cpp:546:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing src/c_api.cpp
src/lightgbm_R.cpp:35:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/network/linkers_mpi.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/config.h
src/network/socket_wrapper.hpp:221:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing include/LightGBM/tree.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/main.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/io/tree.cpp
Done processing src/application/application.cpp
Done processing src/metric/map_metric.hpp
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/bin.h
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/boosting/gbdt.h
Done processing src/boosting/dart.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/metric/regression_metric.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/io/metadata.cpp
Done processing include/LightGBM/dataset.h
Done processing src/io/dense_nbits_bin.hpp
Done processing src/metric/dcg_calculator.cpp
include/LightGBM/c_api.h:1059:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/utils/threading.h
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/network/linker_topo.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/metric/multiclass_metric.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/tree_learner.h
Done processing src/io/dataset_loader.cpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/network/network.cpp
Done processing src/io/file_io.cpp
Done processing src/boosting/gbdt.cpp
Done processing src/io/parser.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/io/parser.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/objective/regression_objective.hpp
Done processing src/io/config_auto.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/serial_tree_learner.cpp
include/LightGBM/utils/common.h:316:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
include/LightGBM/utils/common.h:387:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
include/LightGBM/utils/common.h:432:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/io/bin.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/feature_group.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/prediction_early_stop.h
Total errors found: 44

@StrikerRUS
Copy link
Collaborator Author

0d878b1

Total errors found: 44

Report (Clickable):

Done processing src/metric/metric.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/boosting/boosting.cpp
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/score_updater.hpp
src/network/socket_wrapper.hpp:221:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/data_partition.hpp
Done processing src/io/config.cpp
include/LightGBM/utils/json11.h:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
include/LightGBM/utils/json11.h:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
include/LightGBM/utils/json11.h:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Done processing src/boosting/gbdt.h
include/LightGBM/c_api.h:1061:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/boosting/dart.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/application/application.cpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/boosting.h
Done processing src/objective/rank_objective.hpp
src/io/dataset.cpp:437:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/objective/binary_objective.hpp
Done processing src/treelearner/col_sampler.hpp
Done processing src/metric/binary_metric.hpp
src/lightgbm_R.cpp:35:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing src/lightgbm_R.cpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing include/LightGBM/feature_group.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/io/parser.cpp
Done processing src/io/metadata.cpp
Done processing include/LightGBM/dataset.h
Done processing src/application/predictor.hpp
Done processing src/boosting/goss.hpp
Done processing src/network/network.cpp
Done processing src/io/config_auto.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/objective/xentropy_objective.hpp
src/io/json11.cpp:55:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:59:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:69:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:75:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:79:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:116:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:128:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:341:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:353:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
src/io/json11.cpp:454:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:454:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
src/io/json11.cpp:481:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:525:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/export.h
Done processing include/LightGBM/application.h
Done processing src/network/linkers_socket.cpp
Done processing include/LightGBM/metric.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/io/tree.cpp
Done processing src/io/parser.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/io/dataset_loader.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/io/bin.cpp
Done processing include/LightGBM/bin.h
Done processing src/objective/objective_function.cpp
Done processing src/metric/map_metric.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/config.h
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/network.h
Done processing include/LightGBM/R_object_helper.h
Done processing include/LightGBM/dataset_loader.h
Done processing src/boosting/rf.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
src/c_api.cpp:545:  Do not use namespace using-directives.  Use using-declarations instead.  [build/namespaces] [5]
Done processing src/c_api.cpp
Done processing src/io/sparse_bin.hpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/dense_bin.hpp
Done processing src/network/linker_topo.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/main.cpp
include/LightGBM/utils/common.h:316:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
include/LightGBM/utils/common.h:387:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
include/LightGBM/utils/common.h:432:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing include/LightGBM/tree_learner.h
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/tree.h
Done processing src/network/linkers.h
Done processing include/LightGBM/meta.h
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/metric/regression_metric.hpp
Total errors found: 44

@jameslamb
Copy link
Collaborator

3e540ea

Total errors found: 42

Report (Clickable):
Done processing src/objective/binary_objective.hpp
Done processing src/treelearner/col_sampler.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/network/network.cpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/main.cpp
Done processing src/metric/map_metric.hpp
Done processing src/metric/regression_metric.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/io/file_io.cpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing include/LightGBM/objective_function.h
Done processing src/treelearner/split_info.hpp
Done processing src/boosting/goss.hpp
Done processing src/io/tree.cpp
Done processing src/treelearner/feature_histogram.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/utils/log.h
include/LightGBM/utils/common.h:316:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
include/LightGBM/utils/common.h:387:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
include/LightGBM/utils/common.h:432:  Never use sprintf. Use snprintf instead.  [runtime/printf] [5]
Done processing include/LightGBM/utils/common.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/dataset.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/io/parser.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/boosting/gbdt_model_text.cpp
Done processing include/LightGBM/config.h
Done processing src/boosting/score_updater.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/io/dataset_loader.cpp
Done processing src/io/parser.hpp
Done processing src/network/linkers_socket.cpp
Done processing src/network/linker_topo.cpp
Done processing src/io/config_auto.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/objective/objective_function.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/tree_learner.h
Done processing src/objective/rank_objective.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/metric/binary_metric.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/meta.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/application/application.cpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/export.h
Done processing include/LightGBM/R_object_helper.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/boosting/boosting.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/lightgbm_R.cpp
Done processing src/c_api.cpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/tree.h
Done processing src/io/sparse_bin.hpp
Done processing src/objective/regression_objective.hpp
Done processing src/boosting/rf.hpp
Done processing src/objective/multiclass_objective.hpp
include/LightGBM/c_api.h:1077:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
include/LightGBM/utils/json11.h:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
include/LightGBM/utils/json11.h:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
include/LightGBM/utils/json11.h:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/utils/locale_context.h
Done processing include/LightGBM/utils/array_args.h
Done processing src/network/linkers.h
Done processing src/io/metadata.cpp
src/io/json11.cpp:55:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:59:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:69:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:75:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:79:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:116:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:128:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:341:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:353:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
src/io/json11.cpp:454:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:454:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
src/io/json11.cpp:481:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:525:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/network.h
Done processing include/LightGBM/metric.h
Done processing src/io/dense_bin.hpp
Done processing src/boosting/dart.hpp
src/network/socket_wrapper.hpp:221:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
src/io/dataset.cpp:437:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing include/LightGBM/bin.h
Done processing src/treelearner/data_partition.hpp
Done processing include/LightGBM/boosting.h
Done processing src/boosting/gbdt.cpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/metric/rank_metric.hpp
Done processing src/io/bin.cpp
Done processing src/io/config.cpp
Done processing src/application/predictor.hpp
Total errors found: 42

@jameslamb
Copy link
Collaborator

3a335e9

Total errors found: 40

Report (Clickable)
Done processing src/boosting/rf.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/main.cpp
Done processing src/io/dataset_loader.cpp
Done processing src/metric/xentropy_metric.hpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/boosting/boosting.cpp
Done processing src/io/config.cpp
Done processing src/io/dense_bin.hpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/meta.h
Done processing src/io/metadata.cpp
Done processing src/application/predictor.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/c_api.cpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/metric.h
Done processing src/network/network.cpp
Done processing src/io/bin.cpp
Done processing src/metric/regression_metric.hpp
Done processing src/objective/binary_objective.hpp
Done processing src/boosting/gbdt.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/config.h
Done processing src/treelearner/col_sampler.hpp
Done processing src/metric/multiclass_metric.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/io/parser.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/objective/regression_objective.hpp
Done processing src/io/parser.hpp
Done processing src/boosting/dart.hpp
include/LightGBM/c_api.h:1077:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/serial_tree_learner.h
Done processing src/network/linkers_mpi.cpp
Done processing src/objective/objective_function.cpp
src/io/json11.cpp:55:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:59:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:69:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:75:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:79:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:116:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:128:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:341:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:353:  const string& members are dangerous. It is much better to use alternatives, such as pointers or simple constants.  [runtime/member_string_references] [2]
src/io/json11.cpp:454:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:454:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
src/io/json11.cpp:481:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:525:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/locale_context.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/boosting.h
Done processing src/application/application.cpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/treelearner/split_info.hpp
Done processing include/LightGBM/utils/log.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/utils/file_io.h
Done processing src/treelearner/feature_histogram.hpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/io/config_auto.cpp
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/utils/threading.h
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/dcg_calculator.cpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/export.h
Done processing src/objective/rank_objective.hpp
src/io/dataset.cpp:437:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/io/sparse_bin.hpp
src/network/socket_wrapper.hpp:221:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/network/linker_topo.cpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
include/LightGBM/utils/common.h:316:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing include/LightGBM/utils/common.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/network/linkers_socket.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/treelearner/data_partition.hpp
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/application.h
Done processing include/LightGBM/tree_learner.h
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/network.h
Done processing src/metric/binary_metric.hpp
Done processing src/io/tree.cpp
Done processing src/metric/rank_metric.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/lightgbm_R.h
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/R_object_helper.h
Done processing src/metric/map_metric.hpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/bin.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/network/linkers.h
Done processing include/LightGBM/tree.h
Done processing src/treelearner/tree_learner.cpp
include/LightGBM/utils/json11.h:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
include/LightGBM/utils/json11.h:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
include/LightGBM/utils/json11.h:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Total errors found: 40

@StrikerRUS
Copy link
Collaborator Author

6d9e7f1

Total errors found: 39

Report (Clickable):

Done processing src/treelearner/serial_tree_learner.h
Done processing src/treelearner/feature_histogram.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/objective/rank_objective.hpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/io/parser.hpp
Done processing src/application/application.cpp
Done processing src/application/predictor.hpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/gbdt_prediction.cpp
src/network/socket_wrapper.hpp:221:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/boosting/dart.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/tree_learner.h
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/metric/regression_metric.hpp
include/LightGBM/utils/json11.h:80:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:81:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:82:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:83:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:84:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:85:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:86:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:87:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:88:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:89:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:90:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:94:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:101:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:107:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:111:  Single-parameter constructors should be marked explicit.  [runtime/explicit] [5]
include/LightGBM/utils/json11.h:144:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
include/LightGBM/utils/json11.h:153:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:156:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:168:  Is this a non-const reference? If so, make const or use a pointer: std::string::size_type & parser_stop_pos  [runtime/references] [2]
include/LightGBM/utils/json11.h:169:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:174:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:193:  Is this a non-const reference? If so, make const or use a pointer: std::string & err  [runtime/references] [2]
include/LightGBM/utils/json11.h:208:  Is this a non-const reference? If so, make const or use a pointer: std::string &out  [runtime/references] [2]
Done processing include/LightGBM/utils/json11.h
Done processing src/boosting/gbdt.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/network/network.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/tree.cpp
Done processing include/LightGBM/dataset.h
Done processing include/LightGBM/network.h
Done processing include/LightGBM/metric.h
Done processing src/boosting/gbdt.h
Done processing include/LightGBM/tree.h
Done processing src/metric/dcg_calculator.cpp
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing src/main.cpp
Done processing src/boosting/rf.hpp
Done processing src/objective/multiclass_objective.hpp
Done processing include/LightGBM/bin.h
include/LightGBM/c_api.h:1077:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/utils/file_io.h
Done processing src/io/file_io.cpp
Done processing src/network/linkers.h
Done processing src/network/linkers_socket.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/treelearner/split_info.hpp
Done processing include/LightGBM/utils/locale_context.h
Done processing include/LightGBM/application.h
Done processing include/LightGBM/utils/threading.h
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/utils/log.h
Done processing src/network/linker_topo.cpp
Done processing src/c_api.cpp
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/boosting.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/io/dataset_loader.cpp
src/io/json11.cpp:56:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:60:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:70:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:76:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:80:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:117:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:129:  Is this a non-const reference? If so, make const or use a pointer: string &out  [runtime/references] [2]
src/io/json11.cpp:342:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:456:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:456:  Is this a non-const reference? If so, make const or use a pointer: string & out  [runtime/references] [2]
src/io/json11.cpp:483:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
src/io/json11.cpp:527:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing src/io/json11.cpp
Done processing src/io/parser.cpp
Done processing include/LightGBM/utils/random.h
Done processing include/LightGBM/feature_group.h
Done processing src/metric/rank_metric.hpp
Done processing src/io/bin.cpp
Done processing include/LightGBM/config.h
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing src/metric/binary_metric.hpp
Done processing src/io/sparse_bin.hpp
Done processing src/io/metadata.cpp
Done processing src/metric/map_metric.hpp
Done processing src/io/config_auto.cpp
Done processing src/io/config.cpp
Done processing include/LightGBM/objective_function.h
Done processing src/io/multi_val_dense_bin.hpp
Done processing include/LightGBM/export.h
Done processing src/treelearner/monotone_constraints.hpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/objective/regression_objective.hpp
Done processing src/objective/objective_function.cpp
src/io/dataset.cpp:437:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/boosting/goss.hpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/treelearner/leaf_splits.hpp
include/LightGBM/utils/common.h:316:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing include/LightGBM/utils/common.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/objective/binary_objective.hpp
Done processing src/io/dense_bin.hpp
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/treelearner/col_sampler.hpp
Done processing src/boosting/score_updater.hpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/lightgbm_R.h
Total errors found: 39

@StrikerRUS
Copy link
Collaborator Author

5c201e4

Total errors found: 4

Report (Clickable):

Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing src/boosting/score_updater.hpp
Done processing src/objective/rank_objective.hpp
Done processing src/io/metadata.cpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/main.cpp
Done processing src/network/linker_topo.cpp
Done processing include/LightGBM/utils/locale_context.h
Done processing src/lightgbm_R.cpp
Done processing include/LightGBM/metric.h
Done processing src/network/linkers_socket.cpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/metric/regression_metric.hpp
Done processing src/io/parser.cpp
Done processing include/LightGBM/feature_group.h
Done processing include/LightGBM/prediction_early_stop.h
Done processing src/c_api.cpp
Done processing src/io/tree.cpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/dataset_loader.cpp
Done processing src/application/predictor.hpp
Done processing src/boosting/rf.hpp
Done processing src/io/dense_bin.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing src/metric/binary_metric.hpp
Done processing src/treelearner/col_sampler.hpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/utils/text_reader.h
Done processing src/metric/map_metric.hpp
Done processing src/objective/objective_function.cpp
Done processing include/LightGBM/lightgbm_R.h
Done processing src/boosting/dart.hpp
Done processing include/LightGBM/tree_learner.h
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing include/LightGBM/bin.h
Done processing src/boosting/gbdt.cpp
Done processing src/io/sparse_bin.hpp
Done processing src/io/bin.cpp
Done processing src/metric/dcg_calculator.cpp
Done processing src/application/application.cpp
Done processing src/objective/binary_objective.hpp
Done processing include/LightGBM/R_object_helper.h
include/LightGBM/utils/common.h:316:  Use int16/int64/etc, rather than the C type long  [runtime/int] [4]
Done processing include/LightGBM/utils/common.h
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/treelearner/feature_histogram.hpp
include/LightGBM/c_api.h:1077:  Almost always, snprintf is better than strcpy  [runtime/printf] [4]
Done processing include/LightGBM/c_api.h
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/dataset.h
Done processing src/io/file_io.cpp
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/metric/xentropy_metric.hpp
Done processing include/LightGBM/utils/threading.h
src/io/dataset.cpp:437:  Is this a non-const reference? If so, make const or use a pointer: std::vector<std::vector<std::unique_ptr<BinIterator>>>& iters  [runtime/references] [2]
Done processing src/io/dataset.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/metric.cpp
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/network/linkers.h
Done processing include/LightGBM/utils/log.h
Done processing include/LightGBM/boosting.h
Done processing src/io/config.cpp
Done processing include/LightGBM/config.h
Done processing src/treelearner/serial_tree_learner.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing include/LightGBM/export.h
Done processing src/treelearner/data_partition.hpp
Done processing src/boosting/gbdt.h
Done processing src/io/parser.hpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/boosting.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/meta.h
Done processing src/io/config_auto.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing include/LightGBM/network.h
Done processing include/LightGBM/application.h
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/boosting/goss.hpp
Done processing src/network/network.cpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing include/LightGBM/tree.h
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/utils/random.h
src/network/socket_wrapper.hpp:221:  Are you taking an address of a cast?  This is dangerous: could be a temp var.  Take the address before doing the cast, rather than after  [runtime/casting] [4]
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/serial_tree_learner.h
Done processing include/LightGBM/utils/json11.h
Total errors found: 4

@StrikerRUS
Copy link
Collaborator Author

@guolinke We already have a PR for 1 (about snprintf ) of 4 remaining issues. Do you know how to fix the rest 3 quickly or should we mark them as NOLINT for now to enable auto-checking ASAP?

@jameslamb
Copy link
Collaborator

9843506

🎉 🎉 🎉 🎉 🎉 🎉 🎉
🎉 Total errors found: 0 🎉
🎉 🎉 🎉 🎉 🎉 🎉 🎉

Report (clickable)
Linting C++ code
Done processing include/LightGBM/boosting.h
Done processing src/treelearner/col_sampler.hpp
Done processing include/LightGBM/config.h
Done processing src/metric/map_metric.hpp
Done processing src/network/network.cpp
Done processing include/LightGBM/utils/common.h
Done processing src/boosting/dart.hpp
Done processing src/metric/binary_metric.hpp
Done processing src/io/multi_val_sparse_bin.hpp
Done processing src/io/bin.cpp
Done processing include/LightGBM/prediction_early_stop.h
Done processing include/LightGBM/metric.h
Done processing include/LightGBM/bin.h
Done processing src/io/config_auto.cpp
Done processing src/objective/objective_function.cpp
Done processing src/lightgbm_R.cpp
Done processing src/boosting/score_updater.hpp
Done processing include/LightGBM/utils/log.h
Done processing src/io/tree.cpp
Done processing src/metric/multiclass_metric.hpp
Done processing src/objective/regression_objective.hpp
Done processing include/LightGBM/feature_group.h
Done processing src/application/application.cpp
Done processing src/io/metadata.cpp
Done processing src/main.cpp
Done processing src/metric/metric.cpp
Done processing include/LightGBM/utils/array_args.h
Done processing src/metric/xentropy_metric.hpp
Done processing src/network/linker_topo.cpp
Done processing src/application/predictor.hpp
Done processing include/LightGBM/utils/threading.h
Done processing src/io/dataset.cpp
Done processing include/LightGBM/objective_function.h
Done processing include/LightGBM/tree_learner.h
Done processing src/boosting/gbdt_prediction.cpp
Done processing src/objective/rank_objective.hpp
Done processing src/io/dataset_loader.cpp
Done processing include/LightGBM/dataset_loader.h
Done processing include/LightGBM/c_api.h
Done processing src/treelearner/voting_parallel_tree_learner.cpp
Done processing include/LightGBM/R_object_helper.h
Done processing src/metric/regression_metric.hpp
Done processing include/LightGBM/utils/json11.h
Done processing include/LightGBM/lightgbm_R.h
Done processing src/treelearner/serial_tree_learner.cpp
Done processing src/treelearner/serial_tree_learner.h
Done processing src/c_api.cpp
Done processing src/treelearner/parallel_tree_learner.h
Done processing src/treelearner/gpu_tree_learner.h
Done processing src/boosting/gbdt.cpp
Done processing src/boosting/prediction_early_stop.cpp
Done processing include/LightGBM/meta.h
Done processing include/LightGBM/tree.h
Done processing src/boosting/gbdt.h
Done processing src/treelearner/feature_parallel_tree_learner.cpp
Done processing src/io/sparse_bin.hpp
Done processing include/LightGBM/dataset.h
Done processing src/boosting/boosting.cpp
Done processing include/LightGBM/utils/random.h
Done processing src/io/parser.cpp
Done processing src/io/file_io.cpp
Done processing include/LightGBM/export.h
Done processing include/LightGBM/utils/text_reader.h
Done processing src/metric/dcg_calculator.cpp
Done processing src/objective/multiclass_objective.hpp
Done processing src/metric/rank_metric.hpp
Done processing include/LightGBM/utils/file_io.h
Done processing src/treelearner/gpu_tree_learner.cpp
Done processing src/network/linkers.h
Done processing src/network/linkers_socket.cpp
Done processing src/network/socket_wrapper.hpp
Done processing src/treelearner/split_info.hpp
Done processing src/io/multi_val_dense_bin.hpp
Done processing src/network/linkers_mpi.cpp
Done processing src/io/parser.hpp
Done processing src/boosting/goss.hpp
Done processing src/io/json11.cpp
Done processing include/LightGBM/utils/openmp_wrapper.h
Done processing include/LightGBM/application.h
Done processing src/treelearner/feature_histogram.hpp
Done processing src/boosting/gbdt_model_text.cpp
Done processing src/boosting/rf.hpp
Done processing include/LightGBM/network.h
Done processing src/io/config.cpp
Done processing src/treelearner/monotone_constraints.hpp
Done processing src/treelearner/tree_learner.cpp
Done processing src/treelearner/leaf_splits.hpp
Done processing src/treelearner/data_partition.hpp
Done processing src/objective/xentropy_objective.hpp
Done processing include/LightGBM/utils/pipeline_reader.h
Done processing src/treelearner/cost_effective_gradient_boosting.hpp
Done processing src/treelearner/data_parallel_tree_learner.cpp
Done processing src/objective/binary_objective.hpp
Done processing src/io/dense_bin.hpp

We did it! Thanks for pushing this forward @StrikerRUS and for all the assistance @guolinke . Some of the linting issues fixed here were stylistic, but many were genuinely about the safety of the code, so I think all the effort here was well worth it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants