Refactored LazyList<nogc> with ordering option
[libcds.git] / cds / opt / options.h
index 6645adaf544213c44245554a5e790a2992d952fc..9c8d208dd071731d96592eba2c3ffff07842919d 100644 (file)
@@ -1,7 +1,7 @@
 //$$CDS-header$$
 
-#ifndef __CDS_OPT_OPTIONS_H
-#define __CDS_OPT_OPTIONS_H
+#ifndef CDSLIB_OPT_OPTIONS_H
+#define CDSLIB_OPT_OPTIONS_H
 
 /*
     Framework to define template options
@@ -54,7 +54,7 @@ namespace opt {
         typedef typename cds::opt::select_default< cds::opt::none, cds::sync::spin >::type  default_spin;
 
         // spin_32bit is cds::sync::reentrant_spin32
-        typedef typename cds::opt::select_default< cds::lock::Spin32, cds::sync::reentrant_spin32 >::type  spin_32bit;
+        typedef typename cds::opt::select_default< cds::opt::none, cds::sync::reentrant_spin32 >::type  spin_32bit;
         \endcode
     */
     template <typename Option, typename Default, typename Value = Option>
@@ -177,6 +177,21 @@ namespace opt {
         //@endcond
     };
 
+    /// [type-option] @ref cds_sync_monitor "Monitor" type setter
+    /**
+        This option setter specifyes @ref cds_sync_monitor "synchronization monitor"
+        for blocking container.
+    */
+    template <typename Type>
+    struct sync_monitor {
+        //@cond
+        template <class Base> struct pack : public Base
+        {
+            typedef Type sync_monitor;
+        };
+        //@endcond
+    };
+
     /// [type-option] Back-off strategy option setter
     /**
         Back-off strategy used in some algorithm.
@@ -821,4 +836,4 @@ namespace opt {
 
 #include <cds/opt/make_options_var.h>
 
-#endif  // #ifndef __CDS_OPT_OPTIONS_H
+#endif  // #ifndef CDSLIB_OPT_OPTIONS_H