
Thorsten Ottosen wrote:
ctor() : v( list_of(1)(2).to_container(v) ) { }
What are you proposing? You don't want to write to v before it's construction, do you? I see that this is somewhat anoying. Even with implicit_cast, because then you have to give the containers type in the initialisation again. I have read somewhere that template default arguments for functions might come into the language at some point in the future. In this case, one could write: template< typename Container, typename Unused = typename Container::iterator > operator Container() const { ... } This would then be a subsitution failure for all the single args a std::vector ctor takes untemplated (I may be mistaken), and thus giving no candidate for a ctor call. Unfortunately, this theory could only be tested on a compiler that already has this language extension. Does anyone know if there is one? Any other thoughts? Jens