diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-02-27 09:15:31 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-02-27 09:15:31 +0000 |
commit | 657496006c6f2f3c698720c6970d2ec438fbad86 (patch) | |
tree | e64ea6810a0f8be2b7c1f7fddddba75761c5797c | |
parent | 946a8659af08e969b5fc38318028e3e286b38a36 (diff) | |
download | ATCD-657496006c6f2f3c698720c6970d2ec438fbad86.tar.gz |
ChangeLogTag:Wed Feb 27 01:12:32 2002 Carlos O'Ryan <coryan@uci.edu>
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-02a | 8 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 8 | ||||
-rw-r--r-- | ace/Swap.cpp | 25 | ||||
-rw-r--r-- | ace/Swap.h | 46 | ||||
-rw-r--r-- | ace/Swap.inl | 15 |
6 files changed, 110 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 781ba79dc52..b5f4332b2a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Feb 27 01:12:32 2002 Carlos O'Ryan <coryan@uci.edu> + + * ace/Swap.h: + * ace/Swap.inl: + * ace/Swap.cpp: + Add helper template to swap variables, very useful when + implementing exception neutral/safe classes. + Wed Feb 26 00:38:50 2002 UTC Don Hinton <dhinton@ieee.org> * ace/Select_Reactor_Base.h: diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index 781ba79dc52..b5f4332b2a5 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,3 +1,11 @@ +Wed Feb 27 01:12:32 2002 Carlos O'Ryan <coryan@uci.edu> + + * ace/Swap.h: + * ace/Swap.inl: + * ace/Swap.cpp: + Add helper template to swap variables, very useful when + implementing exception neutral/safe classes. + Wed Feb 26 00:38:50 2002 UTC Don Hinton <dhinton@ieee.org> * ace/Select_Reactor_Base.h: diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 781ba79dc52..b5f4332b2a5 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,11 @@ +Wed Feb 27 01:12:32 2002 Carlos O'Ryan <coryan@uci.edu> + + * ace/Swap.h: + * ace/Swap.inl: + * ace/Swap.cpp: + Add helper template to swap variables, very useful when + implementing exception neutral/safe classes. + Wed Feb 26 00:38:50 2002 UTC Don Hinton <dhinton@ieee.org> * ace/Select_Reactor_Base.h: diff --git a/ace/Swap.cpp b/ace/Swap.cpp new file mode 100644 index 00000000000..4f62e72ade6 --- /dev/null +++ b/ace/Swap.cpp @@ -0,0 +1,25 @@ +/* -*- C++ -*- */ +/** + * @file Swap.cpp + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + */ + +#ifndef ACE_SWAP_C +#define ACE_SWAP_C + +#include "ace/Swap.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if !defined (__ACE_INLINE__) +#include "ace/Swap.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(ace, Swap, "$Id$") + +#endif /* ACE_SWAP_C */ diff --git a/ace/Swap.h b/ace/Swap.h new file mode 100644 index 00000000000..0915eba17b2 --- /dev/null +++ b/ace/Swap.h @@ -0,0 +1,46 @@ +/* -*- C++ -*- */ +/** + * @file Swap.h + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + */ + +#ifndef ACE_SWAP_H +#define ACE_SWAP_H +#include "ace/pre.h" + +#include "ace/config-all.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +/** + * @class ACE_Swap + * + * @brief Defines a function to swap two variables. + * + */ +template<class T> class ACE_Swap +{ +public: + /// Swap two variables + static void swap (T &lhs, T &rhs); +}; + +#if defined (__ACE_INLINE__) +#include "ace/Swap.inl" +#endif /* __ACE_INLINE__ */ + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "ace/Swap.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) +#pragma implementation ("Swap.cpp") +#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ + +#include "ace/post.h" +#endif /* ACE_FUNCTOR_H */ diff --git a/ace/Swap.inl b/ace/Swap.inl new file mode 100644 index 00000000000..b1139ca3ffb --- /dev/null +++ b/ace/Swap.inl @@ -0,0 +1,15 @@ +/** + * @file Swap.inl + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + */ + +template<class T> ACE_INLINE void +ACE_Swap<T>::swap (T &lhs, T& rhs) +{ + T tmp = lhs; + lhs = rhs; + rhs = tmp; +} |