Removing trailing spaces
authorkhizmax <libcds.dev@gmail.com>
Sat, 29 Nov 2014 11:57:34 +0000 (14:57 +0300)
committerkhizmax <libcds.dev@gmail.com>
Sat, 29 Nov 2014 11:57:34 +0000 (14:57 +0300)
30 files changed:
cds/container/cuckoo_map.h
cds/container/details/ellen_bintree_base.h
cds/container/details/skip_list_base.h
cds/container/ellen_bintree_set_rcu.h
cds/container/impl/ellen_bintree_map.h
cds/container/impl/skip_list_map.h
cds/container/impl/skip_list_set.h
cds/container/skip_list_map_nogc.h
cds/container/skip_list_map_rcu.h
cds/container/skip_list_set_rcu.h
cds/container/striped_map.h
cds/container/striped_set.h
cds/gc/details/hp.h
cds/gc/impl/dhp_decl.h
cds/gc/impl/hp_decl.h
cds/intrusive/cuckoo_set.h
cds/intrusive/details/skip_list_base.h
cds/intrusive/ellen_bintree_rcu.h
cds/intrusive/impl/ellen_bintree.h
cds/intrusive/impl/skip_list.h
cds/intrusive/lazy_list_rcu.h
cds/intrusive/skip_list_nogc.h
cds/intrusive/skip_list_rcu.h
cds/intrusive/striped_set.h
cds/intrusive/striped_set/boost_unordered_set.h
cds/opt/options.h
cds/urcu/exempt_ptr.h
change.log
tests/test-hdr/map/hdr_skiplist_map.h
tests/unit/map2/map_delodd.cpp

