Skip to content
Snippets Groups Projects
  1. Apr 16, 2020
  2. Apr 15, 2020
  3. Apr 13, 2020
  4. Apr 10, 2020
  5. Apr 09, 2020
  6. Apr 07, 2020
  7. Apr 06, 2020
  8. Apr 04, 2020
  9. Apr 01, 2020
  10. Mar 31, 2020
  11. Mar 25, 2020
  12. Mar 24, 2020
  13. Mar 20, 2020
  14. Mar 18, 2020
  15. Mar 04, 2020
  16. Mar 03, 2020
    • Hans Johnson's avatar
      STYLE: Use range-based loops from C++11 · 6621b069
      Hans Johnson authored
      C++11 Range based for loops can be used in
      
      Used as a more readable equivalent to the traditional for loop operating over a
      range of values, such as all elements in a container, in the forward direction..
      
      Range based loopes are more explicit for only computing the
      end location once for containers.
      6621b069
    • Hans Johnson's avatar
      STYLE: Use auto for variable type matches the type of the initializer · cc8fc323
      Hans Johnson authored
      This check is responsible for using the auto type specifier for variable
      declarations to improve code readability and maintainability.
      
      The auto type specifier will only be introduced in situations where the
      variable type matches the type of the initializer expression. In other words
      auto should deduce the same type that was originally spelled in the source
      cc8fc323
    • Hans Johnson's avatar
      PERF: emplace_back method results in potentially more efficient code · 91429382
      Hans Johnson authored
      The check flags insertions to an STL-style container done by calling the
      push_back method with an explicitly-constructed temporary of the container
      element type. In this case, the corresponding emplace_back method results in
      less verbose and potentially more efficient code.
      91429382
    • Hans Johnson's avatar
      STYLE: Prefer = default to explicitly trivial implementations · 6d20e7c9
      Hans Johnson authored
      This check replaces default bodies of special member functions with
      = default;. The explicitly defaulted function declarations enable more
      opportunities in optimization, because the compiler might treat
      explicitly defaulted functions as trivial.
      
      Additionally, the C++11 use of = default more clearly expreses the
      intent for the special member functions.
      6d20e7c9
    • Hans Johnson's avatar
      STYLE: Use default member initialization · d07092a0
      Hans Johnson authored
      Converts a default constructor’s member initializers into the new
      default member initializers in C++11. Other member initializers that match the
      default member initializer are removed. This can reduce repeated code or allow
      use of ‘= default’.
      d07092a0
    • Hans Johnson's avatar
      COMP: Prefer const member functions · 4c7f64eb
      Hans Johnson authored
      Finds non-static member functions that can be made const because the functions
      don’t use this in a non-const way.
      
      This check tries to annotate methods according to logical constness (not
      physical constness). Therefore, it will suggest to add a const qualifier to a
      non-const method only if this method does something that is already possible
      though the public interface on a const pointer to the object:
      
      reading a public member variable calling a public const-qualified member
      function returning const-qualified this passing const-qualified this as a
      parameter.  This check will also suggest to add a const qualifier to a
      non-const method if this method uses private data and functions in a limited
      number of ways where logical constness and physical constness coincide:
       - reading a member variable of builtin type
      Specifically, this check will not suggest to add a const to a non-const
      method if the method reads a private member variable of pointer type because
      that allows to modify the pointee which might not preserve logical constness.
      For the same reason, it does not allow to call private member functions or
      member functions on private member variables.
      
      In addition, this check ignores functions that
       - are declared virtual
       - contain a const_cast
       - are templated or part of a class template
       - have an empty body
       - do not (implicitly) use this at all (see readability-convert-member-functions-to-static).
      4c7f64eb
Loading