$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Beman Dawes (bdawes_at_[hidden])
Date: 2003-01-09 09:08:36
I written a C++ program to inspect the Boost directory tree looking for 
various problems. The program is in CVS - see boost-root/tools/inspect. It 
replaces a hodge-podge of scripts written in three or four other languages, 
and should be much easier to maintain. It can be used by developers to see 
if potential additions have problems.
See output below. Here are the counts:
4926 files scanned
390 directories scanned
305 problems reported
problem counts:
   60 files with tabs
   15 file names too long
   2 bookmarks with invalid characters
   85 invalid urls
   121 broken links
   22 unlinked files
I'd appreciate it if developers could fix any problems identified in their 
libraries.
Cheers,
--Beman
any
    libs/any/test.hpp: tabs in file
build
    tools/build/boost_build_v2.html: broken link: features_properties, 
broken link: link_compatibility, unlinked file
    tools/build/examples-v2/make/Jamfile: tabs in file
    tools/build/test/project-test1/dir2/Jamfile: tabs in file
    tools/build/test/test_system.html: unlinked file
concept_check
    libs/concept_check/stl_concept_covering.cpp: tabs in file
config
    libs/config/config.htm: broken link: user.hpp
    libs/config/test/boost_no_ded_typename.cxx: tabs in file
conversion
    libs/conversion/test.hpp: tabs in file
date_time
    boost/date_time/c_local_time_adjustor.hpp: tabs in file
    boost/date_time/wrapping_int.hpp: tabs in file
    libs/date_time/build/Jamfile: tabs in file
    libs/date_time/doc/class_greg_base_facet.html: unlinked file
    libs/date_time/example/gregorian/localization.cpp: tabs in file
    libs/date_time/test/gregorian/testdate_iterator.cpp: tabs in file
detail
    boost/detail/dynamic_bitset.hpp: tabs in file
dynamic_bitset
    boost/dynamic_bitset.hpp: tabs in file
    libs/dynamic_bitset/bitset_test.hpp: tabs in file
    libs/dynamic_bitset/dyn_bitset_unit_tests1.cpp: tabs in file
graph
    boost/graph/dijkstra_shortest_paths.hpp: tabs in file
    boost/graph/graph_as_tree.hpp: tabs in file
    boost/graph/johnson_all_pairs_shortest.hpp: tabs in file
    boost/graph/relax.hpp: tabs in file
    boost/graph/transitive_closure.hpp: tabs in file
    boost/graph/undirected_dfs.hpp: tabs in file
    libs/graph/build/Jamfile: tabs in file
    libs/graph/doc/Buffer.html: broken link: 
../../boost/pending/mutable_queue.hpp
    libs/graph/example/filtered_graph_edge_range.cpp: tabs in file
    libs/graph/example/graph_as_tree.cpp: tabs in file
    libs/graph/example/iohb.c: tabs in file
    libs/graph/example/undirected_dfs.cpp: tabs in file
    libs/graph/src/graphviz_parser.h: tabs in file
    libs/graph/test/adj_list_test.cpp: tabs in file
    libs/graph/test/bellman-test.cpp: tabs in file
    libs/graph/test/johnson-test.cpp: tabs in file
lambda
    boost/lambda/detail/member_ptr.hpp: tabs in file
    libs/lambda/doc/lambda_docs_as_one_file.html: unlinked file
libs
    libs: unlinked file
math
    libs/math/Jamfile: tabs in file
more
    more: unlinked file
    more/download.html: broken link: ../boost_all.tar.gz, broken link: 
../boost_all.zip
    more/writingdoc/design.html: broken link: template%5Coverview.html
    more/writingdoc/introduction.html: broken link: index.htm
    more/writingdoc/structure.html: broken link: index.htm
mpl
    boost/mpl/if.hpp: tabs in file
    boost/mpl/remove_if.hpp: tabs in file
    libs/mpl/doc/ref/Reference/advance.html: broken link: 
../Reference.html, invalid URL: ../../../../../\boost/mpl/advance.hpp
(many similar removed for brevity)
multi_array
    libs/multi_array/doc/reference.html: broken link: 
./iterator_categories.html#concept_RandomAccessTraversalIterator, broken 
link: ./iterator_categories.html#concept_ReadableIterator, broken link: 
./iterator_categories.html#concept_WritableIterator
    libs/multi_array/doc/user.html: broken link: 
../../array_traits/index.html
numeric
    boost/numeric/ublas/matrix_sparse.hpp: tabs in file
    boost/numeric/ublas/vector_sparse.hpp: tabs in file
    libs/numeric/ublas/Jamfile: tabs in file
pool
    boost/pool/detail/mutex.hpp: tabs in file
preprocessor
    libs/preprocessor/doc/blank.html: unlinked file
    libs/preprocessor/doc/headers.html: broken link: 
headers/wstringize.hpp.html
    libs/preprocessor/doc/headers/enum_params_with_a_default.hpp.html: 
filename > 31 chars
    libs/preprocessor/doc/headers/enum_params_with_defaults.hpp.html: 
filename > 31 chars
    libs/preprocessor/doc/headers/list/to_tuple.hpp.html: broken link: 
../../ref/to_tuple.html, broken link: ../../ref/to_tuple_r.html
    libs/preprocessor/doc/headers/repetition/enum_params_with_a_default.hpp.html: 
filename > 31 chars
    libs/preprocessor/doc/headers/repetition/enum_params_with_defaults.hpp.html: 
filename > 31 chars
    libs/preprocessor/doc/headers/repetition/enum_trailing_binary_params.hpp.html: 
