Пример #1
0
    /** 
     *
     * @brief removes all call transitions to or from the given state  
     *
     * @param - state: the state whose transitions to remove
     * @return false if no transitions were removed, true otherwise
     *
     */
    bool TransitionStorage::removeCallTransWith( State state )
    {
      Calls outgoing = T_info.callTrans(state);
      Calls incoming = T_info.entryTrans(state);

      //Remove the transitions.
      for( CallIterator rit = outgoing.begin(); rit != outgoing.end(); rit++ )
      {
        removeCall(*rit);
      }

      //Remove the transitions.
      for( CallIterator rit = incoming.begin(); rit != incoming.end(); rit++ )
      {
        removeCall(*rit);
      }
      
      return (outgoing.size() > 0) || (incoming.size() > 0);
    }
Пример #2
0
    /** 
     *
     * @brief removes all call transitions with the given symbol 
     *
     * @param - sym: the symbol whose transitions to remove
     * @return false if no transitions were removed, true otherwise
     *
     */
    bool TransitionStorage::removeCallTransSym( Symbol sym )
    {
      Calls removeTrans;

      //Find transitions to remove.
      for( CallIterator cit = callTrans.begin(); cit != callTrans.end(); cit++ )
      {
        if( getCallSym(*cit) == sym )
          removeTrans.insert(*cit);
      }

      //Remove transitions.
      for( CallIterator rit = removeTrans.begin(); rit != removeTrans.end(); rit++ )
      {
        removeCall(*rit);
      }
      
      return removeTrans.size() > 0;  
    }