|
Go to the documentation of this file.
33 SymbolTable ClockSet::msSymbolTable;
38 mpSymbolTable= &msSymbolTable;
40 FD_DC( "ClockSet("<< this<< ")::ClockSet() with csymtab "<< SymbolTablep());
45 FD_DC( "ClockSet(" << this << ")::ClockSet(rOtherSet " << &rOtherSet << ")");
111 Set(clockindex,op,timeconst);
157 std::stringstream resstream;
160 std::string result = resstream.str();
197 FD_DC( "TimeConstraint(" << this << ")::TimeConstraint()");
199 mName= "TimeConstraint";
204 FD_DC( "TimeConstraint(" << this << ")::TimeConstraint(" << rFilename << ")");
206 Read(rFilename, rLabel);
211 FD_DC( "TimeConstraint(" << this << ")::TimeConstraint(other)");
233 FD_ERR( "TimeConstraint::SymboltTable(pSymTab): "
234 << "set SymbolTable not implemented!!");
267 std::stringstream resstream;
271 std::string result = resstream.str();
277 FD_DC( "TimeConstraint(" << this << ")::Insert(" << rNewConstr. Str() << ")");
279 std::stringstream errstr;
280 errstr << "Invalid ElemConstraint: \"" << rNewConstr. Str();
281 throw Exception( "TimeConstraint::Insert", errstr.str(), 55);
288 FD_DC( "TimeConstraint(" << this << ")::Insert("
297 const std::string clockname,
301 FD_DC( "TimeConstraint(" << this << ")::Insert(\""
304 return Insert(clockindex,op,timeconst);
309 FD_DC( "TimeConstraint(" << this << ")::Insert(const std::list<ElemConstraint>&)");
311 std::list<ElemConstraint>::const_iterator it;
313 for(it = rNewConstraints.begin(); it != rNewConstraints.end(); it++)
320 FD_DC( "TimeConstraint(" << this << ")::Insert(" << rOtherTimeConstraint. ToString() << ")");
325 FD_ERR( "TimeConstraint::Insert "
326 << "SymbolTable mismatch aka not implemented!!");
329 for(it = rOtherTimeConstraint. Begin(); it != rOtherTimeConstraint. End(); it++) {
342 FD_DC( "TimeConstraint(" << this << ")::EraseByClock(" << clock << ") const");
360 FD_DC( "TimeConstraint(" << this << ")::Erase(" << it->Str() << ") const");
361 if(it== End()) return it;
371 FD_DC( "TimeConstraint(" << this << ")::Erase(" << rElemConstr. Str() << ") const");
376 if(it == End()) return false;
383 FD_DC( "TimeConstraint(" << this << ")::Erase("
386 return Erase(newconstr);
393 FD_DC( "TimeConstraint(" << this << ")::Erase(\""
396 return Erase(clockindex,op,timeconst);
401 FD_DC( "TimeConstraint(" << this << ")::ExistsElConstr(" << rElemConstr. Str() << ") const");
406 return (it != End()) ;
412 FD_DC( "TimeConstraint(" << this << ")::Clear() const");
451 FD_DC( "TimeConstraint(" << this << ")::ActiveClocks() const");
457 for(it = Begin(); it != End(); it++)
458 result. Insert(it->Clock());
470 FD_DC( "TimeConstraint(" << this << ")::Interval(" << clockindex << ") const");
474 for(it = Begin(clockindex); it != End(clockindex); it++) {
475 FD_DC( "TimeConstraint(" << this << ")::Interval: elemconstraint: " << it->Str());
478 tint. UB(it->TimeConstant());
482 tint. UB(it->TimeConstant());
486 tint. LB(it->TimeConstant());
490 tint. LB(it->TimeConstant());
493 FD_DC( "TimeConstraint(" << this << ")::Interval: interval: " << tint. Str());
508 FD_DC( "TimeConstraint(" << this << ")::Interval(" << clockindex << ", " << rInterval. Str() << ") ");
510 if(rInterval. LBinf()== false) {
512 newconstraint. Clock(clockindex);
520 if(rInterval. UBinf()== false) {
522 newconstraint. Clock(clockindex);
536 ClockSet::Iterator cit;
537 for(cit=aclocks. Begin(); cit != aclocks. End(); cit++) {
547 ClockSet::Iterator cit;
548 for(cit=aclocks. Begin(); cit != aclocks. End(); cit++) {
550 if(rOther. Interval(*cit)!=tint) return false;
569 std::ios::openmode openmode) const {
574 catch (std::ios::failure&) {
575 std::stringstream errstr;
576 errstr << "Exception opening/writing file \"" << rFilename << "\"";
577 throw Exception( "TimeConstraint::Write", errstr.str(), 2);
594 for (it = Begin(); it != End(); ++it) {
634 for (it = Begin(); it != End(); ++it) {
652 std::string clockname;
656 while(rTr. Peek(token)) {
664 std::stringstream errstr;
665 errstr << "Invalid clock" << rTr. FileLine();
666 throw Exception( "TimeConstraint::Read", errstr.str(), 56);
668 clockname=token.StringValue();
672 std::stringstream errstr;
673 errstr << "Invalid operator" << rTr. FileLine();
674 throw Exception( "TimeConstraint::Read", errstr.str(), 56);
676 if(token.StringValue() == "LE") {
678 } else if(token.StringValue() == "GE") {
680 } else if(token.StringValue() == "LT") {
682 } else if(token.StringValue() == "GT") {
685 std::stringstream errstr;
686 errstr << "Invalid operator value " << rTr. FileLine();
687 throw Exception( "TimedTransSet::ReadTimeConstraint", errstr.str(), 56);
691 if (!token.IsFloat()) {
692 std::stringstream errstr;
693 errstr << "Invalid timeconstant" << rTr. FileLine();
694 throw Exception( "TimeConstraint::Read", errstr.str(), 56);
698 Insert(clockname,compop,timeconst);
libFAUDES 2.24g
--- 2014.09.15
--- c++ api documentaion by doxygen
|