modernize-use-using

The check converts the usage of typedef with using keyword.

Before:

typedef int variable;

class Class{};
typedef void (Class::* MyPtrType)() const;

typedef struct { int a; } R_t, *R_p;

After:

using variable = int;

class Class{};
using MyPtrType = void (Class::*)() const;

using R_t = struct { int a; };
using R_p = R_t*;

The checker ignores typedef within extern “C” { … } blocks.

extern "C" {
  typedef int InExternC; // Left intact.
}

This check requires using C++11 or higher to run.

Options

IgnoreMacros

If set to true, the check will not give warnings inside macros. Default is true.

IgnoreExternC

If set to true, the check will not give warning inside extern “C”`scope. Default is `false