InsertSortedVector.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 #ifndef INCLUDE_InsertSortedVector_h
00006 #define INCLUDE_InsertSortedVector_h
00007 
00008 #ifndef INCLUDE_vector
00009 #define INCLUDE_vector
00010 #include <vector>
00011 #endif
00012 
00013 #ifndef INCLUDE_map
00014 #define INCLUDE_map
00015 #include <map>
00016 #endif
00017 
00039 template< typename FIRST, typename SECOND>
00040 void tf_InsertSortedVector( std::vector< std::pair<FIRST,SECOND> >& vect_pair_data, std::map< FIRST, SECOND>& mp)
00041 {
00042   std::vector<bool> is_used( vect_pair_data.size(), false);
00043   std::vector<bool>::iterator p_is_used;
00044   size_t i, j;
00045 
00046   if (!mp.empty()) mp.clear();
00047 
00048   for (i= vect_pair_data.size()/2; i!=0; i/=2) {
00049     for (j=0; j<vect_pair_data.size(); j+=i) {
00050       if (!is_used[j]) {
00051         is_used[j] = true;
00052         //mp[vect_pair_data[j].first] = vect_pair_data[j].second();
00053         mp.insert( mp.begin(), vect_pair_data[j]);
00054       }
00055     }
00056   }
00057 }
00058 
00059 #endif

Generated on Mon Mar 30 16:22:35 2009 for InsertSortedVector by  doxygen 1.5.1