00001 //---------------------------------------------------------------------------- 00002 /** @file SgVectorUtil.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 #ifndef SG_VECTORUTIL_H 00010 #define SG_VECTORUTIL_H 00011 00012 #include "SgVector.h" 00013 00014 //---------------------------------------------------------------------------- 00015 00016 namespace SgVectorUtil 00017 { 00018 /** Exclude all elements of vector2 from vector */ 00019 void Difference(SgVector<int>* vector, const SgVector<int>& vector2); 00020 00021 /** Keep only elements in vector that also occur in vector2 */ 00022 void Intersection(SgVector<int>* vector, const SgVector<int>& vector2); 00023 00024 #if UNUSED 00025 /** Reverse order of elements in vector */ 00026 void Reverse(SgVector<int>* vector); 00027 #endif 00028 } 00029 00030 //---------------------------------------------------------------------------- 00031 00032 #endif // SG_VECTORUTIL_H