forked from boostorg/intrusive
* Deleted dependencies with <boost/pointer_cast.hpp> and <boost/pointer_to_other.hpp>. pointer_traits is used to obtain pointer-related types and operations.
* Added examples for derivation_value_traits and member_value_traits and updated configuration.
This commit is contained in:
@@ -13,6 +13,9 @@
|
||||
#include <boost/intrusive/link_mode.hpp>
|
||||
#include <boost/intrusive/list.hpp>
|
||||
#include <boost/intrusive/slist.hpp>
|
||||
//<-
|
||||
#include <boost/intrusive/trivial_value_traits.hpp>
|
||||
//->
|
||||
#include <vector>
|
||||
|
||||
//This node is the legacy type we can't modify and we want to insert in
|
||||
@@ -66,11 +69,21 @@ struct legacy_value_traits
|
||||
|
||||
//]
|
||||
|
||||
//[doc_value_traits_trivial
|
||||
|
||||
typedef bi::trivial_value_traits<legacy_node_traits, bi::normal_link> trivial_legacy_value_traits;
|
||||
|
||||
//]
|
||||
|
||||
//[doc_value_traits_test
|
||||
//Now define an intrusive list and slist that will store legacy_value objects
|
||||
typedef bi::value_traits<legacy_value_traits> ValueTraitsOption;
|
||||
typedef bi::list<legacy_value, ValueTraitsOption> LegacyAbiList;
|
||||
typedef bi::slist<legacy_value, ValueTraitsOption> LegacyAbiSlist;
|
||||
typedef bi::value_traits<legacy_value_traits> ValueTraitsOption;
|
||||
typedef bi::value_traits<trivial_legacy_value_traits> TrivialValueTraitsOption;
|
||||
|
||||
typedef bi::list<legacy_value, ValueTraitsOption> LegacyAbiList;
|
||||
typedef bi::slist<legacy_value, ValueTraitsOption> LegacyAbiSlist;
|
||||
typedef bi::list<legacy_value, TrivialValueTraitsOption> TrivialLegacyAbiList;
|
||||
typedef bi::slist<legacy_value, TrivialValueTraitsOption> TrivialLegacyAbiSlist;
|
||||
|
||||
template<class List>
|
||||
bool test_list()
|
||||
@@ -98,6 +111,8 @@ bool test_list()
|
||||
|
||||
int main()
|
||||
{
|
||||
return test_list<LegacyAbiList>() && test_list<LegacyAbiSlist>() ? 0 : 1;
|
||||
return test_list<LegacyAbiList>() && test_list<LegacyAbiSlist>() &&
|
||||
test_list<TrivialLegacyAbiList>() && test_list<TrivialLegacyAbiSlist>()
|
||||
? 0 : 1;
|
||||
}
|
||||
//]
|
||||
|
||||
Reference in New Issue
Block a user