Commit c6fd8f4d8330cb3c6b3e549e599c2eff25560fd7

Authored by Henry Fredrick Schreiner
Committed by Henry Schreiner
1 parent 1286a122

A few warning fixes

include/CLI/App.hpp
... ... @@ -1511,13 +1511,13 @@ inline std::string simple(const App *app, const Error &e) {
1511 1511 if(app->get_help_ptr() != nullptr)
1512 1512 header += "Run with " + app->get_help_ptr()->single_name() + " for more information.\n";
1513 1513 return header;
1514   -};
  1514 +}
1515 1515  
1516 1516 inline std::string help(const App *app, const Error &e) {
1517 1517 std::string header = std::string("ERROR: ") + e.get_name() + ": " + e.what() + "\n";
1518 1518 header += app->help();
1519 1519 return header;
1520   -};
  1520 +}
1521 1521  
1522 1522 } // namespace FailureMessage
1523 1523  
... ...
include/CLI/Error.hpp
... ... @@ -6,23 +6,25 @@
6 6 #include <exception>
7 7 #include <stdexcept>
8 8 #include <string>
  9 +#include <utility>
  10 +
  11 +namespace CLI {
9 12  
10 13 // Use one of these on all error classes
11 14 #define CLI11_ERROR_DEF(parent, name) \
12 15 protected: \
13   - name(std::string name, std::string msg, int exit_code) : parent(name, msg, exit_code) {} \
14   - name(std::string name, std::string msg, ExitCodes exit_code) : parent(name, msg, exit_code) {} \
  16 + name(std::string name, std::string msg, int exit_code) : parent(std::move(name), std::move(msg), exit_code) {} \
  17 + name(std::string name, std::string msg, ExitCodes exit_code) \
  18 + : parent(std::move(name), std::move(msg), exit_code) {} \
15 19 \
16 20 public: \
17   - name(std::string msg, ExitCodes exit_code) : parent(#name, msg, exit_code) {} \
18   - name(std::string msg, int exit_code) : parent(#name, msg, exit_code) {}
  21 + name(std::string msg, ExitCodes exit_code) : parent(#name, std::move(msg), exit_code) {} \
  22 + name(std::string msg, int exit_code) : parent(#name, std::move(msg), exit_code) {}
19 23  
20 24 // This is added after the one above if a class is used directly and builds its own message
21 25 #define CLI11_ERROR_SIMPLE(name) \
22 26 name(std::string msg) : name(#name, msg, ExitCodes::name) {}
23 27  
24   -namespace CLI {
25   -
26 28 /// These codes are part of every error in CLI. They can be obtained from e using e.exit_code or as a quick shortcut,
27 29 /// int values from e.get_error_code().
28 30 enum class ExitCodes {
... ... @@ -63,7 +65,7 @@ class Error : public std::runtime_error {
63 65 std::string get_name() const { return name; }
64 66  
65 67 Error(std::string name, std::string msg, int exit_code = static_cast<int>(ExitCodes::BaseClass))
66   - : runtime_error(msg), exit_code(exit_code), name(name) {}
  68 + : runtime_error(msg), exit_code(exit_code), name(std::move(name)) {}
67 69  
68 70 Error(std::string name, std::string msg, ExitCodes exit_code) : Error(name, msg, static_cast<int>(exit_code)) {}
69 71 };
... ...