3 //==========================================================================
5 * @file Condition_Attributes.h
7 * @author Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
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)
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
29 ACE_Condition_Attributes (int type
= ACE_DEFAULT_SYNCH_TYPE
);
32 ~ACE_Condition_Attributes ();
34 /// Accessor for retrieving the current attributes
35 const ACE_condattr_t
& attributes () const;
39 ACE_condattr_t attributes_
;
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
51 ACE_Condition_Attributes_T (int type
= ACE_DEFAULT_SYNCH_TYPE
)
52 : ACE_Condition_Attributes (type
)
56 ~ACE_Condition_Attributes_T () = default;
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
;
66 class ACE_Export ACE_Condition_Attributes_T
<ACE_Monotonic_Time_Policy
>
67 : public ACE_Condition_Attributes
71 ACE_Condition_Attributes_T (int type
= ACE_DEFAULT_SYNCH_TYPE
);
74 ~ACE_Condition_Attributes_T () = default;
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 */