|
AAO DRAMA/DRAMA2 C++ Interface
DRAMA C++11 and later interface
|
The drama namespace contains all the classes, types etc of the DRAMA 2 implementation.
Namespaces | |
| namespace | git |
| Name space used to implement AAO Generic Implementation task features. | |
| namespace | gitarg |
| Namespace containing the GIT Argument reading classes. | |
| namespace | logging |
| This namespace implements the DRAMA 2 Logging system. | |
| namespace | sds |
| This namespace implements access to DRAMA SDS data structures. | |
| namespace | thread |
| This namespace is used for features which are particular to supporting C++11 thread based operations within DRAMA 2. | |
Classes | |
| class | ArrayParameter |
| The class ArrayParameter is used to implement DRAMA parameters containing arrays of primitive items (one dimension only). More... | |
| class | ArrayParameter< std::string > |
| The class ArrayParameter is used to implement DRAMA parameters containing arrays of primitive items (one dimension only). More... | |
| class | Buffers |
| A Class which supports setting up DRAMA message buffer structures. More... | |
| class | BulkData |
| Defines and optionally creates a shared memory section. More... | |
| class | BulkDataArg |
| A class used to manage a bulk data argument to an action. More... | |
| class | BulkDataArgSds |
| Class used to access SDS structure in bulk data arguments. More... | |
| class | BulkDataSds |
| Defines and optionally creates a shared memory section containing an SDS structure. More... | |
| class | EntryInfo |
| The EntryInfo class is used to access details about a DRAMA message event (and entry to an action). More... | |
| class | ErsContext |
| A Class used to manage ERS context. More... | |
| class | Exception |
| An Exception class for exceptions thrown by DRAMA V2 classes. More... | |
| class | Future |
| A class which wraps a std::future<T> and provides debugging output to stderr. More... | |
| class | Future< void > |
| A class which wraps a std::future<void> and provides debugging output to stderr. More... | |
| class | GetPathEventHandler |
| Default event handler type for GetPath() calls. More... | |
| struct | is_stl_container |
| Type trait returning true of the specified type is NOT a STL container. More... | |
| struct | is_stl_container< T, drama::void_t< typename T::iterator > > |
| Type trait returning true of the specified type is a STL container, that is, it defines T::iterator type. More... | |
| class | IsRunningType |
| A message event handling object that maintains a variable indicating if the message is outstanding. More... | |
| class | MessageEventHandler |
| Message event handling objects. More... | |
| class | MessageHandler |
| A class which implements a DRAMA Message Handler. More... | |
| class | MessageHandlerViaFunctor |
| This class is used to creating MessageHandler objects referring to functions. More... | |
| class | MessageUserStreamBuf |
| Implement a streambuf sub-class that can write messages via the DRAMA MessageUser interface. More... | |
| class | MonForwardEventHandler |
| Forward monitor message event handling objects. More... | |
| struct | nodel |
| Declare an operator to be used as a deletion operator by std::shared_ptr. More... | |
| class | ObeyThreadDispatcher |
| Implement a ThreadDispatcher which sends Obey messages. More... | |
| class | OrphanDetails |
| Structure which maintains details on orphan transactions. More... | |
| class | Parameter |
| The class Parameter is used to implement DRAMA parameters containing primitive items. More... | |
| class | Parameter< drama::sds::Id > |
| The class Parameter is used to implement DRAMA parameters containing primitive items. More... | |
| class | ParId |
| A class used to access a DRAMA Parameter via an SDS Id. More... | |
| class | ParSys |
| A DRAMA 2 C++ Interface to the DRAMA Simple DITS Parameter System (SDP). More... | |
| class | Path |
| A Class which provides access to DRAMA's message sending facilities. More... | |
| class | Request |
| Class used by Obey and Kick handlers to indicate rescheduling requirements. More... | |
| class | RunDramaExitNotifier |
| Class used to arrange for notifications when the RunDrama exits. More... | |
| class | ScopeGuard |
| This class implements a simple scope guard class. More... | |
| class | ScopeGuardAtomic |
| This class implements a simple scope guard class with an std::atomic based type as the underlying type. More... | |
| class | SdsListToUserObj |
| Object used to print SDS objects using MessageUser from MessageHandler objects. More... | |
| class | Spawnable |
| A class which implements a Spawnable DRAMA Message Handler. More... | |
| class | Task |
| A class which implements a DRAMA task. More... | |
| class | ThreadDispatcher |
| A class to dispatch message sending to another thread. More... | |
| struct | TransEvtInfo |
| Structure is used to store details about a DRAMA reschedule message relating to a transaction, so the information can be transferred to a thread. More... | |
Typedefs | |
| typedef std::vector< ErsMessageType > | ErsMessageVector |
| A type used to return ERS messages. | |
| using | MessageHandlerPtr = std::shared_ptr< MessageHandler > |
| This type is used for passing MessageHandler object addresses around. | |
| using | MessageReceiveFunction = std::function< Request(MessageHandler *)> |
| Type used for functions specified to drama::MessageHandler::PutObeyHandler(), drama::MessageHandler::PutKickHandler() and drama::Task::Add(). | |
| using | SpawnablePtr = std::shared_ptr< Spawnable > |
| This type is used for passing Spawnable object addresses around. | |
| template<class... T0toN> | |
| using | void_t = typename voider< T0toN... >::type |
| Define a void_t equivalent. | |
Enumerations | |
| enum class | EntryCode { Obey =DITS_REA_OBEY , Kick =DITS_REA_KICK , Resched =DITS_REA_RESCHED , Timeout =DITS_REA_RESCHED , Trigger =DITS_REA_TRIGGER , Signal =DITS_REA_ASTINT , Load =DITS_REA_LOAD , LoadFailed =DITS_REA_LOADFAILED , Rejected =DITS_REA_MESREJECTED , Complete =DITS_REA_COMPLETE , Died =DITS_REA_DIED , PathFound =DITS_REA_PATHFOUND , PathFailed =DITS_REA_PATHFAILED , Message =DITS_REA_MESSAGE , Error =DITS_REA_ERROR , Exit =DITS_REA_EXIT , Notify =DITS_REA_NOTIFY , BulkTransferred =DITS_REA_BULK_TRANSFERRED , BulkDone =DITS_REA_BULK_DONE , Drama2Signal =DITS_REA_DRAMA2 , DramaRunLoopExit =1111 , DramaMainThreadComplete =1112 , DramaAbortWaits =1113 } |
| Entry type code - indicates the type of a DRAMA event. More... | |
| enum class | RequestCode { End =DITS_REQ_END , Stage =DITS_REQ_STAGE , Wait =DITS_REQ_WAIT , Sleep =DITS_REQ_SLEEP , Message =DITS_REQ_MESSAGE , Exit =DITS_REQ_EXIT , KickNoChangeReq =DITS___REQ_NOCHANGE } |
| Action reschedule request type. More... | |
| enum class | ShareType { Default = 0 , Create = DITS_SHARE_CREATE } |
| Share memory type codes. More... | |
Functions | |
| template<typename T , unsigned S> | |
| unsigned | ArraySize (const T(&v)[S]) |
| Return the number of elements in an array. | |
| void | CheckLockTaken (const std::string func, const std::string &file, const int lineNum) |
| Ensure the current thread has taken the DRAMA task lock. | |
| std::chrono::steady_clock::time_point | CreateFutureTimepoint (double secs) |
| Return a steady_clock time point suitable for use with the Path::...WaitUntil() methods based on an offset in seconds from the current time. | |
| template<class TaskClass > | |
| void | CreateRunDramaTask () |
| Create and run a DRAMA task, with standard exception handling. | |
| template<class TaskClass , typename... ParamTypes> | |
| void | CreateRunDramaTask (ParamTypes... taskPars) |
| Create and run a DRAMA task, with standard exception handling. | |
| void | ErsAnnulStack (StatusType *status) |
| Annul the ERS stack of messages. | |
| void | ErsFlushStack (StatusType *status) |
| Report a std::string via ERS. | |
| void | ErsReport (const std::string &mes, StatusType *status) |
| Report a std::string via ERS. | |
| template<typename... Types> | |
| void | ErsReport (StatusType *status, const char *format, Types... args) |
| Report a message via ERS - safe format. | |
| template<typename... Types> | |
| void | ExceptionThrowSafe (const std::string func, const std::string &file, const int lineNum, StatusType status, const char *format, Types... args) |
| Create and throw an exception, variable argument list, Safe formatting of arguments. | |
| std::string | FindFile (const std::string &spec, bool impdir=false) |
| Find a file using DulFindFile() specifications. | |
| bool | GetSymbolExists (const std::string &name) |
| Return true if an environment variable is set. | |
| std::string | GetSymbolVal (const std::string &name) |
| Return the value of an environment variable. | |
| template<typename T , typename... Types> | |
| void | SafePrintf (std::ostream &ostream, const char *format, const T &value, Types... args) |
| Safe formated write to a stream. | |
| void | SafePrintf (std::ostream &ostream, const char *str) |
| Safe formatted write to a stream. | |
| Request | SimpleExitAction (drama::MessageHandler *messageHandler) |
| A function which implements a simple exit action. | |
| std::string | StatusToString (StatusType status) |
| Convert a DRAMA status code to text. | |
| template<typename Container > | |
| void | stringtok (Container &container, std::string const &in, const char *const delimiters=" \t\n\r") |
| stringtok is a replacement for C's strtok() function. | |
| template<typename... Types> | |
| void | TSafePrintf (std::ostream &ostream, const char *format, Types... args) |
| Safe formated write to a stream, thread compatible. | |
Variables | |
| const char * | Drama2Date |
| The DRAMA 2 build date. | |
| const char * | Drama2Version |
| The DRAMA 2 ACMM Release version string. | |
| template<typename T > | |
| constexpr bool | is_stl_container_v = is_stl_container<T>::value |
| A type trait to helper determine if a type is an STL container. | |
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tony.farrell@mq.edu.au
Generated by