
In emulation mode, given the following definition:
template <typename Container> struct some_metafunction { typedef BOOST_TYPEOF_TPL( Container().insert( typename Container::iterator() , typename Container::value_type() ) ) type; };
Which of the following types need to be registered?
1. The argument passed as `Container` 2. The result of `typename Container::iterator` 3. The result of `typename Container::value_type` 4. The result type of the expression passed into `BOOST_TYPEOF_TPL`.
I've answered my own question. They all need to be registered. Now I have another question: How should one register a template with the non-type template parameter `std::size_t` (e.g. boost::array)? TIA! Cromwell D. Enage