-#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED\r
-#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED\r
-\r
-//\r
-// boost/detail/atomic_count_gcc.hpp\r
-//\r
-// atomic_count for GNU libstdc++ v3\r
-//\r
-// http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html\r
-//\r
-// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.\r
-// Copyright (c) 2002 Lars Gullik Bjønnes <larsbj@lyx.org>\r
-// Copyright 2003-2005 Peter Dimov\r
-//\r
-// Distributed under the Boost Software License, Version 1.0. (See\r
-// accompanying file LICENSE_1_0.txt or copy at\r
-// http://www.boost.org/LICENSE_1_0.txt)\r
-//\r
-\r
-#if __GNUC__ * 100 + __GNUC_MINOR__ >= 402\r
-# include <ext/atomicity.h> \r
-#else \r
-# include <bits/atomicity.h>\r
-#endif\r
-\r
-namespace boost\r
-{\r
-\r
-namespace detail\r
-{\r
-\r
-#if defined(__GLIBCXX__) // g++ 3.4+\r
-\r
-using __gnu_cxx::__atomic_add;\r
-using __gnu_cxx::__exchange_and_add;\r
-\r
-#endif\r
-\r
-class atomic_count\r
-{\r
-public:\r
-\r
- explicit atomic_count( long v ) : value_( v ) {}\r
-\r
- long operator++()\r
- {\r
- return __exchange_and_add( &value_, +1 ) + 1;\r
- }\r
-\r
- long operator--()\r
- {\r
- return __exchange_and_add( &value_, -1 ) - 1;\r
- }\r
-\r
- operator long() const\r
- {\r
- return __exchange_and_add( &value_, 0 );\r
- }\r
-\r
-private:\r
-\r
- atomic_count(atomic_count const &);\r
- atomic_count & operator=(atomic_count const &);\r
-\r
- mutable _Atomic_word value_;\r
-};\r
-\r
-} // namespace detail\r
-\r
-} // namespace boost\r
-\r
-#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED\r
+#ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
+#define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
+
+//
+// boost/detail/atomic_count_gcc.hpp
+//
+// atomic_count for GNU libstdc++ v3
+//
+// http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html
+//
+// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
+// Copyright (c) 2002 Lars Gullik Bjønnes <larsbj@lyx.org>
+// Copyright 2003-2005 Peter Dimov
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 402
+# include <ext/atomicity.h>
+#else
+# include <bits/atomicity.h>
+#endif
+
+namespace boost
+{
+
+namespace detail
+{
+
+#if defined(__GLIBCXX__) // g++ 3.4+
+
+using __gnu_cxx::__atomic_add;
+using __gnu_cxx::__exchange_and_add;
+
+#endif
+
+class atomic_count
+{
+public:
+
+ explicit atomic_count( long v ) : value_( v ) {}
+
+ long operator++()
+ {
+ return __exchange_and_add( &value_, +1 ) + 1;
+ }
+
+ long operator--()
+ {
+ return __exchange_and_add( &value_, -1 ) - 1;
+ }
+
+ operator long() const
+ {
+ return __exchange_and_add( &value_, 0 );
+ }
+
+private:
+
+ atomic_count(atomic_count const &);
+ atomic_count & operator=(atomic_count const &);
+
+ mutable _Atomic_word value_;
+};
+
+} // namespace detail
+
+} // namespace boost
+
+#endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED