
From John Maddock <john@johnmaddock.co.uk>:
The library will be put in a CVS at the http://www.neoscientists.org/ server, and we're not sure how to deal with the maximum filename length. The current directory structure is, e.g.:
#include <boost/concept_traits/std/is_default_constructible.hpp> #include <boost/concept_traits/std/is_random_access_container.hpp> #include <boost/concept_traits/std/is_random_access_iterator.hpp> #include <boost/concept_traits/std/is_generator.hpp>
Not good examples - those are all under the limit :-)
I know. :) (They were, however, good examples for the alternative directory structure.) Here are the problematic ones: is_adaptable_binary_function.hpp (32) is_adaptable_binary_predicate.hpp (33) is_hashed_associative_container.hpp (35) [*] is_multiple_associative_container.hpp (37) is_pair_associative_container.hpp (33) is_simple_associative_container.hpp (35) is_sorted_associative_container.hpp (35) is_unique_associative_container.hpp (35) [*] Ok, not standard yet, but used in the N1443 proposal. As you can see, it's mostly the associative containers that has a problem. Perhaps shorten the filename (and trait?) "associative" -> "assoc"? That keeps it just under the limit. Then what about the two first?
From the MPL concept traits:
is_nullary_metafunction_class.hpp (33) is_binary_metafunction_class.hpp (32) is_extensible_associative_sequence.hpp (38)
If possible I would prefere the filename and trait name to be the same
Me too.
is there any way we can shorten the problem names without messing the whole thing up?
Well, any suggestions for that is welcome. I'm just concerned with that if some of the traits use a shortened name (compared to the concept name), then the user may have to look up each trait, to find the filename, rather than using the concept name for the filename. Granted, that may happen with the alternative directory structure, as well. For comparison, here's how it might be done with that: std/function/adaptable_binary.hpp std/predicate/adaptable_binary.hpp std/container/hashed_associativer.hpp std/container/multiple_associative.hpp std/container/pair_associative.hpp std/container/simple_associative.hpp std/container/sorted_associative.hpp std/container/unique_associative.hpp boost/mpl/metafunction_class/nullary.hpp boost/mpl/metafunction_class/binary.hpp boost/mpl/sequence/extensible_associative.hpp To me, "boost/mpl/sequence/extensible_associative.hpp" looks a little backwards (and no mentioning that the trait is actually named "is_extensible_associative_sequence"), but if the alternative is to go beyond the filename limit... :/ Thanks for the feedback. Regards, Terje