const UeStdString QuantityPersist::SeperateType( TypeStringSet& tSet,const InputSet& set ) { InputSet::const_iterator ItBegin = set.begin(); InputSet::const_iterator ItEnd = set.end(); ASSERT( ( *( ItBegin + 1 ) ) == strTypeBegin ); ASSERT( ( *( ItEnd - 1 ) ) == strTypeEnd ); UeStdString QSysName = *ItBegin; ItBegin++; BOOL bFlag = TRUE; while ( bFlag ) { InputSet::const_iterator ItPos = find( ItBegin,ItEnd,strTypeEnd ); if ( ItPos == ItEnd ) { bFlag = TRUE; break; } InputSet Elm( ItBegin + 1,ItPos ); tSet.push_back( Elm ); ItBegin = ItPos + 1; } return QSysName; }
void ExpressionOptimizer::addCached(CachedExpression* obj) { InputSet dependency; obj->getDependencies( dependency ); //cout << "cached dependency: "; //copy(dependency.begin(), dependency.end(), ostream_iterator<int>(cout, " ")); //cout << "\n"; for (InputSet::iterator it=dependency.begin();it!=dependency.end();++it) { if (inputset.find( *it )!= inputset.end() ) { if (cached.find(obj)==cached.end()) { cached.insert( obj ); v_cached.push_back( obj ); } //cout << "cached " << obj->cached_name << " added \n"; break; } } }
BOOL QuantityPersist::GetQuantitytype( QuantityType& type,const InputSet& set ) { TransPairSetOfOneType tpt; InputSet::const_iterator ItBegin = set.begin(); InputSet::const_iterator ItEnd = set.end(); UeStdString first,second; SplitString( first,second,*ItBegin ); type.first = first; ItBegin++; for ( ;ItBegin != ItEnd ;ItBegin++ ) { pair< UeStdString,pair< double,double > > p; ProcessLine( p, *ItBegin ); tpt.push_back( p ); } type.second = make_pair( second,tpt ); return TRUE; }
BOOL QuantityPersist::SeperateSys( SysSet& sSet,InputSet&set ) { InputSet::const_iterator ItBegin = set.begin(); InputSet::const_iterator ItEnd = set.end(); ASSERT( ( *ItBegin ) == strSysBegin ); ASSERT( ( *( ItEnd - 1 ) ) == strSysEnd ); BOOL bFlag = TRUE; while ( bFlag ) { InputSet::const_iterator ItPos = find( ItBegin,ItEnd,strSysEnd ); if ( ItPos == ItEnd ) { bFlag = TRUE; break; } InputSet Elm( ItBegin + 1,ItPos ); sSet.push_back( Elm ); ItBegin = ItPos + 1; } return TRUE; }