
From: =?iso-8859-1?Q?Terje_Sletteb=F8?= <tslettebo@broadpark.no>
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>
Tobias suggested the following (the "model" part is still not decided, and may be considered separately):
#include <boost/concept_traits/model/std/constructbility/default.hpp> #include <boost/concept_traits/model/std/container/random_access.hpp> #include <boost/concept_traits/model/std/iterator/random_access.hpp> #include <boost/concept_traits/model/std/function/generator.hpp>
The traits would still retain their names, so <boost/concept_traits/model/std/iterator/random_access.hpp> would have is_random_access_iterator<T>.
While the Boost penchant is for everything in its own header, what about grouping them into common headers? You could put the implementation of each in a separate, cryptically named header included in the common one, too. (The cipher for the included filenames doesn't have to be strong, just enough to encode things in the maximum filename length limit without much worry about readability.) Thus: #include <boost/concept_traits/model/std/is_default_constructible.hpp> #include <boost/concept_traits/model/std/container.hpp> #include <boost/concept_traits/model/std/iterator.hpp> #include <boost/concept_traits/model/std/function.hpp> -- Rob Stewart stewart@sig.com Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;