21 { FortranInstance::getInstance<FortranInstance>()->upInit(); }
24 { FortranInstance::getInstance<FortranInstance>()->upEvnt(); }
27 { *veto = FortranInstance::getInstance<FortranInstance>()->upVeto(); }
42 <<
" destroyed while it was the "
43 "current active instance." << std::endl;
54 if (currentInstance && currentInstance !=
this)
57 <<
"::enter() called from a different "
58 "instance while an instance was already active."
61 if (!currentInstance && instanceNesting != 0)
64 <<
"::enter() called on an empty "
65 "instance, but instance counter is nonzero."
68 currentInstance =
this;
77 <<
"::leave() called without an "
78 "active instance." << std::endl;
79 else if (currentInstance !=
this)
82 <<
"::leave() called from a "
83 "different instance." << std::endl;
84 else if (instanceNesting <= 0)
87 <<
"::leave() called with a "
88 "nesting level of zero." << std::endl;
90 if (--instanceNesting == 0)
97 <<
"FortranInstance::getInstance() called from "
98 "a Fortran context, but no current instance "
99 "has been registered." << std::endl;
108 <<
"::upInit() stub called. "
109 "If user process needs to be generated, please derive "
110 "and implement the upInit() method." << std::endl;
117 <<
"::upEvnt() stub called. "
118 "If user process needs to be generated, please derive "
119 "and implement the upEvnt() method." << std::endl;
static void throwMissingInstance()
std::string friendlyName(std::string const &iFullName)
static FortranInstance * currentInstance
static const std::string kFortranInstance
float __attribute__((vector_size(8))) float32x2_t
virtual ~FortranInstance()