kig
common.cc
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "common.h"
00019 #include "object_holder.h"
00020
00021 std::vector<ObjectCalcer*> getAllCalcers( const std::vector<ObjectHolder*>& os )
00022 {
00023 std::set<ObjectCalcer*> ret;
00024 for ( std::vector<ObjectHolder*>::const_iterator i = os.begin();
00025 i != os.end(); ++i )
00026 {
00027 if ( ( *i )->nameCalcer() )
00028 ret.insert( ( *i )->nameCalcer() );
00029 ret.insert( ( *i )->calcer() );
00030 }
00031 return std::vector<ObjectCalcer*>( ret.begin(), ret.end() );
00032 }
00033
00034 std::vector<ObjectCalcer*> getCalcers( const std::vector<ObjectHolder*>& os )
00035 {
00036 std::vector<ObjectCalcer*> ret;
00037 ret.reserve( os.size() );
00038 for ( std::vector<ObjectHolder*>::const_iterator i = os.begin();
00039 i != os.end(); ++i )
00040 ret.push_back( ( *i )->calcer() );
00041 return ret;
00042 }
00043