}
};
+ /// User-space general-purpose RCU with deferred (buffered) reclamation (stripped version)
+ /**
+ @headerfile cds/urcu/general_buffered.h
+
+ This short version of \p general_buffered is intended for stripping debug info.
+ If you use \p %general_buffered with default template arguments you may use
+ this stripped version. All functionality of both classes are identical.
+ */
+ class general_buffered_stripped: public general_buffered<>
+ {};
+
}} // namespace cds::urcu
#endif // #ifndef CDSLIB_URCU_DETAILS_GPB_H
//@cond
general_instant()
{}
+
~general_instant()
{}
//@endcond
};
+ /// User-space general-purpose RCU with immediate reclamation (stripped version)
+ /**
+ @headerfile cds/urcu/general_instant.h
+
+ This short version of \p general_instant is intended for stripping debug info.
+ If you use \p %general_instant with default template arguments you may use
+ this stripped version. All functionality of both classes are identical.
+ */
+ class general_instant_stripped: public general_instant<>
+ {};
+
}} // namespace cds::urcu
#endif // #ifndef CDSLIB_URCU_DETAILS_GPI_H
return m_nCapacity;
}
};
+
+ /// User-space general-purpose RCU with deferred threaded reclamation (stripped version)
+ /**
+ @headerfile cds/urcu/general_threaded.h
+
+ This short version of \p general_threaded is intended for stripping debug info.
+ If you use \p %general_threaded with default template arguments you may use
+ this stripped version. All functionality of both classes are identical.
+ */
+ class general_threaded_stripped: public general_threaded<>
+ {};
+
}} // namespace cds::urcu
#endif // #ifndef CDSLIB_URCU_DETAILS_GPT_H
}
};
+
+ /// User-space signal-handled RCU with deferred (buffered) reclamation (stripped version)
+ /**
+ @headerfile cds/urcu/signal_buffered.h
+
+ This short version of \p signal_buffered is intended for stripping debug info.
+ If you use \p %signal_buffered with default template arguments you may use
+ this stripped version. All functionality of both classes are identical.
+ */
+ class signal_buffered_stripped: public signal_buffered<>
+ {};
+
}} // namespace cds::urcu
#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
return base_class::signal_no();
}
};
+
+
+ /// User-space signal-handled RCU with deferred threaded reclamation (stripped version)
+ /**
+ @headerfile cds/urcu/signal_threaded.h
+
+ This short version of \p signal_threaded is intended for stripping debug info.
+ If you use \p %signal_threaded with default template arguments you may use
+ this stripped version. All functionality of both classes are identical.
+ */
+ class signal_threaded_stripped: public signal_threaded<>
+ {};
+
}} // namespace cds::urcu
#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
}
};
+ //@cond
+ template<>
+ class gc< general_buffered_stripped >: public gc< general_buffered<>>
+ {};
+ //@endcond
+
}} // namespace cds::urcu
#endif // #ifndef CDSLIB_URCU_GENERAL_BUFFERED_H
{}
};
+ //@cond
+ template<>
+ class gc< general_instant_stripped >: public gc< general_instant<>>
+ {};
+ //@endcond
+
}} // namespace cds::urcu
#endif // #ifndef CDSLIB_URCU_GENERAL_INSTANT_H
}
};
+ //@cond
+ template<>
+ class gc< general_threaded_stripped >: public gc< general_threaded<>>
+ {};
+ //@endcond
+
}} // namespace cds::urcu
#endif // #ifndef CDSLIB_URCU_GENERAL_THREADED_H
}
};
+ //@cond
+ template<>
+ class gc< signal_buffered_stripped >: public gc< signal_buffered<>>
+ {};
+ //@endcond
+
+
}} // namespace cds::urcu
#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
}
};
+ //@cond
+ template<>
+ class gc< signal_threaded_stripped >: public gc< signal_threaded<>>
+ {};
+ //@endcond
+
}} // namespace cds::urcu
#endif // #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
namespace {
typedef cds::urcu::general_buffered<> rcu_implementation;
+ typedef cds::urcu::general_buffered_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPB, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPB, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPB_stripped, MichaelLazySet, rcu_implementation_stripped );
namespace {
typedef cds::urcu::general_instant<> rcu_implementation;
+ typedef cds::urcu::general_instant_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPI, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPI, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPI_stripped, MichaelLazySet, rcu_implementation_stripped );
namespace {
- typedef cds::urcu::general_threaded<> rcu_implementation;
+ typedef cds::urcu::general_threaded<> rcu_implementation;
+ typedef cds::urcu::general_threaded_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPT, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPT, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPT_stripped, MichaelLazySet, rcu_implementation_stripped );
namespace {
- typedef cds::urcu::signal_buffered<> rcu_implementation;
+ typedef cds::urcu::signal_buffered<> rcu_implementation;
+ typedef cds::urcu::signal_buffered_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHB, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHB, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHB_stripped, MichaelLazySet, rcu_implementation_stripped );
#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED
namespace {
- typedef cds::urcu::signal_threaded<> rcu_implementation;
+ typedef cds::urcu::signal_threaded<> rcu_implementation;
+ typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelLazySet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelLazySet, rcu_implementation_stripped );
#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED
namespace {
- typedef cds::urcu::general_buffered<> rcu_implementation;
+ typedef cds::urcu::general_buffered<> rcu_implementation;
+ typedef cds::urcu::general_buffered_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPB, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPB, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPB_stripped, MichaelSet, rcu_implementation_stripped );
namespace {
- typedef cds::urcu::general_instant<> rcu_implementation;
+ typedef cds::urcu::general_instant<> rcu_implementation;
+ typedef cds::urcu::general_instant_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPI, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPI, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPI_stripped, MichaelSet, rcu_implementation_stripped );
namespace {
- typedef cds::urcu::general_threaded<> rcu_implementation;
+ typedef cds::urcu::general_threaded<> rcu_implementation;
+ typedef cds::urcu::general_threaded_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPT, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPT, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_GPT_stripped, MichaelSet, rcu_implementation_stripped );
namespace {
- typedef cds::urcu::signal_buffered<> rcu_implementation;
+ typedef cds::urcu::signal_buffered<> rcu_implementation;
+ typedef cds::urcu::signal_buffered_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHB, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHB, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHB_stripped, MichaelSet, rcu_implementation_stripped );
#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED
namespace {
- typedef cds::urcu::signal_threaded<> rcu_implementation;
+ typedef cds::urcu::signal_threaded<> rcu_implementation;
+ typedef cds::urcu::signal_threaded_stripped rcu_implementation_stripped;
} // namespace
-INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT, MichaelSet, rcu_implementation );
+INSTANTIATE_TYPED_TEST_CASE_P( RCU_SHT_stripped, MichaelSet, rcu_implementation_stripped );
#endif // CDS_URCU_SIGNAL_HANDLING_ENABLED