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


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to