Changes to attempt to silence bcc64x
[ACE_TAO.git] / ACE / ace / Condition_Attributes.h
blobf3016d4b2d2ea243e5952ec64e755fe9a26ce1f3
1 // -*- C++ -*-
3 //==========================================================================
4 /**
5 * @file Condition_Attributes.h
7 * @author Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
8 */
9 //==========================================================================
11 #ifndef ACE_CONDITION_ATTRIBUTES_H
12 #define ACE_CONDITION_ATTRIBUTES_H
13 #include /**/ "ace/pre.h"
15 #include /**/ "ace/ACE_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "ace/OS_NS_Thread.h"
23 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
25 class ACE_Export ACE_Condition_Attributes
27 public:
28 /// Constructor
29 ACE_Condition_Attributes (int type = ACE_DEFAULT_SYNCH_TYPE);
31 /// Destructor
32 ~ACE_Condition_Attributes ();
34 /// Accessor for retrieving the current attributes
35 const ACE_condattr_t& attributes () const;
37 protected:
38 /// The attributes
39 ACE_condattr_t attributes_;
41 private:
42 void operator= (const ACE_Condition_Attributes &) = delete;
43 ACE_Condition_Attributes (const ACE_Condition_Attributes &) = delete;
46 template <class TIME_POLICY>
47 class ACE_Condition_Attributes_T : public ACE_Condition_Attributes
49 public:
50 /// Constructor
51 ACE_Condition_Attributes_T (int type = ACE_DEFAULT_SYNCH_TYPE)
52 : ACE_Condition_Attributes (type)
55 /// Destructor
56 ~ACE_Condition_Attributes_T () = default;
58 private:
59 void operator= (const ACE_Condition_Attributes_T<TIME_POLICY> &) = delete;
60 ACE_Condition_Attributes_T (const ACE_Condition_Attributes_T<TIME_POLICY> &) = delete;
63 class ACE_Monotonic_Time_Policy;
65 template <>
66 class ACE_Export ACE_Condition_Attributes_T<ACE_Monotonic_Time_Policy>
67 : public ACE_Condition_Attributes
69 public:
70 /// Constructor
71 ACE_Condition_Attributes_T (int type = ACE_DEFAULT_SYNCH_TYPE);
73 /// Destructor
74 ~ACE_Condition_Attributes_T () = default;
76 private:
77 void operator= (const ACE_Condition_Attributes_T<ACE_Monotonic_Time_Policy> &) = delete;
78 ACE_Condition_Attributes_T (const ACE_Condition_Attributes_T<ACE_Monotonic_Time_Policy> &) = delete;
81 ACE_END_VERSIONED_NAMESPACE_DECL
83 #if defined (__ACE_INLINE__)
84 #include "ace/Condition_Attributes.inl"
85 #endif /* __ACE_INLINE__ */
87 #include /**/ "ace/post.h"
88 #endif /* ACE_CONDITION_ATTRIBUTES_H */