projects
/
libcds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix type in docs
[libcds.git]
/
cds
/
intrusive
/
vyukov_mpmc_cycle_queue.h
diff --git
a/cds/intrusive/vyukov_mpmc_cycle_queue.h
b/cds/intrusive/vyukov_mpmc_cycle_queue.h
index be6c48d5a4777bbdca6117c6496a3f24a93f8a97..03382df37a2496ed9b8f784a459420c84acbb60e 100644
(file)
--- a/
cds/intrusive/vyukov_mpmc_cycle_queue.h
+++ b/
cds/intrusive/vyukov_mpmc_cycle_queue.h
@@
-3,7
+3,7
@@
#ifndef __CDS_INTRUSIVE_VYUKOV_MPMC_CYCLE_QUEUE_H
#define __CDS_INTRUSIVE_VYUKOV_MPMC_CYCLE_QUEUE_H
#ifndef __CDS_INTRUSIVE_VYUKOV_MPMC_CYCLE_QUEUE_H
#define __CDS_INTRUSIVE_VYUKOV_MPMC_CYCLE_QUEUE_H
-#include <cds/intrusive/base.h>
+#include <cds/intrusive/
details/
base.h>
#include <cds/container/vyukov_mpmc_cycle_queue.h>
namespace cds { namespace intrusive {
#include <cds/container/vyukov_mpmc_cycle_queue.h>
namespace cds { namespace intrusive {
@@
-54,12
+54,12
@@
namespace cds { namespace intrusive {
\endcode
*/
\endcode
*/
- template <typename T,
CDS_DECL_OPTIONS6
>
+ template <typename T,
typename... Options
>
class VyukovMPMCCycleQueue
class VyukovMPMCCycleQueue
- : private container::VyukovMPMCCycleQueue< T *,
CDS_OPTIONS6
>
+ : private container::VyukovMPMCCycleQueue< T *,
Options...
>
{
//@cond
{
//@cond
- typedef container::VyukovMPMCCycleQueue< T *,
CDS_OPTIONS6
> base_class;
+ typedef container::VyukovMPMCCycleQueue< T *,
Options...
> base_class;
//@endcond
public:
typedef T value_type ; ///< type of data stored in the queue
//@endcond
public:
typedef T value_type ; ///< type of data stored in the queue
@@
-73,9
+73,9
@@
namespace cds { namespace intrusive {
public:
/// Rebind template arguments
public:
/// Rebind template arguments
- template <typename T2,
CDS_DECL_OTHER_OPTIONS6
>
+ template <typename T2,
typename... Options2
>
struct rebind {
struct rebind {
- typedef VyukovMPMCCycleQueue< T2,
CDS_OTHER_OPTIONS6
> other ; ///< Rebinding result
+ typedef VyukovMPMCCycleQueue< T2,
Options2...
> other ; ///< Rebinding result
};
public:
};
public:
@@
-98,12
+98,12
@@
namespace cds { namespace intrusive {
/// Dequeues an item from queue
/**
/// Dequeues an item from queue
/**
- If queue is empty, returns \p
NULL
.
+ If queue is empty, returns \p
nullptr
.
*/
value_type * dequeue()
{
*/
value_type * dequeue()
{
- value_type * p = null
_ptr<value_type *>()
;
- return base_class::dequeue( p ) ? p : null
_ptr<value_type *>()
;
+ value_type * p = null
ptr
;
+ return base_class::dequeue( p ) ? p : null
ptr
;
}
/// Synonym of \ref enqueue
}
/// Synonym of \ref enqueue
@@
-127,15
+127,15
@@
namespace cds { namespace intrusive {
void operator ()( T * val );
};
\endcode
void operator ()( T * val );
};
\endcode
- You can pass \p disposer by reference using \p
boost
::ref.
+ You can pass \p disposer by reference using \p
std
::ref.
The disposer will be called immediately for each item.
*/
template <typename Disposer>
void clear( Disposer f )
{
value_type * pv;
The disposer will be called immediately for each item.
*/
template <typename Disposer>
void clear( Disposer f )
{
value_type * pv;
- while ( (pv = pop()) != null
_ptr<value_type *>()
) {
-
unref(f)
( pv );
+ while ( (pv = pop()) != null
ptr
) {
+
f
( pv );
}
}
}
}