/** * Author: Mark Larkin * * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson. */ #ifndef VECTORUTILITY_H #define VECTORUTILITY_H #include namespace vectorutils { /** * The function mergeVectors will add the contents of * the other two vectors to the end of the first vector. */ template void mergeVectors(std::vector* vecToAddTo, std::vector* vector1, std::vector* vector2) { typename std::vector::iterator beginInsert = vecToAddTo->end(); typename std::vector::iterator beginVec1 = vector1->begin(); typename std::vector::iterator endVec1 = vector1->end(); typename std::vector::iterator beginVec2 = vector2->begin(); typename std::vector::iterator endVec2 = vector2->end(); // Add the first vector vecToAddTo->insert(beginInsert, beginVec1, endVec1); beginInsert = vecToAddTo->end(); // Add the second vector vecToAddTo->insert(beginInsert, beginVec2, endVec2); } /** * The function mergeVectors will add the contents of the second vector * to the end of the first vector. */ template void mergeVectors(std::vector* vecToAddTo, std::vector* vector1) { typename std::vector::iterator beginInsert = vecToAddTo->end(); typename std::vector::iterator beginVec1 = vector1->begin(); typename std::vector::iterator endVec1 = vector1->end(); // Add the first vector vecToAddTo->insert(beginInsert, beginVec1, endVec1); } } #endif