
"Arkadiy Vertleyb" wrote in message
Why is it heavyweight? Registering a type is just creating a couple of template specializations -- that's it.
[..]
What do you mean by the "space in the typeof vector"? How is it related to the number of registered types?
Sorry I got confused about the using the typeof vector . Looking in to it again registering a new type is just a specialistion on an int operation. I guess that isnt how I remembered it.
What do you mean by everything? I would recommend registering types and templates that can be present in the types used by your users.
If the time for a large amount of registrations isnt significant then I apologise fo being misleading about it. I always understood typeof useage to be quite heavyweight, so I was quite worried about the large number of types automatically registered in last version of boost::mpl::math library. However maybe I'm blaming the long compile times I'm getting on typeof, when in fact its just mpl::vector thats to blame. Currently I am in process of removing mpl::vector from my code to test this out. [...]
I would register your own types/templates leaving mpl types/templates to either mpl authors or users. Then again, you could wear an mpl hat and register its types, but I don't think this should become a part of your library.
Bearing in mind that I have been getting a compiler out of keys error message recently in even small tests, which as you will understand basically renders my library a useless resource hog, I am now trying to be extremely careful to add as little unnecessary clutter in headers as possible. That includes not wishing to register unneccesary types with Typeof if at all possible. regards Andy Little