1[article Inspect 2 [quickbook 1.3] 3 [authors [Dawes, Beman], [Prota, Gennaro], [Rivera, Rene]] 4 [copyright 2003 2006 Beman Dawes, Rene Rivera] 5 [category tool-build] 6 [id inspect] 7 [dirname inspect] 8 [purpose 9 The inspect program detects and reports several common errors and 10 Boost guideline violations. 11 ] 12 [license 13 Distributed under the Boost Software License, Version 1.0. 14 (See accompanying file LICENSE_1_0.txt or copy at 15 [@http://www.boost.org/LICENSE_1_0.txt]) 16 ] 17] 18 19[/ QuickBook Document version 1.3 ] 20 21[/ Shortcuts ] 22 23[def :version: 3.1.14] 24 25[/ Images ] 26 27[def :NOTE: [$images/note.png]] 28[def :ALERT: [$images/caution.png]] 29[def :DETAIL: [$images/note.png]] 30[def :TIP: [$images/tip.png]] 31 32[/ Links ] 33 34[def :Boost: [@http://www.boost.org Boost]] 35 36[section:intro Introduction] 37 38It is not uncommon for various common errors or [@http://www.boost.org/more/lib_guide.htm guideline violations] to creep into the Boost libraries. The inspect program detects and reports several common problems. It can be used to scan a proposed Boost submission to identify various failures. 39 40The inspect program is written in C++ to limit tool chain dependencies, and should be portable to any system. 41 42[endsect] 43 44[section:usage Using Inspect] 45 46The program is run in the directory to be scanned for errors. Sub-directories are also included in the scan. For best results in the generated reports one should run inspect from the Boost root directory. The program generates, by default, an HTML report with summaries and per library details of the infractions. 47 48If the first program argument is -help, a usage message is displayed, showing all available program options: 49 50[pre 51Usage: inspect \[search-root\] \[options...\] 52 53 search-root default is the current directory (i.e. '.') 54 55 Output Options: 56 57 -brief 58 -text 59 -version-string <version message> 60 61 Checks: 62 63 -license 64 -copyright 65 -crlf 66 -end 67 -link 68 -path_name 69 -tab 70 -ascii 71 -apple_macro 72 -assert_macro 73 -deprecated_macro 74 -minmax 75 -unnamed 76 default is all checks on; otherwise options specify desired checks 77] 78 79[section:options Options] 80 81There are two types of options allowed, ones that control general operation and kind of output produced, and the ones that indicate the checks to perform. 82 83[variablelist 84 85 [ [[^-text]] 86 [Generate plain text report instead of the default HTML.] ] 87 88 [ [[^-brief]] 89 [The default report style can be rather verobse. This generates a more condesed report, for example suitable to send as an email.] ] 90 91 [ [[^-version-string]] 92 [Description of the version of boost that is being inspected.] ] 93 94 [ [[^-license]] 95 [Checks for presense of approved license text.] ] 96 97 [ [[^-copyright]] 98 [Checks that files are copyright assigned to someone.] ] 99 100 [ [[^-crlf]] 101 [Checks that files use consistent EOL chanracters.] ] 102 103 [ [[^-end]] 104 [Checks that files end with a newline character.] ] 105 106 [ [[^-link]] 107 [Checks the validity of URIs in HTML files.] ] 108 109 [ [[^-path_name]] 110 [Checks for long names, and a variety of other file name problems that inhibit portability of files.] ] 111 112 [ [[^-tab]] 113 [Checks for files with tab characters.] ] 114 115 [ [[^-ascii]] 116 [Checks for files with non-ASCII characters.] ] 117 118 [ [[^-apple_macro]] 119 [Checks for conflicts with to Apple's unfortunately named debugging macros.] ] 120 121 [ [[^-assert_macro]] 122 [Checks for presence of C-style assert macros (instead of BOOST_ASSERT).] ] 123 124 [ [[^-minmax]] 125 [Checks for violations of the Boost min/max quidelines.] ] 126 127 [ [[^-unnamed]] 128 [Checks for unnamed namespace in C++ header files.] ] 129 130] 131 132[endsect] 133 134[endsect] 135 136[section:checks Checks] 137 138[endsect] 139