14 { FortranInstance::getInstance<FortranInstance>()->upInit(); }
17 { FortranInstance::getInstance<FortranInstance>()->upEvnt(); }
20 { *veto = FortranInstance::getInstance<FortranInstance>()->upVeto(); }
33 <<
" destroyed while it was the "
34 "current active instance." << std::endl;
45 if (currentInstance && currentInstance !=
this)
48 <<
"::enter() called from a different "
49 "instance while an instance was already active."
52 if (!currentInstance && instanceNesting != 0)
55 <<
"::enter() called on an empty "
56 "instance, but instance counter is nonzero."
59 currentInstance =
this;
68 <<
"::leave() called without an "
69 "active instance." << std::endl;
70 else if (currentInstance !=
this)
73 <<
"::leave() called from a "
74 "different instance." << std::endl;
75 else if (instanceNesting <= 0)
78 <<
"::leave() called with a "
79 "nesting level of zero." << std::endl;
81 if (--instanceNesting == 0)
88 <<
"FortranInstance::getInstance() called from "
89 "a Fortran context, but no current instance "
90 "has been registered." << std::endl;
99 <<
"::upInit() stub called. "
100 "If user process needs to be generated, please derive "
101 "and implement the upInit() method." << std::endl;
108 <<
"::upEvnt() stub called. "
109 "If user process needs to be generated, please derive "
110 "and implement the upEvnt() method." << std::endl;
static void throwMissingInstance()
std::string friendlyName(std::string const &iFullName)
static FortranInstance * currentInstance
virtual ~FortranInstance()