7 #if (!defined (__GNUC__ ) ) || !(defined (__GNUC__) && ( ( __GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3 ) )
8 #if !defined (_WIN32) && __GNUC__ != 2
9 vsUMap< StringIntKey, Unit*, ConstHasher >UnitConstCache::unit_cache;
10 vsUMap< std::string, Mesh*, ConstHasher >WeaponMeshCache::unit_cache;
12 vsUMap< StringIntKey, Unit* >UnitConstCache::unit_cache;
13 vsUMap< std::string, Mesh* >WeaponMeshCache::unit_cache;
18 typedef vsUMap< keyval, Unit* >UnitCacheType;
19 static UnitCacheType unit_cache;
20 const Unit * getCachedConstUnit( std::string name,
int faction )
22 keyval kv( name, faction );
23 UnitCacheType::const_iterator
i = unit_cache.find( kv );
24 if ( i != unit_cache.end() )
28 const Unit * setCachedConstUnit( std::string name,
int faction,
Unit *un )
30 unit_cache.insert( pair< keyval, Unit* > ( keyval( name, faction ), un ) );
35 UnitCacheType::iterator i = unit_cache.begin();
36 for (; i != unit_cache.end(); ++i)