Removed redundant spaces
[libcds.git] / cds / container / details / ellen_bintree_base.h
index 7a15e3591a1fff72f971ad6d8f54c59a6de945e9..6f963a4d1b9081131332d3537dc5ee745d3f2bc7 100644 (file)
@@ -1,7 +1,35 @@
-//$$CDS-header$$
+/*
+    This file is a part of libcds - Concurrent Data Structures library
 
-#ifndef __CDS_CONTAINER_DETAILS_ELLEN_BINTREE_BASE_H
-#define __CDS_CONTAINER_DETAILS_ELLEN_BINTREE_BASE_H
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+
+    Source code repo: http://github.com/khizmax/libcds/
+    Download: http://sourceforge.net/projects/libcds/files/
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this
+      list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef CDSLIB_CONTAINER_DETAILS_ELLEN_BINTREE_BASE_H
+#define CDSLIB_CONTAINER_DETAILS_ELLEN_BINTREE_BASE_H
 
 #include <cds/intrusive/details/ellen_bintree_base.h>
 #include <cds/container/details/base.h>
@@ -14,7 +42,6 @@ namespace cds { namespace container {
     /** @ingroup cds_nonintrusive_helper
     */
     namespace ellen_bintree {
-
 #ifdef CDS_DOXYGEN_INVOKED
         /// Typedef for \p cds::intrusive::ellen_bintree::update_desc
         typedef cds::intrusive::ellen_bintree::update_desc update_desc;
@@ -61,14 +88,14 @@ namespace cds { namespace container {
 
             /// Copy constructor
             template <typename... Args>
-            node( Args const&... args)
+            node( Args const&... args )
                 : m_Value( args... )
             {}
 
             /// Move constructor
             template <typename... Args>
-            node( Args&&... args)
-                : m_Value( std::forward<Args>(args)... )
+            node( Args&&... args )
+                : m_Value( std::forward<Args>( args )... )
             {}
         };
 
@@ -85,30 +112,30 @@ namespace cds { namespace container {
             /// Initializes key field, value if default-constructed
             template <typename K>
             map_node( K const& key )
-                : m_Value( std::make_pair( key_type(key), mapped_type() ))
+                : m_Value( std::make_pair( key_type(key), mapped_type()))
             {}
 
             /// Initializes key and value fields
             template <typename K, typename Q>
             map_node( K const& key, Q const& v )
-                : m_Value( std::make_pair(key_type(key), mapped_type(v) ))
+                : m_Value( std::make_pair(key_type(key), mapped_type(v)))
             {}
         };
 
-        /// Type traits for EllenBinTreeSet and EllenBinTreeMap
+        /// Type traits for \p EllenBinTreeSet and \p EllenBinTreeMap
         struct traits
         {
             /// Key extracting functor (only for \p EllenBinTreeSet)
             /**
-                You should explicit define a valid functor.
-                The functor has the following prototype:
+                This is mandatory functor for \p %EllenBinTreeSet.
+                It has the following prototype:
                 \code
                 struct key_extractor {
                     void operator ()( Key& dest, T const& src );
                 };
                 \endcode
                 It should initialize \p dest key from \p src data.
-                The functor is used to initialize internal nodes of \p EllenBinTreeSet
+                The functor is used to initialize internal nodes of \p %EllenBinTreeSet
             */
             typedef opt::none           key_extractor;
 
@@ -332,7 +359,7 @@ namespace cds { namespace container {
 
                 typedef typename cds::opt::details::make_comparator< value_type, original_traits, false >::type key_comparator;
 
-                typedef cds::details::Allocator< leaf_node, typename original_traits::allocator>  cxx_leaf_node_allocator;
+                typedef cds::details::Allocator< leaf_node, typename original_traits::allocator> cxx_leaf_node_allocator;
                 struct leaf_deallocator
                 {
                     void operator()( leaf_node * p ) const
@@ -343,14 +370,14 @@ namespace cds { namespace container {
 
                 struct intrusive_traits: public original_traits
                 {
-                    typedef cds::intrusive::ellen_bintree::base_hook< cds::opt::gc< gc > >  hook;
+                    typedef cds::intrusive::ellen_bintree::base_hook< cds::opt::gc< gc >> hook;
                     typedef intrusive_key_extractor key_extractor;
                     typedef leaf_deallocator        disposer;
                     typedef cds::details::compare_wrapper< leaf_node, key_comparator, value_accessor > compare;
                 };
 
                 // Metafunction result
-                typedef cds::intrusive::EllenBinTree< gc, key_type, leaf_node, intrusive_traits >    type;
+                typedef cds::intrusive::EllenBinTree< gc, key_type, leaf_node, intrusive_traits > type;
             };
 
             template < class GC, typename Key, typename T, class Traits>
@@ -430,4 +457,4 @@ namespace cds { namespace container {
 
 }} // namespace cds::container
 
-#endif // #ifndef __CDS_CONTAINER_DETAILS_ELLEN_BINTREE_BASE_H
+#endif // #ifndef CDSLIB_CONTAINER_DETAILS_ELLEN_BINTREE_BASE_H