Changes to attempt to silence bcc64x
[ACE_TAO.git] / TAO / orbsvcs / tests / EC_Custom_Marshal / ECM_Data.h
blobca7fb1e9fcbcdb10e346a0186f525ce69af68c06
1 /* -*- C++ -*- */
2 //
3 // ============================================================================
4 //
5 // = DESCRIPTION
6 // Simple C++ data to show how custom marshalling can be used for
7 // non-IDL types.
8 //
9 // ============================================================================
11 #ifndef ECM_DATA_H
12 #define ECM_DATA_H
14 #include "ace/Map_Manager.h"
15 #include "ace/Null_Mutex.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "dataC.h"
23 struct ECM_Data
25 // Yes, an STL type could be used here and yes, we could write
26 // generic algorithms for marshalling and demarshalling using
27 // iterators.
28 // But ACE (and TAO) must be ported to platforms whose C++ compilers
29 // will crash and burn when faced with an STL construct.
30 typedef ACE_Map_Manager<CORBA::ULong,CORBA::Double,ACE_Null_Mutex> Inventory;
32 CORBA::String_var description;
33 Inventory inventory;
36 extern CORBA::Boolean
37 operator<< (TAO_OutputCDR& cdr, ECM_Data& x);
39 extern CORBA::Boolean
40 operator>> (TAO_InputCDR& cdr, ECM_Data& x);
42 #endif /* ECM_SUPPLIER_H */