index 826b1bb54fac825ca19aaf5dd4d88b351bf5726d..2ab664496266dff95057eb225940e6ab1043fa75 100644 (file)
@@ -140,7 +140,7 @@ namespace cds { namespace container {
         - \p Key - key type
         - \p T - the type stored in the map.
         - \p Traits - map traits., default is \p cuckoo::traits.
         - \p Key - key type
         - \p T - the type stored in the map.
         - \p Traits - map traits., default is \p cuckoo::traits.
-            It is possible to declare option-based set with \p cuckoo::make_traits metafunction 
+            It is possible to declare option-based set with \p cuckoo::make_traits metafunction
             result as \p Traits template argument.
 
        <b>Examples</b>
             result as \p Traits template argument.
 
        <b>Examples</b>
index 1439b8234623bce5a2d3aad585562c98d4ecff28..7a15e3591a1fff72f971ad6d8f54c59a6de945e9 100644 (file)
@@ -192,7 +192,7 @@ namespace cds { namespace container {
             /// Key copy policy (for \p EllenBinTreeMap)
             /**
                 The key copy policy defines a functor to copy leaf node's key to internal node.
             /// Key copy policy (for \p EllenBinTreeMap)
             /**
                 The key copy policy defines a functor to copy leaf node's key to internal node.
-                This policy is used only in \p EllenBinTreeMap. 
+                This policy is used only in \p EllenBinTreeMap.
                 By default, assignment operator is used.
 
                 The copy functor interface is:
                 By default, assignment operator is used.
 
                 The copy functor interface is:
@@ -238,7 +238,7 @@ namespace cds { namespace container {
             - \p opt::stat - internal statistics, by default disabled (\p ellen_bintree::empty_stat). To enable
                 it use \p ellen_bintree::stat.
             - \p opt::backoff - back-off strategy, by default no strategy is used (\p cds::backoff::empty)
             - \p opt::stat - internal statistics, by default disabled (\p ellen_bintree::empty_stat). To enable
                 it use \p ellen_bintree::stat.
             - \p opt::backoff - back-off strategy, by default no strategy is used (\p cds::backoff::empty)
-            - \p opt::rcu_check_deadlock - a deadlock checking policy, only for RCU-based tree. 
+            - \p opt::rcu_check_deadlock - a deadlock checking policy, only for RCU-based tree.
                 Default is \p opt::v::rcu_throw_deadlock.
         */
         template <typename... Options>
                 Default is \p opt::v::rcu_throw_deadlock.
         */
         template <typename... Options>
index 58e37a034967e6821d374a659b4ff3a0c73e62d9..ab59d10c6a4ce0154f184fb88cf997edc6c02ecc 100644 (file)
@@ -25,7 +25,7 @@ namespace cds { namespace container {
 
         /// Skip list internal statistics
         template <typename EventCounter = cds::atomicity::event_counter>
 
         /// Skip list internal statistics
         template <typename EventCounter = cds::atomicity::event_counter>
-        using stat = cds::intrusive::skip_list::stat < EventCounter > ;
+        using stat = cds::intrusive::skip_list::stat < EventCounter >;
 
         /// Skip list empty internal statistics
         typedef cds::intrusive::skip_list::empty_stat empty_stat;
 
         /// Skip list empty internal statistics
         typedef cds::intrusive::skip_list::empty_stat empty_stat;
@@ -105,7 +105,7 @@ namespace cds { namespace container {
             - \p opt::allocator - allocator for skip-list node. Default is \ref CDS_DEFAULT_ALLOCATOR.
             - \p opt::back_off - back-off strategy used. If the option is not specified, the \p cds::backoff::Default is used.
             - \p opt::stat - internal statistics. Available types: \p skip_list::stat, \p skip_list::empty_stat (the default)
             - \p opt::allocator - allocator for skip-list node. Default is \ref CDS_DEFAULT_ALLOCATOR.
             - \p opt::back_off - back-off strategy used. If the option is not specified, the \p cds::backoff::Default is used.
             - \p opt::stat - internal statistics. Available types: \p skip_list::stat, \p skip_list::empty_stat (the default)
-            - \p opt::rcu_check_deadlock - a deadlock checking policy for RCU-based skip-list. 
+            - \p opt::rcu_check_deadlock - a deadlock checking policy for RCU-based skip-list.
                 Default is \p opt::v::rcu_throw_deadlock
 
         */
                 Default is \p opt::v::rcu_throw_deadlock
 
         */
index 724daf77d39fff1d153860278d8acbb634b3ab6d..a0f79b138d7faf122171c69fcdb6f2665d2b7c98 100644 (file)
@@ -147,7 +147,7 @@ namespace cds { namespace container {
         /// pointer to extracted node
         using exempt_ptr = cds::urcu::exempt_ptr < gc, leaf_node, value_type, typename maker::intrusive_traits::disposer,
             cds::urcu::details::conventional_exempt_member_cast < leaf_node, value_type >
         /// pointer to extracted node
         using exempt_ptr = cds::urcu::exempt_ptr < gc, leaf_node, value_type, typename maker::intrusive_traits::disposer,
             cds::urcu::details::conventional_exempt_member_cast < leaf_node, value_type >
-        > ;
+        >;
 
     public:
         /// Default constructor
 
     public:
         /// Default constructor
@@ -196,7 +196,7 @@ namespace cds { namespace container {
             \endcode
             where \p val is the item inserted. User-defined functor \p f should guarantee that during changing
             \p val no any other changes could be made on this set's item by concurrent threads.
             \endcode
             where \p val is the item inserted. User-defined functor \p f should guarantee that during changing
             \p val no any other changes could be made on this set's item by concurrent threads.
-            The user-defined functor is called only if the inserting is success. 
+            The user-defined functor is called only if the inserting is success.
 
             RCU \p synchronize() can be called. RCU should not be locked.
         */
 
             RCU \p synchronize() can be called. RCU should not be locked.
         */
index 1d78da4bdf37891fc0f644468a8f8225abc599c7..3cd74182e8b31d50947f6c9c4213bf8a0b259f9e 100644 (file)
@@ -80,7 +80,7 @@ namespace cds { namespace container {
         typedef Key     key_type;    ///< type of a key stored in the map
         typedef T       mapped_type; ///< type of value stored in the map
         typedef std::pair< key_type const, mapped_type >    value_type  ;   ///< Key-value pair stored in leaf node of the mp
         typedef Key     key_type;    ///< type of a key stored in the map
         typedef T       mapped_type; ///< type of value stored in the map
         typedef std::pair< key_type const, mapped_type >    value_type  ;   ///< Key-value pair stored in leaf node of the mp
-        typedef Traits  traits;      ///< Map traits 
+        typedef Traits  traits;      ///< Map traits
 
 #   ifdef CDS_DOXYGEN_INVOKED
         typedef implementation_defined key_comparator; ///< key compare functor based on \p Traits::compare and \p Traits::less
 
 #   ifdef CDS_DOXYGEN_INVOKED
         typedef implementation_defined key_comparator; ///< key compare functor based on \p Traits::compare and \p Traits::less
index 9d0bb2ac5e59fcfaeef1a68621e616b992e6c63d..3eb13f8b9683be21ed6670d9c98695cd7e033da6 100644 (file)
@@ -36,7 +36,7 @@ namespace cds { namespace container {
         - \p K - type of a key to be stored in the list.
         - \p T - type of a value to be stored in the list.
         - \p Traits - map traits, default is \p skip_list::traits
         - \p K - type of a key to be stored in the list.
         - \p T - type of a value to be stored in the list.
         - \p Traits - map traits, default is \p skip_list::traits
-            It is possible to declare option-based list with \p cds::container::skip_list::make_traits metafunction 
+            It is possible to declare option-based list with \p cds::container::skip_list::make_traits metafunction
             istead of \p Traits template argument.
 
         Like STL map class, \p %SkipListMap stores the key-value pair as <tt>std:pair< K const, T></tt>.
             istead of \p Traits template argument.
 
         Like STL map class, \p %SkipListMap stores the key-value pair as <tt>std:pair< K const, T></tt>.
index 3f42454415748f855f601d43c4bb10c1854eb941..18bcf09d398e860638e42b2989f855f218a81e49 100644 (file)
@@ -36,7 +36,7 @@ namespace cds { namespace container {
         - \p GC - Garbage collector used.
         - \p T - type to be stored in the list.
         - \p Traits - set traits, default is \p skip_list::traits.
         - \p GC - Garbage collector used.
         - \p T - type to be stored in the list.
         - \p Traits - set traits, default is \p skip_list::traits.
-            It is possible to declare option-based list with \p cds::container::skip_list::make_traits metafunction 
+            It is possible to declare option-based list with \p cds::container::skip_list::make_traits metafunction
             istead of \p Traits template argument.
 
         @warning The skip-list requires up to 67 hazard pointers that may be critical for some GCs for which
             istead of \p Traits template argument.
 
         @warning The skip-list requires up to 67 hazard pointers that may be critical for some GCs for which
index 7745b7ea1f108cad3e2a1ba4401ca244d90eb5c0..a14890dc2061fe842877e6335e8897a96be85efb 100644 (file)
@@ -31,7 +31,7 @@ namespace cds { namespace container {
         - \p K - type of a key to be stored in the map.
         - \p T - type of a value to be stored in the map.
         - \p Traits - map traits, default is \p skip_list::traits
         - \p K - type of a key to be stored in the map.
         - \p T - type of a value to be stored in the map.
         - \p Traits - map traits, default is \p skip_list::traits
-            It is possible to declare option-based list with \p cds::container::skip_list::make_traits 
+            It is possible to declare option-based list with \p cds::container::skip_list::make_traits
             metafunction istead of \p Traits template argument.
     */
     template <
             metafunction istead of \p Traits template argument.
     */
     template <
index e47917c3e3daa9d7220aa24febd6d1d092a6bf9a..49245d7eabe80315a00a7ab5ace1ebb2a3b79c07 100644 (file)
@@ -444,7 +444,7 @@ namespace cds { namespace container {
 
         /// Extracts an item with minimal key from the map
         /**
 
         /// Extracts an item with minimal key from the map
         /**
-            The function searches an item with minimal key, unlinks it, 
+            The function searches an item with minimal key, unlinks it,
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
@@ -461,7 +461,7 @@ namespace cds { namespace container {
 
         /// Extracts an item with maximal key from the map
         /**
 
         /// Extracts an item with maximal key from the map
         /**
-            The function searches an item with maximal key, unlinks it from the set, 
+            The function searches an item with maximal key, unlinks it from the set,
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
index a61ce17af46df20c78890f294e158743a3e262b9..5004833531d4fab7f749cdb2fed2922df023dc29 100644 (file)
@@ -477,7 +477,7 @@ namespace cds { namespace container {
 
         /// Extracts an item with minimal key from the set
         /**
 
         /// Extracts an item with minimal key from the set
         /**
-            The function searches an item with minimal key, unlinks it, 
+            The function searches an item with minimal key, unlinks it,
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
@@ -494,7 +494,7 @@ namespace cds { namespace container {
 
         /// Extracts an item with maximal key from the set
         /**
 
         /// Extracts an item with maximal key from the set
         /**
-            The function searches an item with maximal key, unlinks it from the set, 
+            The function searches an item with maximal key, unlinks it from the set,
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
             and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item.
             If the skip-list is empty the function returns an empty \p exempt_ptr.
 
index 8969d5bef6aa13444f32ab551b4c191ad86c34f3..78022b61c065f0b86601c233c6668946ec5a2a8a 100644 (file)
@@ -77,7 +77,7 @@ namespace cds { namespace container {
                 If the option is not specified, the \p %opt::less is used.
             - \p opt::less - specifies binary predicate used for key comparison. Default is \p std::less<T>.
             - \p opt::item_counter - item counter type. Default is \p atomicity::item_counter since some operation on the counter is performed
                 If the option is not specified, the \p %opt::less is used.
             - \p opt::less - specifies binary predicate used for key comparison. Default is \p std::less<T>.
             - \p opt::item_counter - item counter type. Default is \p atomicity::item_counter since some operation on the counter is performed
-                without locks. Note that item counting is an essential part of the map algorithm, so dummy counter 
+                without locks. Note that item counting is an essential part of the map algorithm, so dummy counter
                 like as \p atomicity::empty_item_counter is not suitable.
             - \p opt::allocator - the allocator type using for memory allocation of bucket table and lock array. Default is \ref CDS_DEFAULT_ALLOCATOR.
             - \p opt::resizing_policy - the resizing policy that is a functor that decides when to resize the hash map.
                 like as \p atomicity::empty_item_counter is not suitable.
             - \p opt::allocator - the allocator type using for memory allocation of bucket table and lock array. Default is \ref CDS_DEFAULT_ALLOCATOR.
             - \p opt::resizing_policy - the resizing policy that is a functor that decides when to resize the hash map.
index 1eae6b91010a4da8db07670308b845f2ccf01dd0..1f142f0ca93f8dd97fa4bef4f7022d5088110649 100644 (file)
@@ -36,13 +36,13 @@ namespace cds { namespace container {
             - \p opt::mutex_policy - concurrent access policy.
                 Available policies: \p intrusive::striped_set::striping, \p intrusive::striped_set::refinable.
                 Default is \p %striped_set::striping.
             - \p opt::mutex_policy - concurrent access policy.
                 Available policies: \p intrusive::striped_set::striping, \p intrusive::striped_set::refinable.
                 Default is \p %striped_set::striping.
-            - \p opt::hash - hash functor. Default option value see <tt>opt::v::hash_selector<opt::none> </tt> 
+            - \p opt::hash - hash functor. Default option value see <tt>opt::v::hash_selector<opt::none> </tt>
                 which selects default hash functor for your compiler.
             - \p opt::compare - key comparison functor. No default functor is provided.
                 If the option is not specified, the \p %opt::less is used.
             - \p opt::less - specifies binary predicate used for key comparison. Default is \p std::less<T>.
             - \p opt::item_counter - item counter type. Default is \p atomicity::item_counter since some operation on the counter is performed
                 which selects default hash functor for your compiler.
             - \p opt::compare - key comparison functor. No default functor is provided.
                 If the option is not specified, the \p %opt::less is used.
             - \p opt::less - specifies binary predicate used for key comparison. Default is \p std::less<T>.
             - \p opt::item_counter - item counter type. Default is \p atomicity::item_counter since some operation on the counter is performed
-                without locks. Note that item counting is an essential part of the set algorithm, so dummy counter 
+                without locks. Note that item counting is an essential part of the set algorithm, so dummy counter
                 like as \p atomicity::empty_item_counter is not suitable.
             - \p opt::allocator - the allocator type using for memory allocation of bucket table and lock array. Default is \ref CDS_DEFAULT_ALLOCATOR.
             - \p opt::resizing_policy - the resizing policy that is a functor that decides when to resize the hash set.
                 like as \p atomicity::empty_item_counter is not suitable.
             - \p opt::allocator - the allocator type using for memory allocation of bucket table and lock array. Default is \ref CDS_DEFAULT_ALLOCATOR.
             - \p opt::resizing_policy - the resizing policy that is a functor that decides when to resize the hash set.
index 5685f0d098ef8e0086d31d6382746c4e5df3ad31..c58192d9630b16fa0abcc2fdc0c272fa1e88df08 100644 (file)
@@ -92,14 +92,14 @@ namespace cds {
                     The capacity is constant for any thread. It is defined by cds::gc::hp::GarbageCollector.
                 */
                 size_t capacity() const CDS_NOEXCEPT
                     The capacity is constant for any thread. It is defined by cds::gc::hp::GarbageCollector.
                 */
                 size_t capacity() const CDS_NOEXCEPT
-                { 
-                    return m_arr.capacity(); 
+                {
+                    return m_arr.capacity();
                 }
 
                 /// Current vector size (count of retired pointers in the vector)
                 size_t size() const CDS_NOEXCEPT
                 }
 
                 /// Current vector size (count of retired pointers in the vector)
                 size_t size() const CDS_NOEXCEPT
-                { 
-                    return m_nSize; 
+                {
+                    return m_nSize;
                 }
 
                 /// Set vector size. Uses internally
                 }
 
                 /// Set vector size. Uses internally
@@ -125,14 +125,14 @@ namespace cds {
 
                 /// Begin iterator
                 iterator    begin() CDS_NOEXCEPT
 
                 /// Begin iterator
                 iterator    begin() CDS_NOEXCEPT
-                { 
-                    return m_arr.begin(); 
+                {
+                    return m_arr.begin();
                 }
 
                 /// End iterator
                 iterator    end() CDS_NOEXCEPT
                 }
 
                 /// End iterator
                 iterator    end() CDS_NOEXCEPT
-                { 
-                    return m_arr.begin() +  m_nSize ; 
+                {
+                    return m_arr.begin() +  m_nSize;
                 }
 
                 /// Clears the vector. After clearing, size() == 0
                 }
 
                 /// Clears the vector. After clearing, size() == 0
@@ -344,20 +344,20 @@ namespace cds {
 
             /// Returns max Hazard Pointer count defined in construction time
             size_t            getHazardPointerCount() const CDS_NOEXCEPT
 
             /// Returns max Hazard Pointer count defined in construction time
             size_t            getHazardPointerCount() const CDS_NOEXCEPT
-            { 
-                return m_nHazardPointerCount; 
+            {
+                return m_nHazardPointerCount;
             }
 
             /// Returns max thread count defined in construction time
             size_t            getMaxThreadCount() const CDS_NOEXCEPT
             }
 
             /// Returns max thread count defined in construction time
             size_t            getMaxThreadCount() const CDS_NOEXCEPT
-            { 
-                return m_nMaxThreadCount; 
+            {
+                return m_nMaxThreadCount;
             }
 
             /// Returns max size of retired objects array. It is defined in construction time
             size_t            getMaxRetiredPtrCount() const CDS_NOEXCEPT
             }
 
             /// Returns max size of retired objects array. It is defined in construction time
             size_t            getMaxRetiredPtrCount() const CDS_NOEXCEPT
-            { 
-                return m_nMaxRetiredPtrCount; 
+            {
+                return m_nMaxRetiredPtrCount;
             }
 
             // Internal statistics
             }
 
             // Internal statistics
@@ -602,7 +602,7 @@ namespace cds {
         /// Auto hp_guard.
         /**
             This class encapsulates Hazard Pointer guard to protect a pointer against deletion .
         /// Auto hp_guard.
         /**
             This class encapsulates Hazard Pointer guard to protect a pointer against deletion .
-            It allocates one HP from thread's HP array in constructor and free the hazard pointer allocated 
+            It allocates one HP from thread's HP array in constructor and free the hazard pointer allocated
             in destructor.
         */
         class guard
             in destructor.
         */
         class guard
index 1cfb3f4891c617eb1a59d6f1fec2e125fc8cddb0..a3825f063f10922a32322c6d69544580265bc6b4 100644 (file)
@@ -591,9 +591,9 @@ namespace cds { namespace gc {
             The function always returns \p true since the guard count is unlimited for
             \p gc::DHP garbage collector.
         */
             The function always returns \p true since the guard count is unlimited for
             \p gc::DHP garbage collector.
         */
-        static CDS_CONSTEXPR bool check_available_guards( 
+        static CDS_CONSTEXPR bool check_available_guards(
 #ifdef CDS_DOXYGEN_INVOKED
 #ifdef CDS_DOXYGEN_INVOKED
-            size_t nCountNeeded, 
+            size_t nCountNeeded,
 #else
             size_t,
 #endif
 #else
             size_t,
 #endif
index e5790d7b4f39819603de312466b904b7ed88cf80..e47ff0cf16b2a95f5fb87e5a054b353e048db49d 100644 (file)
@@ -105,7 +105,7 @@ namespace cds { namespace gc {
             A guard is the hazard pointer.
             Additionally, the \p %Guard class manages allocation and deallocation of the hazard pointer
 
             A guard is the hazard pointer.
             Additionally, the \p %Guard class manages allocation and deallocation of the hazard pointer
 
-            A \p %Guard object is not copy- and move-constructible 
+            A \p %Guard object is not copy- and move-constructible
             and not copy- and move-assignable.
         */
         class Guard : public hp::guard
             and not copy- and move-assignable.
         */
         class Guard : public hp::guard
@@ -612,7 +612,7 @@ namespace cds { namespace gc {
 
         /// Checks if count of hazard pointer is no less than \p nCountNeeded
         /**
 
         /// Checks if count of hazard pointer is no less than \p nCountNeeded
         /**
-            If \p bRaiseException is \p true (that is the default), the function raises 
+            If \p bRaiseException is \p true (that is the default), the function raises
             an \p std::overflow_error exception "Too few hazard pointers"
             if \p nCountNeeded is more than the count of hazard pointer per thread.
         */
             an \p std::overflow_error exception "Too few hazard pointers"
             if \p nCountNeeded is more than the count of hazard pointer per thread.
         */
index e747ac37c852e6e6b5fbe46a96fc0eead189e134..c4be8d7ab9d31c983b069b7874bc57f5c06184c7 100644 (file)
@@ -1169,7 +1169,7 @@ namespace cds { namespace intrusive {
         /// Metafunction converting option list to \p CuckooSet traits
         /**
             Template argument list \p Options... are:
         /// Metafunction converting option list to \p CuckooSet traits
         /**
             Template argument list \p Options... are:
-            - \p intrusive::opt::hook - hook used. Possible values are: \p cuckoo::base_hook, \p cuckoo::member_hook, 
+            - \p intrusive::opt::hook - hook used. Possible values are: \p cuckoo::base_hook, \p cuckoo::member_hook,
                 \p cuckoo::traits_hook.
                 If the option is not specified, <tt>%cuckoo::base_hook<></tt> is used.
             - \p opt::hash - hash functor tuple, mandatory option. At least, two hash functors should be provided. All hash functor
                 \p cuckoo::traits_hook.
                 If the option is not specified, <tt>%cuckoo::base_hook<></tt> is used.
             - \p opt::hash - hash functor tuple, mandatory option. At least, two hash functors should be provided. All hash functor
@@ -1658,7 +1658,7 @@ namespace cds { namespace intrusive {
         <b>How to use</b>
 
         You should incorporate \p cuckoo::node into your struct \p T and provide
         <b>How to use</b>
 
         You should incorporate \p cuckoo::node into your struct \p T and provide
-        appropriate \p cuckoo::traits::hook in your \p Traits template parameters. 
+        appropriate \p cuckoo::traits::hook in your \p Traits template parameters.
         Usually, for \p Traits you define a struct based on \p cuckoo::traits.
 
         Example for base hook and list-based probe-set:
         Usually, for \p Traits you define a struct based on \p cuckoo::traits.
 
         Example for base hook and list-based probe-set:
index 4f2843cf4f65288762014e32d618fd71030ee2b3..d4e6de1577764eb7759c7add9d34db992f8c21c9 100644 (file)
@@ -25,7 +25,7 @@ namespace cds { namespace intrusive {
             - \p Tag - a \ref cds_intrusive_hook_tag "tag"
         */
         template <class GC, typename Tag = opt::none>
             - \p Tag - a \ref cds_intrusive_hook_tag "tag"
         */
         template <class GC, typename Tag = opt::none>
-        class node 
+        class node
         {
         public:
             typedef GC      gc;  ///< Garbage collector
         {
         public:
             typedef GC      gc;  ///< Garbage collector
@@ -576,7 +576,7 @@ namespace cds { namespace intrusive {
                 To enable it use \p atomicity::item_counter
             - \p opt::memory_model - C++ memory ordering model. Can be \p opt::v::relaxed_ordering (relaxed memory model, the default)
                 or \p opt::v::sequential_consistent (sequentially consisnent memory model).
                 To enable it use \p atomicity::item_counter
             - \p opt::memory_model - C++ memory ordering model. Can be \p opt::v::relaxed_ordering (relaxed memory model, the default)
                 or \p opt::v::sequential_consistent (sequentially consisnent memory model).
-            - \p skip_list::random_level_generator - random level generator. Can be \p skip_list::xorshift, 
+            - \p skip_list::random_level_generator - random level generator. Can be \p skip_list::xorshift,
                 \p skip_list::turbo_pascal (the default) or
                 user-provided one. See \p skip_list::random_level_generator option description for explanation.
             - \p opt::allocator - although the skip-list is an intrusive container,
                 \p skip_list::turbo_pascal (the default) or
                 user-provided one. See \p skip_list::random_level_generator option description for explanation.
             - \p opt::allocator - although the skip-list is an intrusive container,
index 56553ae80aee55767001967244e8b83129bdc8b2..e1120c1a17fa4798543ff229d0018bdcd69b5755 100644 (file)
@@ -205,7 +205,7 @@ namespace cds { namespace intrusive {
         // ...
         \endcode
 
         // ...
         \endcode
 
-        Instead of declaring \p set_traits type traits we can use option-based syntax with 
+        Instead of declaring \p set_traits type traits we can use option-based syntax with
         \p ellen_bintree::make_traits metafunction, for example:
         \code
         typedef cds::intrusive::EllenBinTree< gpb_rcu, std::string, Foo,
         \p ellen_bintree::make_traits metafunction, for example:
         \code
         typedef cds::intrusive::EllenBinTree< gpb_rcu, std::string, Foo,
@@ -967,7 +967,7 @@ namespace cds { namespace intrusive {
 
         /// Extracts an item with minimal key from the tree
         /**
 
         /// Extracts an item with minimal key from the tree
         /**
-            The function searches an item with minimal key, unlinks it, and returns 
+            The function searches an item with minimal key, unlinks it, and returns
             \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the leftmost item.
             If the tree is empty the function returns empty \p exempt_ptr.
 
             \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the leftmost item.
             If the tree is empty the function returns empty \p exempt_ptr.
 
@@ -988,7 +988,7 @@ namespace cds { namespace intrusive {
 
         /// Extracts an item with maximal key from the tree
         /**
 
         /// Extracts an item with maximal key from the tree
         /**
-            The function searches an item with maximal key, unlinks it, and returns 
+            The function searches an item with maximal key, unlinks it, and returns
             \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the rightmost item.
             If the tree is empty the function returns empty \p exempt_ptr.
 
             \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the rightmost item.
             If the tree is empty the function returns empty \p exempt_ptr.
 
index 22f375b0c66ff06157da9a58a2a38531bb56886b..bf10cf73708088acd604e67031f2008acf557cdf 100644 (file)
@@ -1382,7 +1382,7 @@ namespace cds { namespace intrusive {
 
                         update_ptr updGP( res.updGrandParent.ptr() );
                         if ( res.pGrandParent->m_pUpdate.compare_exchange_strong( updGP, update_ptr( pOp, update_desc::DFlag ),
 
                         update_ptr updGP( res.updGrandParent.ptr() );
                         if ( res.pGrandParent->m_pUpdate.compare_exchange_strong( updGP, update_ptr( pOp, update_desc::DFlag ),
-                                memory_model::memory_order_acquire, atomics::memory_order_relaxed ) ) 
+                                memory_model::memory_order_acquire, atomics::memory_order_relaxed ) )
                         {
                             if ( help_delete( pOp ) )
                                 break;
                         {
                             if ( help_delete( pOp ) )
                                 break;
index 7a5043d71e4ab7a46058a9039a415914550606b2..5816970320852520f4e443b857e2f963be5d6a7e 100644 (file)
@@ -181,7 +181,7 @@ namespace cds { namespace intrusive {
             - \p T - type to be stored in the list. The type must be based on \p skip_list::node (for \p skip_list::base_hook)
                 or it must have a member of type \p skip_list::node (for \p skip_list::member_hook).
             - \p Traits - skip-list traits, default is \p skip_list::traits.
             - \p T - type to be stored in the list. The type must be based on \p skip_list::node (for \p skip_list::base_hook)
                 or it must have a member of type \p skip_list::node (for \p skip_list::member_hook).
             - \p Traits - skip-list traits, default is \p skip_list::traits.
-                It is possible to declare option-based list with \p cds::intrusive::skip_list::make_traits metafunction istead of \p Traits 
+                It is possible to declare option-based list with \p cds::intrusive::skip_list::make_traits metafunction istead of \p Traits
                 template argument.
 
         @warning The skip-list requires up to 67 hazard pointers that may be critical for some GCs for which
                 template argument.
 
         @warning The skip-list requires up to 67 hazard pointers that may be critical for some GCs for which
@@ -1278,7 +1278,7 @@ namespace cds { namespace intrusive {
 
         /// Extracts an item with maximal key from the list
         /**
 
         /// Extracts an item with maximal key from the list
         /**
-            The function searches an item with maximal key, unlinks it, and returns the pointer to item 
+            The function searches an item with maximal key, unlinks it, and returns the pointer to item
             as \p guarded_ptr object.
             If the skip-list is empty the function returns an empty \p guarded_ptr.
 
             as \p guarded_ptr object.
             If the skip-list is empty the function returns an empty \p guarded_ptr.
 
index 81b5512e596c9155fd0cf17ab49a7cc552fa7748..b3e0499736b06ba161e1663a5ac3af2eee898ff7 100644 (file)
@@ -231,7 +231,7 @@ namespace cds { namespace intrusive {
 
     public:
         /// pointer to extracted node
 
     public:
         /// pointer to extracted node
-        using exempt_ptr = cds::urcu::exempt_ptr< gc, value_type, value_type, clear_and_dispose, void >; 
+        using exempt_ptr = cds::urcu::exempt_ptr< gc, value_type, value_type, clear_and_dispose, void >;
 
     protected:
         //@cond
 
     protected:
         //@cond
index 6f6abf4c53c987bbc9065cb4b8b098f8a96820d5..6ff153c2acb5397d1f1cb52a6c6d770e5930d3f9 100644 (file)
@@ -213,7 +213,7 @@ namespace cds { namespace intrusive {
         - \p T - type to be stored in the set. The type must be based on \p skip_list::node (for \p skip_list::base_hook)
             or it must have a member of type \p skip_list::node (for \p skip_list::member_hook).
         - \p Traits - type traits, default is \p skip_list::traits.
         - \p T - type to be stored in the set. The type must be based on \p skip_list::node (for \p skip_list::base_hook)
             or it must have a member of type \p skip_list::node (for \p skip_list::member_hook).
         - \p Traits - type traits, default is \p skip_list::traits.
-            It is possible to declare option-based list with \p cds::intrusive::skip_list::make_traits metafunction 
+            It is possible to declare option-based list with \p cds::intrusive::skip_list::make_traits metafunction
             istead of \p Traits template argument.
 
         <b>Iterators</b>
             istead of \p Traits template argument.
 
         <b>Iterators</b>
index c63e085ea0a891f967dfb278e0b031e9a4b46612..40a321fd5e972dc5b16f1422c9037cfdaa1f5366 100644 (file)
@@ -318,7 +318,7 @@ namespace cds { namespace intrusive {
             - \p T - type to be stored in the list. The type must be based on \p skip_list::node (for \p skip_list::base_hook)
                 or it must have a member of type \p skip_list::node (for \p skip_list::member_hook).
             - \p Traits - set traits, default is \p skip_list::traits
             - \p T - type to be stored in the list. The type must be based on \p skip_list::node (for \p skip_list::base_hook)
                 or it must have a member of type \p skip_list::node (for \p skip_list::member_hook).
             - \p Traits - set traits, default is \p skip_list::traits
-                It is possible to declare option-based list with \p cds::intrusive::skip_list::make_traits metafunction 
+                It is possible to declare option-based list with \p cds::intrusive::skip_list::make_traits metafunction
                 instead of \p Traits template argument.
 
         @note Before including <tt><cds/intrusive/skip_list_rcu.h></tt> you should include appropriate RCU header file,
                 instead of \p Traits template argument.
 
         @note Before including <tt><cds/intrusive/skip_list_rcu.h></tt> you should include appropriate RCU header file,
index a5f7cd06698f6225b0d5d7fb2e2602e642b2b6a8..e0182deffffa95c6ac58961c2f97f2ea70c9cfcf 100644 (file)
@@ -34,10 +34,10 @@ namespace cds { namespace intrusive {
         Template arguments:
             - \p Container - the container class that is used as bucket table entry. The \p Container class should support
                 an uniform interface described below.
         Template arguments:
             - \p Container - the container class that is used as bucket table entry. The \p Container class should support
                 an uniform interface described below.
-            - \p Options - options 
+            - \p Options - options
 
         The \p %StripedSet class does not exactly dictate the type of container that should be used as a \p Container bucket.
 
         The \p %StripedSet class does not exactly dictate the type of container that should be used as a \p Container bucket.
-        Instead, the class supports different intrusive container type for the bucket, for exampe, 
+        Instead, the class supports different intrusive container type for the bucket, for exampe,
         \p boost::intrusive::list, \p boost::intrusive::set and others.
 
         Remember that \p %StripedSet class algorithm ensures sequential blocking access to its bucket through the mutex type you specify
         \p boost::intrusive::list, \p boost::intrusive::set and others.
 
         Remember that \p %StripedSet class algorithm ensures sequential blocking access to its bucket through the mutex type you specify
@@ -47,7 +47,7 @@ namespace cds { namespace intrusive {
         - \p opt::mutex_policy - concurrent access policy.
             Available policies: \p striped_set::striping, \p striped_set::refinable.
             Default is \p %striped_set::striping.
         - \p opt::mutex_policy - concurrent access policy.
             Available policies: \p striped_set::striping, \p striped_set::refinable.
             Default is \p %striped_set::striping.
-        - \p cds::opt::hash - hash functor. Default option value see <tt>opt::v::hash_selector <opt::none></tt> 
+        - \p cds::opt::hash - hash functor. Default option value see <tt>opt::v::hash_selector <opt::none></tt>
             which selects default hash functor for your compiler.
         - \p cds::opt::compare - key comparison functor. No default functor is provided.
             If the option is not specified, the \p opt::less is used.
             which selects default hash functor for your compiler.
         - \p cds::opt::compare - key comparison functor. No default functor is provided.
             If the option is not specified, the \p opt::less is used.
index ea833054337cf73070cd0133ed3af2c7ad02bc57..9ec936990a28e541a535fdf6ecf0ab81ca78ebc6 100644 (file)
@@ -178,9 +178,9 @@ namespace cds { namespace intrusive { namespace striped_set {
     } // namespace details
 
 #if CDS_COMPILER == CDS_COMPILER_INTEL && CDS_COMPILER_VERSION <= 1500
     } // namespace details
 
 #if CDS_COMPILER == CDS_COMPILER_INTEL && CDS_COMPILER_VERSION <= 1500
-    template <typename T, 
-        typename O1, typename O2, typename O3, typename O4, typename O5, 
-        typename O6, typename O7, typename O8, typename O9, typename O10, 
+    template <typename T,
+        typename O1, typename O2, typename O3, typename O4, typename O5,
+        typename O6, typename O7, typename O8, typename O9, typename O10,
         typename... Options
     >
     class adapt < boost::intrusive::unordered_set< T, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10 >, Options... >
         typename... Options
     >
     class adapt < boost::intrusive::unordered_set< T, O1, O2, O3, O4, O5, O6, O7, O8, O9, O10 >, Options... >
index 55d05dc4cb12194cde49a2c3ef188a5f81c99ae1..0c2f7e9541c4d32a989ffd8a0880cd215ba6a42b 100644 (file)
@@ -496,8 +496,8 @@ namespace opt {
             enum { padding = Padding & ~padding_flags };
 
         public:
             enum { padding = Padding & ~padding_flags };
 
         public:
-            static CDS_CONSTEXPR const size_t c_nPadding = 
-                static_cast<unsigned int>(padding) == static_cast<unsigned int>(cache_line_padding) ? cds::c_nCacheLineSize : 
+            static CDS_CONSTEXPR const size_t c_nPadding =
+                static_cast<unsigned int>(padding) == static_cast<unsigned int>(cache_line_padding) ? cds::c_nCacheLineSize :
                 static_cast<unsigned int>(padding) == static_cast<unsigned int>(no_special_padding) ? 0 : padding;
 
             static_assert( (c_nPadding & (c_nPadding - 1)) == 0, "Padding must be a power-of-two number" );
                 static_cast<unsigned int>(padding) == static_cast<unsigned int>(no_special_padding) ? 0 : padding;
 
             static_assert( (c_nPadding & (c_nPadding - 1)) == 0, "Padding must be a power-of-two number" );
@@ -506,7 +506,7 @@ namespace opt {
                 c_nPadding,
                 c_nPadding == 0,
                 sizeof( T ) < c_nPadding ? padding_datasize_less : sizeof( T ) == c_nPadding ? padding_datasize_equal : padding_datasize_greater,
                 c_nPadding,
                 c_nPadding == 0,
                 sizeof( T ) < c_nPadding ? padding_datasize_less : sizeof( T ) == c_nPadding ? padding_datasize_equal : padding_datasize_greater,
-                (Padding & padding_tiny_data_only) != 0 
+                (Padding & padding_tiny_data_only) != 0
             >::type type;
         };
 
             >::type type;
         };
 
index 1b052691aa7b55e4ca40bf4df823cb1155e5a604..fa005ec8764f163af8b16ebf4bff31056fff086b 100644 (file)
@@ -45,7 +45,7 @@ namespace cds { namespace urcu {
         - \p NodeType - container's node type
         - \p ValueType - value type stored in container's node. For intrusive containers it is the same as \p NodeType
         - \p Disposer - a disposer functor
         - \p NodeType - container's node type
         - \p ValueType - value type stored in container's node. For intrusive containers it is the same as \p NodeType
         - \p Disposer - a disposer functor
-        - \p Cast - a functor for casting from \p NodeType to \p ValueType. For intrusive containers 
+        - \p Cast - a functor for casting from \p NodeType to \p ValueType. For intrusive containers
             the casting is usually disabled, i.e. \p Cast is \p void.
     */
     template <
             the casting is usually disabled, i.e. \p Cast is \p void.
     */
     template <
index d54711b6a095144fa3d6bef3a2017255205e6158..c383941538a091a63d10ada23463d3fe6876358d 100644 (file)
@@ -23,6 +23,7 @@
     - Changed: guarded_ptr and exempt_ptr have move semantics now. The container's extract() and get()
       member functions return the objects of that type.
     - Changed: improved cds::gc::HP and cds::gc::DHP internal implementation
     - Changed: guarded_ptr and exempt_ptr have move semantics now. The container's extract() and get()
       member functions return the objects of that type.
     - Changed: improved cds::gc::HP and cds::gc::DHP internal implementation
+    - Changed: map member function insert_key() has been renamed to insert_with()
 
 1.6.0 23.09.2014
     General release
 
 1.6.0 23.09.2014
     General release
index e21aaaa333b7222b5925871b2a9d378527625cf1..ef474f7506b8ae0f1615573f5ad9c110565b28aa 100644 (file)
@@ -180,7 +180,7 @@ namespace map {
                     CPPUNIT_CHECK( gp->first == nKey );
                     CPPUNIT_CHECK( gp->second.m_val == nKey * 2 );
                     gp.release();
                     CPPUNIT_CHECK( gp->first == nKey );
                     CPPUNIT_CHECK( gp->second.m_val == nKey * 2 );
                     gp.release();
-                    
+
                     gp = m.extract_with( wrapped_item( nKey ), wrapped_less());
                     CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
                     gp = m.extract_with( wrapped_item( nKey ), wrapped_less());
                     CPPUNIT_ASSERT( gp );
                     CPPUNIT_ASSERT( !gp.empty());
index f1ecb3f4d67aa263cb3b14db2c0d07792c4cc1e7..655bc1f7d158f43ff23c8136374badf93083bb04 100644 (file)
@@ -106,7 +106,7 @@ namespace boost {
     {
         return std::hash<size_t>()( k.nKey );
     }
     {
         return std::hash<size_t>()( k.nKey );
     }
-       
+
     template <>
     struct hash<map2::key_thread>
     {
     template <>
     struct hash<map2::key_thread>
     {