28#define DRAMA_ALLOW_CPP_STDLIB
35#elif defined(__GNUC__) || defined(GNUC)
43# error "GCC Version too old. drama.hh needs GCC 4.7 or newer"
46# if __GNUC_MINOR__ < 7
47# error "GCC Version too old. drama.hh needs GCC 4.7 or newer"
58#include "drama2_err.h"
155 extern std::string
GetSymbolVal(
const std::string &name);
186 template <
typename T,
unsigned S>
258 template<
typename T,
typename...
Types>
301 template<
typename...
Types>
311 std::stringstream
sstrm;
313 ostream <<
sstrm.str();
338 template<
typename...
Types>
346 std::stringstream
sstrm;
ErsContext()
Create an ErsContext object, increasing the Ers context.
Definition drama.hh:161
~ErsContext()
Destroy an ErsContext object, decrementing the Ers context.
Definition drama.hh:166
A Class used to manage ERS context.
Definition drama.hh:156
#define DramaTHROW(status_, message_)
Throw a Drama exception.
Definition exception.hh:93
DRAMA 2 Exception classes.
DRAMA 2 include file - GIT ARG implementation.
Header file for a DRAMA 2 class which implements Logging.
DRAMA 2 include file - Message Handler class definition.
void TSafePrintf(std::ostream &ostream, const char *format, Types... args)
Safe formated write to a stream, thread compatible.
Definition drama.hh:329
const char * Drama2Version
The DRAMA 2 ACMM Release version string.
std::string GetSymbolVal(const std::string &name)
Return the value of an environment variable.
void CreateRunDramaTask()
Create and run a DRAMA task, with standard exception handling.
Definition task.hh:1322
void ErsReport(const std::string &mes, StatusType *status)
Report a std::string via ERS.
unsigned ArraySize(const T(&v)[S])
Return the number of elements in an array.
Definition drama.hh:214
bool GetSymbolExists(const std::string &name)
Return true if an environment variable is set.
void ErsAnnulStack(StatusType *status)
Annul the ERS stack of messages.
void SafePrintf(std::ostream &ostream, const char *str)
Safe formatted write to a stream.
void CheckLockTaken(const std::string func, const std::string &file, const int lineNum)
Ensure the current thread has taken the DRAMA task lock.
void ErsFlushStack(StatusType *status)
Report a std::string via ERS.
const char * Drama2Date
The DRAMA 2 build date.
The drama namespace contains all the classes, types etc of the DRAMA 2 implementation.
Definition drama.hh:93
DRAMA 2 include file - Parameter class definition.
DITS parameter system include file - DRAMA 2 interface.
DRAMA 2 include file - Request class definition.
DRAMA 2 include file - Sds class definition.
DRAMA 2 include file - Task class definition.
DRAMA 2 include file - Threaded Action class definition.
DRAMA 2 include file - Threaded monitoring classes.
DRAMA 2 include file - Threaded UFACE class definition.
DRAMA 2 include file - Utility macros, types etc.