diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-01-29 16:35:51 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-01-29 16:35:51 +0000 |
commit | faa2f09fd8f413cf5aae237a360fbe5cb79ee75f (patch) | |
tree | 8373f810c9a0b47986b292e9d4b356981aab2d3f /ace/Module.h | |
parent | 6876af88f48f3d7fd6ae8c749df5259645cf34ff (diff) | |
download | ATCD-faa2f09fd8f413cf5aae237a360fbe5cb79ee75f.tar.gz |
ChangeLogTag:Thu Jan 29 10:32:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'ace/Module.h')
-rw-r--r-- | ace/Module.h | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/ace/Module.h b/ace/Module.h index f0a667e6d4f..119f57560aa 100644 --- a/ace/Module.h +++ b/ace/Module.h @@ -23,18 +23,15 @@ // Forward decl. // template <ACE_SYNCH_DECL> class ACE_Task; -template <ACE_SYNCH_DECL> -class ACE_Module +struct ACE_Export ACE_Module_Base { // = TITLE - // An abstraction for managing a bi-directional flow of messages. - // + // Workaround HP/C++ compiler bug with enums in templates. + // // = DESCRIPTION - // This is based on the Module concept in System V Streams, - // which contains a pair of Tasks, one for handling upstream - // processing, one for handling downstream processing. -public: - friend class ACE_Shutup_GPlusPlus; // Turn off g++ warning + // The ever lamest HP/C++ compiler seems to fail if enums are + // defined inside a template, hence we have to move them into a + // base class. enum { @@ -54,6 +51,21 @@ public: // together. }; +}; + +template <ACE_SYNCH_DECL> +class ACE_Module : public ACE_Module_Base +{ + // = TITLE + // An abstraction for managing a bi-directional flow of messages. + // + // = DESCRIPTION + // This is based on the Module concept in System V Streams, + // which contains a pair of Tasks, one for handling upstream + // processing, one for handling downstream processing. +public: + friend class ACE_Shutup_GPlusPlus; // Turn off g++ warning + // = Initialization and termination methods. ACE_Module (void); // Create an empty Module. |