filename > 31 chars
    libs/preprocessor/doc/ref.html: broken link: ref/wstringize.html
    libs/preprocessor/doc/ref/bool.html: broken link: bool.hpp
    libs/preprocessor/doc/ref/enum_trailing_binary_params.html: filename > 
31 chars
    libs/preprocessor/doc/ref/enum_trailing_binary_params_z.html: 
filename > 31 chars
    libs/preprocessor/doc/ref/expr_iif.html: broken link: 
../headers/comparison/and.hpp.html, broken link: 
../headers/control/expr_iif.hpp
    libs/preprocessor/doc/ref/iteration.html: broken link: 
../headers/iteration/iterate.hpp,html, broken link: 
iterations_params_x.html
    libs/preprocessor/doc/ref/list_cat_d.html: broken link: ni.html
    libs/preprocessor/doc/ref/list_filter.html: broken link: ni.html
    libs/preprocessor/doc/ref/list_fold_right.html: broken link: 
../headers/list/fold_right.html
    libs/preprocessor/doc/ref/list_for_each_i_r.html: broken link: 
../headers/list/list_for_each_i.html
    libs/preprocessor/doc/ref/min_d.html: broken link: 
../list/fold_left.hpp.html, broken link: ../selection/min.hpp.html
    libs/preprocessor/doc/resources.html: unlinked file
    libs/preprocessor/doc/top.html: unlinked file
    libs/preprocessor/doc/topics/file_iteration.html: broken link: 
choosing_repetition.html
    libs/preprocessor/doc/topics/local_iteration.html: broken link: 
choosing_repetition.html
    libs/preprocessor/index.html: broken link: doc/index.htm
    libs/preprocessor/test/iteration.h: tabs in file
    libs/preprocessor/test/repetition.cpp: tabs in file
    libs/preprocessor/test/test.h: tabs in file
property_map
    libs/property_map/const_associative_property_map.html: filename > 31 
chars
    libs/property_map/example1.cpp: tabs in file
    libs/property_map/example2.cpp: tabs in file
python
    boost/python/detail/python22_fixed.h: tabs in file
    libs/python/doc/index.html: broken link: ../../people/dave_abrahams.htm
    libs/python/doc/new-conversions.html: unlinked file
    libs/python/doc/tutorial/doc/building_an_extension_module.html: broken 
link: ../../../boost/python/detail/wrap_python.hpp, broken link: 
../../../tools/build/index.html, broken link: ../example/Jamfile, broken 
link: ../example/project.zip, filename > 31 chars, invalid URL: 
file:///C:/dev/boost/tools/build/index.html, unlinked file
    libs/python/doc/tutorial/doc/class_operators_special_functions.html: 
filename > 31 chars
    libs/python/doc/v2/Apr2002.html: broken link: 
../../../preprocessor/doc/index.htm
    libs/python/doc/v2/May2002.html: broken link: ../special.html#numeric, 
broken link: Mar2002#data_members, broken link: updated
    libs/python/doc/v2/bibliography.html: unlinked file
    libs/python/doc/v2/faq.html: broken link: ../../../tools/build
    libs/python/doc/v2/from_python.html: broken link: NonCopyable.html, 
invalid bookmark: ../../../utility/utility.htm#Class noncopyable, unlinked 
file
    libs/python/doc/v2/header.html: unlinked file
    libs/python/doc/v2/instance_holder.html: invalid bookmark: 
../../../utility/utility.htm#Class noncopyable
    libs/python/doc/v2/make_function.html: broken link: 
../../../mpl/doc/Sequences.html
    libs/python/doc/v2/overview.html: unlinked file
    libs/python/doc/v2/rationale.html: broken link: 
../../../../../people/dave_abrahams.htm, unlinked file
    libs/python/doc/v2/return_value_policy.html: broken link: 
ResultConverterGenerator.html
    libs/python/test/defaults.cpp: tabs in file
    libs/python/test/submod_subclass_api.cpp: tabs in file
random
    libs/random/wg21-proposal.html: unlinked file
rational
    libs/rational/rational_example.cpp: tabs in file
rational.hpp.htm
    boost/rational.hpp.htm: unlinked file
regex
    libs/regex/example/Jamfile: tabs in file
    libs/regex/test/Jamfile: tabs in file
regression
    tools/regression/build/Jamfile: tabs in file
signals
    boost/signals/trackable.hpp: tabs in file
    libs/signals/doc/design.html: broken link: 
../../../boost/signals/signal_base.hpp, broken link: 
../../libs/smart_ptr/index.htm
smart_ptr
    libs/smart_ptr/enable_shared_from_this_test.cpp: filename > 31 chars
static_assert
    libs/static_assert/Jamfile: tabs in file
test
    libs/test/doc/components_testing.htm: unlinked file
thread
    libs/thread/src/threadmon.cpp: tabs in file
    libs/thread/tutorial/counter.cpp: tabs in file
    libs/thread/tutorial/factorial3.cpp: tabs in file
tokenizer
    boost/token_functions.hpp: tabs in file
    libs/tokenizer/examples.cpp: tabs in file
type_traits
    libs/type_traits/test/Jamfile: tabs in file
    libs/type_traits/test/has_nothrow_constructor_test.cpp: filename > 31 
chars
    libs/type_traits/test/has_trivial_constructor_test.cpp: filename > 31 
chars
    libs/type_traits/test/is_member_function_pointer_test.cpp: filename > 
31 chars
    libs/type_traits/test/tricky_partial_specialization_test.cpp: 
filename > 31 chars
utility
    boost/shared_container_iterator.hpp: tabs in file
    libs/utility/shared_iterator_example2.cpp: tabs in file