* 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:
Ion Gaztañaga
2014-06-05 23:35:43 +02:00
parent 1ad883bddd
commit 29aa25d8e9
12 changed files with 130 additions and 60 deletions
+19 -4
View File
@@ -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;
}
//]