53 BOOST_CLASS_REQUIRES(
CONTAINER, ContainerConcept );
54 typedef typename CONTAINER::value_type value_type;
55 typedef typename boost::remove_pointer<value_type>::type dv_value_type;
58 typedef typename boost::is_same<std::vector<value_type>,
CONTAINER> isStdVector;
59 typedef typename boost::is_same<DataVector<dv_value_type>,
CONTAINER> isDataVector;
60 typedef typename boost::type_traits::ice_or<isStdVector::value, isDataVector::value>
63 typedef typename boost::is_base_and_derived<std::vector<value_type>,
CONTAINER>
65 typedef typename boost::is_base_and_derived<DataVector<dv_value_type>,
CONTAINER>
66 derivesFromDataVector;
67 typedef typename boost::type_traits::ice_or<derivesFromStdVector::value,
68 derivesFromDataVector::value>
72 typedef typename boost::is_same<std::list<value_type>,
CONTAINER> isStdList;
73 typedef typename boost::is_same<DataList<dv_value_type>,
CONTAINER> isDataList;
74 typedef typename boost::type_traits::ice_or<isStdList::value, isDataList::value> isList;
76 typedef typename boost::is_base_and_derived<std::list<value_type>,
CONTAINER>
78 typedef typename boost::is_base_and_derived<DataList<dv_value_type>,
CONTAINER>
80 typedef typename boost::type_traits::ice_or<derivesFromStdList::value,
81 derivesFromDataList::value>
85 typedef typename boost::is_same<std::deque<value_type>,
CONTAINER> isDeque;
86 typedef typename boost::is_base_and_derived<std::deque<value_type>,
CONTAINER>
91 typename boost::type_traits::ice_or<isDeque::value, isList::value, isVector::value,
92 derivesFromDeque::value, derivesFromList::value,
93 derivesFromVector::value>