SequenceT Intersperse(const typename SequenceT::value_type & elem, const SequenceT & sequence) { if( sequence.size() <= 1 ) return sequence; SequenceT newSequence; for( const typename SequenceT::value_type & t : sequence ) { newSequence.push_back(t); newSequence.push_back(elem); } // Remove the last occurence of elem from the end of the new sequence. newSequence.pop_back(); return newSequence; }
void print_info(string name, const SequenceT<T> & printMe) { cout << "PRINTING " << name << ":" << "which has size(" << printMe.size() << ")" << " and cap(" << printMe.capacity() << ")" << endl; }