Provided by: cpplint_1.5.5-2_all bug

NAME

       cpplint - Static code checker for C++

DESCRIPTION

       Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed]

              [--filter=-x,+y,...]       [--counting=total|toplevel|detailed]     [--root=subdir]
              [--repository=path]   [--linelength=digits]   [--headers=x,y,...]     [--recursive]
              [--exclude=path]                                         [--extensions=hpp,cpp,...]
              [--includeorder=default|standardcfirst] [--quiet] [--version]

              <file> [file] ...

              Style checker for C/C++ source files.  This is a fork of the Google  style  checker
              with minor extensions.

              The style guidelines this tries to follow are those in

              https://google.github.io/styleguide/cppguide.html

              Every  problem  is given a confidence score from 1-5, with 5 meaning we are certain
              of the problem, and 1 meaning it could be a legitimate construct.  This  will  miss
              some errors, and is not a substitute for a code review.

              To  suppress  false-positive errors of a certain category, add a 'NOLINT(category)'
              comment to the line.  NOLINT or NOLINT(*) suppresses errors of  all  categories  on
              that line.

              The  files  passed  in will be linted; at least one file must be provided.  Default
              linted extensions are ['c', 'c++', 'cc', 'cpp', 'cu',  'cuh',  'cxx',  'h',  'h++',
              'hh', 'hpp', 'hxx'].  Other file types will be ignored.  Change the extensions with
              the --extensions flag.

              Flags:

              output=emacs|eclipse|vs7|junit|sed|gsed

       By default, the output is formatted to ease emacs parsing.
              Visual Studio

       compatible output (vs7) may also be used.
              Further support exists for

              eclipse (eclipse), and JUnit (junit). XML parsers such as those used in Jenkins and
              Bamboo  may also be used.  The sed format outputs sed commands that should fix some
              of the errors.  Note that this requires gnu sed. If that is installed  as  gsed  on
              your  system  (common  e.g.  on  macOS  with  homebrew) you can use the gsed output
              format. Sed commands are written to stdout, not stderr, so you should  be  able  to
              pipe output straight to a shell to run the fixes.

              verbose=#

              Specify  a  number 0-5 to restrict errors to certain verbosity levels.  Errors with
              lower verbosity levels have lower confidence  and  are  more  likely  to  be  false
              positives.

              quiet

              Don't print anything if no errors are found.

              filter=-x,+y,...

              Specify  a  comma-separated  list of category-filters to apply: only error messages
              whose category names pass the filters will be printed.  (Category names are printed
              with  the message and look like "[whitespace/indent]".)  Filters are evaluated left
              to right.  "-FOO" means "do not print categories  that  start  with  FOO".   "+FOO"
              means "do print categories that start with FOO".

              Examples: --filter=-whitespace,+whitespace/braces

              --filter=-whitespace,-runtime/printf,+runtime/printf_format
              --filter=-,+build/include_what_you_use

              To see a list of all the categories used in cpplint, pass no arg:

       --filter=

              counting=total|toplevel|detailed

              The total number of errors found is always printed. If 'toplevel' is provided, then
              the  count  of  errors  in  each  of  the  top-level  categories  like  'build' and
              'whitespace' will also be printed. If 'detailed'  is  provided,  then  a  count  is
              provided for each category like 'build/class'.

              repository=path

              The  top  level  directory  of  the repository, used to derive the header guard CPP
              variable. By default, this is determined by searching  for  a  path  that  contains
              .git,  .hg,  or  .svn. When this flag is specified, the given path is used instead.
              This option allows the header guard CPP  variable  to  remain  consistent  even  if
              members of a team have different repository root directories (such as when checking
              out a subdirectory with SVN). In addition, users of non-mainstream version  control
              systems can use this flag to ensure readable header guard CPP variables.

              Examples:

              Assuming that Alice checks out ProjectName and Bob checks out ProjectName/trunk and
              trunk contains src/chrome/ui/browser.h, then with no --repository flag, the  header
              guard CPP variable will be:

              Alice        =>        TRUNK_SRC_CHROME_BROWSER_UI_BROWSER_H_        Bob         =>
              SRC_CHROME_BROWSER_UI_BROWSER_H_

              If Alice  uses  the  --repository=trunk  flag  and  Bob  omits  the  flag  or  uses
              --repository=. then the header guard CPP variable will be:

              Alice => SRC_CHROME_BROWSER_UI_BROWSER_H_ Bob   => SRC_CHROME_BROWSER_UI_BROWSER_H_

              root=subdir

              The  root directory used for deriving header guard CPP variable.  This directory is
              relative to the  top  level  directory  of  the  repository  which  by  default  is
              determined  by  searching  for a directory that contains .git, .hg, or .svn but can
              also be controlled with the --repository flag.  If the specified directory does not
              exist, this flag is ignored.

              Examples:

              Assuming  that  src is the top level directory of the repository (and cwd=top/src),
              the header guard CPP variables for src/chrome/browser/ui/browser.h are:

              No flag  =>  CHROME_BROWSER_UI_BROWSER_H_  --root=chrome  =>  BROWSER_UI_BROWSER_H_
              --root=chrome/browser         =>         UI_BROWSER_H_         --root=..         =>
              SRC_CHROME_BROWSER_UI_BROWSER_H_

              linelength=digits

              This is the  allowed  line  length  for  the  project.  The  default  value  is  80
              characters.

              Examples:

       --linelength=120

              recursive

              Search  for files to lint recursively. Each directory given in the list of files to
              be linted is replaced by all files that descend from  that  directory.  Files  with
              extensions not in the valid extensions list are excluded.

              exclude=path

              Exclude  the  given  path  from  the list of files to be linted. Relative paths are
              evaluated relative to the current directory and shell globbing is  performed.  This
              flag can be provided multiple times to exclude multiple files.

              Examples:

       --exclude=one.cc

       --exclude=src/*.cc

       --exclude=src/*.cc --exclude=test/*.cc

              extensions=extension,extension,...

              The allowed file extensions that cpplint will check

              Examples:

       --extensions=c,c++,cc,cpp,cu,cuh,cxx,h,h++,hh,hpp,hxx

              includeorder=default|standardcfirst

              For  the  build/include_order  rule, the default is to blindly assume angle bracket
              includes with file extension are c-system-headers (default), even knowing this will
              have  false classifications.  The default is established at google.  standardcfirst
              means to instead use an allow-list of known c  headers  and  treat  all  others  as
              separate  group  of "other system headers". The C headers included are those of the
              C-standard lib and closely related ones.

              headers=x,y,...

              The header extensions  that  cpplint  will  treat  as  .h  in  checks.  Values  are
              automatically added to --extensions list.

              (by  default,  only  files  with extensions ['cuh', 'h', 'h++', 'hh', 'hpp', 'hxx']
              will be assumed to be headers)

              Examples:

       --headers=cuh,h,h++,hh,hpp,hxx

       --headers=hpp,hxx

       --headers=hpp

              cpplint.py supports per-directory configurations specified  in  CPPLINT.cfg  files.
              CPPLINT.cfg  file can contain a number of key=value pairs.  Currently the following
              options are supported:

              set  noparent   filter=+filter1,-filter2,...    exclude_files=regex   linelength=80
              root=subdir headers=x,y,...

              "set  noparent"  option  prevents  cpplint  from  traversing directory tree upwards
              looking for more .cfg files in parent directories. This option is usually placed in
              the top-level project directory.

              The  "filter"  option is similar in function to --filter flag. It specifies message
              filters in addition to the |_DEFAULT_FILTERS| and those specified through  --filter
              command-line flag.

              "exclude_files" allows to specify a regular expression to be matched against a file
              name. If the expression matches, the file  is  skipped  and  not  run  through  the
              linter.

              "linelength" allows to specify the allowed line length for the project.

              The  "root"  option  is similar in function to the --root flag (see example above).
              Paths are relative to the directory of the CPPLINT.cfg.

              The "headers" option is similar in function to  the  --headers  flag  (see  example
              above).

              CPPLINT.cfg  has  an effect on files in the same directory and all sub-directories,
              unless overridden by a nested configuration file.

              Example file:

              filter=-build/include_order,+build/include_alpha exclude_files=.*\.cc

              The   above   example   disables   build/include_order    warning    and    enables
              build/include_alpha  as well as excludes all .cc from being processed by linter, in
              the current directory (where the .cfg file is located) and all sub-directories.