projects
/
libcds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adjusts sequential map test cases
[libcds.git]
/
cds
/
intrusive
/
michael_set_rcu.h
diff --git
a/cds/intrusive/michael_set_rcu.h
b/cds/intrusive/michael_set_rcu.h
index b105a8efd16b88ef3bbd95e7dab3cdb49f38c682..2a0d9bd4eae353d796dcb041bbe95bd5dd42c97e 100644
(file)
--- a/
cds/intrusive/michael_set_rcu.h
+++ b/
cds/intrusive/michael_set_rcu.h
@@
-124,10
+124,6
@@
namespace cds { namespace intrusive {
// GC and OrderedList::gc must be the same
static_assert(std::is_same<gc, typename ordered_list::gc>::value, "GC and OrderedList::gc must be the same");
// GC and OrderedList::gc must be the same
static_assert(std::is_same<gc, typename ordered_list::gc>::value, "GC and OrderedList::gc must be the same");
- // atomicity::empty_item_counter is not allowed as a item counter
- static_assert(!std::is_same<item_counter, atomicity::empty_item_counter>::value,
- "atomicity::empty_item_counter is not allowed as a item counter");
-
protected:
//@cond
typedef typename ordered_list::template select_stat_wrapper< typename ordered_list::stat > bucket_stat;
protected:
//@cond
typedef typename ordered_list::template select_stat_wrapper< typename ordered_list::stat > bucket_stat;
@@
-701,8
+697,8
@@
namespace cds { namespace intrusive {
/// Checks if the set is empty
/**
/// Checks if the set is empty
/**
- Emptiness is checked by item counting: if item count is zero then the set is empty.
-
Thus, the correct item counting feature is an important part of Michael's set implementation
.
+ @warning If you use \p atomicity::empty_item_counter in \p traits::item_counter,
+
the function always returns \p true
.
*/
bool empty() const
{
*/
bool empty() const
{
@@
-710,6
+706,10
@@
namespace cds { namespace intrusive {
}
/// Returns item count in the set
}
/// Returns item count in the set
+ /**
+ If you use \p atomicity::empty_item_counter in \p traits::item_counter,
+ the function always returns 0.
+ */
size_t size() const
{
return m_ItemCounter;
size_t size() const
{
return m_ItemCounter;
@@
-735,15
+735,15
@@
namespace cds { namespace intrusive {
private:
//@cond
template <typename Stat>
private:
//@cond
template <typename Stat>
- typename std::enable_if< Stat::empty >::type construct_bucket( internal_bucket_type * b
ucke
t )
+ typename std::enable_if< Stat::empty >::type construct_bucket( internal_bucket_type * b
k
t )
{
{
- new (b
ucke
t) internal_bucket_type;
+ new (b
k
t) internal_bucket_type;
}
template <typename Stat>
}
template <typename Stat>
- typename std::enable_if< !Stat::empty >::type construct_bucket( internal_bucket_type * b
ucke
t )
+ typename std::enable_if< !Stat::empty >::type construct_bucket( internal_bucket_type * b
k
t )
{
{
- new (b
ucke
t) internal_bucket_type( m_Stat );
+ new (b
k
t) internal_bucket_type( m_Stat );
}
/// Calculates hash value of \p key
}
/// Calculates hash value of \p key