00001 //---------------------------------------------------------------------------- 00002 /** @file SgVectorUtility.h 00003 %SgVector utility classes. 00004 00005 SgVector operations that are useful but not basic enough to be included 00006 in SgVector itself. 00007 */ 00008 //---------------------------------------------------------------------------- 00009 00010 #ifndef SG_VECTORUTILITY_H 00011 #define SG_VECTORUTILITY_H 00012 00013 #include "SgVector.h" 00014 00015 //---------------------------------------------------------------------------- 00016 00017 namespace SgVectorUtility 00018 { 00019 /** Exclude all elements of vector2 from vector */ 00020 void Difference(SgVector<int>* vector, const SgVector<int>& vector2); 00021 00022 /** Keep only elements in vector that also occur in vector2 */ 00023 void Intersection(SgVector<int>* vector, const SgVector<int>& vector2); 00024 00025 #if UNUSED 00026 /** Reverse order of elements in vector */ 00027 void Reverse(SgVector<int>* vector); 00028 #endif 00029 } 00030 00031 //---------------------------------------------------------------------------- 00032 00033 #endif // SG_VECTORUTILITY_H