, boost::signals .NET , ///. - , , , ( , , , , ..),.
- , . :
boost::signal<void(std::string const&)> logError;
boost::signal<void(std::string const&)> logWarning;
void routineWhichMayFail()
{
...
if (answer != 42)
{
logError("Universal error");
return;
}
}
- logError logWarning:
void robustErrorHandler(std::string const& msg)
{
std::cerr << "Error: " << msg << "\n";
std::exit(EXIT_FAILURE);
}
void initializeMyProgram()
{
logError.connect(&robustErrorHandler);
}
, ( , "" - this, RPC ). , , . , , , . .