"спортивное программирование" и олимпиады ничего не дадут ему в плане опыта реального программирования.
Ему будет крайне сложно работать в комманде над реальными программами,
потому что олимпиадники думают не тем местом и не о том
template <class Container>
typename std::enable_if<is_container<Container>::value>::type
print(const Container& c, string sep=" ", string end="\n")
...
template<typename T>
typename std::enable_if<is_not_container<T>::value>::type
print(T value, string end="\n")
template <class Container>
переписатьtemplate< typename TItem, typename TAllocator, template< typename, typename > class TStorage >
Оберните код в тег code (кнопка
</>
в редакторе). Тогда парсер не съест спец символы и отступы не поедут.