Also use Objects as part of an operation but as a result don't generate Any operation...
[ACE_TAO.git] / ACE / ace / OS_Errno.inl
blob9fd2af39b92178d89bc9ad6afdde1cd7b51117ec
1 // -*- C++ -*-
2 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
4 ACE_INLINE
5 ACE_Errno_Guard::ACE_Errno_Guard (ACE_ERRNO_TYPE &errno_ref,
6                                   int error)
7   :
8 #if defined (ACE_MT_SAFE)
9     errno_ptr_ (&errno_ref),
10 #endif /* ACE_MT_SAFE */
11     error_ (error)
13 #if !defined(ACE_MT_SAFE)
14   ACE_UNUSED_ARG (errno_ref);
15 #endif /* ACE_MT_SAFE */
18 ACE_INLINE
19 ACE_Errno_Guard::ACE_Errno_Guard (ACE_ERRNO_TYPE &errno_ref)
20   :
21 #if defined (ACE_MT_SAFE)
22     errno_ptr_ (&errno_ref),
23 #endif /* ACE_MT_SAFE */
24     error_ (errno_ref)
28 ACE_INLINE
29 ACE_Errno_Guard::~ACE_Errno_Guard (void)
31 #if defined (ACE_MT_SAFE)
32   *errno_ptr_ = this->error_;
33 #else
34   errno = this->error_;
35 #endif /* ACE_MT_SAFE */
38 #if defined (ACE_HAS_WINCE_BROKEN_ERRNO)
39 ACE_INLINE int
40 ACE_Errno_Guard::operator= (const ACE_ERRNO_TYPE &error)
42   return this->error_ = error;
44 #endif /* ACE_HAS_WINCE_BROKEN_ERRNO */
46 ACE_INLINE int
47 ACE_Errno_Guard::operator= (int error)
49   return this->error_ = error;
52 ACE_INLINE bool
53 ACE_Errno_Guard::operator== (int error)
55   return this->error_ == error;
58 ACE_INLINE bool
59 ACE_Errno_Guard::operator!= (int error)
61   return this->error_ != error;
64 ACE_END_VERSIONED_NAMESPACE_DECL