|
Go to the documentation of this file.
43 mName( ""), mTDName( ""), mAttr( Parameter::UnDef), mCReturn(false)
48 mName(rName), mTDName(rTypeName), mAttr(attr), mCReturn(cret)
151 Signature::Signature( void) : Type() {}
200 if((n < 0) || (n >= Size())){
201 std::stringstream err;
202 err << "Index out of range: " << n << std::endl;
203 throw Exception( "Signature::At()", err.str(), 47);
212 if((n < 0) || (n >= Size())){
213 std::stringstream err;
214 err << "Index out of range: " << n << std::endl;
215 throw Exception( "Signature::At()", err.str(), 47);
239 for( int i=0; i< Size(); i++){
269 if(!token.ExistsAttributeString( "name")) {
271 FD_DRTI( "Signature::DoRead(): found (pre 2.16b file)" << mName);
272 while(!rTr. Eos( "Signature")) {
295 mName=token.AttributeStringValue( "name");
298 while(!rTr. Eos( "Signature")) {
318 if(pcret== "true") cret= true;
319 if(pcret== "True") cret= true;
320 if(pcret== "Yes") cret= true;
321 if(pcret== "yes") cret= true;
329 FD_DRTI( "Signature::DoRead(): done");
356 FunctionDefinition::FunctionDefinition(const std:: string& name) :
398 FD_DRTI( "FunctionDefinition::Clear(): " << Name());
408 FD_DRTI( "FunctionDefinition::ClearVariants(): " << Name());
434 FD_DRTI( "FunctionDefinition::NewFunction(): name " << Name());
452 std::map<std::string,int>::const_iterator vit= mVariantIndexMap.find(rName);
459 FD_DRTI( "FunctionDefinition::AppendVariant()");
462 std::stringstream err;
463 err << "Attempt to append variant with existing name: " << rVariant. Name() << " in " << Name() << std::endl;
464 throw Exception( "FunctionDefinition::AppendVariant()", err.str(), 47);
474 std::map<std::string,int>::const_iterator vit= mVariantIndexMap.find(rName);
476 std::stringstream err;
477 err << "Access to non existing variant " << rName << " in fnct " << Name() << std::endl;
478 throw Exception( "FunctionDefinition::Variant()", err.str(), 47);
488 std::stringstream err;
489 err << "Index out of range: " << n << std::endl;
490 throw Exception( "FunctionDefinition::Variant()", err.str(), 47);
498 FD_DRTI( "FunctionDefinition::DoRead()");
502 std::string label=rLabel;
503 if(label== "") label= "FunctionDefinition";
511 FD_DRTI( "FunctionDefinition::DoReadCore()");
516 while(!rTr. Eos( "VariantSignatures")) {
524 rTr. ReadEnd( "VariantSignatures");
531 std::string label=rLabel;
532 if(label== "") label= "FunctionDefinition";
545 for( unsigned int i=0; i< mVariants.size(); i++) {
571 #ifdef FAUDES_DEBUG_RUNTIMEINTERFACE
573 { FD_DRTI( "Function::Function(): prototype object");}
591 #ifdef FAUDES_DEBUG_RUNTIMEINTERFACE
593 { FD_DRTI( "Function::Definition(): prototype object");}
624 std::stringstream err;
625 err << "No valid function definition available" << std::endl;
626 throw Exception( "Function::Variant(n)", err.str(), 47);
630 std::stringstream err;
631 err << "Variant index out of range" << std::endl;
632 throw Exception( "Function::Variant(n)", err.str(), 48);
645 std::stringstream err;
646 err << "No valid function definition available" << std::endl;
647 throw Exception( "Function::Variant(name)", err.str(), 47);
653 std::stringstream err;
654 err << "Unknown variant name " << rVariantName << std::endl;
655 throw Exception( "Function::Variant(name)", err.str(), 48);
676 std::stringstream err;
677 err << "Parameter index out of range: " << n << std::endl;
678 throw Exception( "Function::ParamValue()", err.str(), 47);
686 std::stringstream err;
687 err << "Parameter index out of range: " << n << std::endl;
688 throw Exception( "Function::ParamValue()", err.str(), 47);
696 FD_DRTI( "Function::AllocateValue()");
698 std::stringstream err;
699 err << "No variant specified";
700 throw Exception( "Function::AllocateValue()", err.str(), 47);
703 std::stringstream err;
704 err << "Parameter index out of range: " << n << std::endl;
705 throw Exception( "Function::AllocateValue()", err.str(), 47);
712 FD_DRTI( "Function::AllocateValues()");
719 FD_DRTI( "Function::FreeValues()");
729 FD_DRTI( "Function::TypeCheck()");
731 std::stringstream err;
732 err << "Variant not set" << std::endl;
733 throw Exception( "Function::TypeCheck(n)", err.str(), 48);
736 std::stringstream err;
737 err << "Parameter out of range" << std::endl;
738 throw Exception( "Function::Typechek(n)", err.str(), 48);
741 FD_DRTI( "Function::TypeCheck() done, ok=" << res);
747 FD_DRTI( "Function::TypeCheck()");
749 std::stringstream err;
750 err << "Variant not set" << std::endl;
751 throw Exception( "Function::TypeCheck()", err.str(), 48);
755 FD_DRTI( "Function::TypeCheck() done, ok");
761 FD_DRTI( "Function::Execute()");
763 std::stringstream err;
764 err << "Variant not set" << std::endl;
765 throw Exception( "Function::Execute()", err.str(), 48);
769 std::stringstream err;
770 err << "Cannot cast parameter \"" << Variant()-> At(n). Name() <<
772 throw Exception( "Function::Execute()", err.str(), 48);
776 FD_DRTI( "Function::Execute() done");
783 std::string label = rLabel;
784 if(label == "") label = "Function";
785 FD_DRTI( "Function::DoWrite(): file " << rTw. FileName() << " section " << label);
797 FD_DRTI( "Function::DoWrite(): done");
libFAUDES 2.28a
--- 2016.09.13
--- c++ api documentaion by doxygen
|