diff --git a/panda/src/putil/ordered_vector.I b/panda/src/putil/ordered_vector.I index eb781841d4..3baa6de0c7 100644 --- a/panda/src/putil/ordered_vector.I +++ b/panda/src/putil/ordered_vector.I @@ -814,8 +814,8 @@ operator = (const ov_multiset ©) { //////////////////////////////////////////////////////////////////// template ov_multiset::iterator ov_multiset:: -insert(ordered_vector::iterator position, - const ordered_vector::value_type &key) { +insert(ov_multiset::iterator position, + const ov_multiset::value_type &key) { return ordered_vector::insert_nonunique(position, key); } @@ -826,7 +826,7 @@ insert(ordered_vector::iterator position, //////////////////////////////////////////////////////////////////// template INLINE ov_multiset::iterator ov_multiset:: -insert(const ordered_vector::value_type &key) { +insert(const ov_multiset::value_type &key) { return ordered_vector::insert_nonunique(key); } diff --git a/panda/src/putil/ordered_vector.h b/panda/src/putil/ordered_vector.h index 98827e42e2..4042f58bd5 100644 --- a/panda/src/putil/ordered_vector.h +++ b/panda/src/putil/ordered_vector.h @@ -216,6 +216,22 @@ private: template > class ov_set : public ordered_vector { public: + // The Intel compiler doesn't seem to inherit these typedefs + // completely--it gets confused in certain cases. We'll make it + // explicit. + typedef ordered_vector::key_type key_type; + typedef ordered_vector::value_type value_type; + typedef ordered_vector::reference reference; + typedef ordered_vector::const_reference const_reference; + typedef ordered_vector::key_compare key_compare; + typedef ordered_vector::value_compare value_compare; + typedef ordered_vector::iterator iterator; + typedef ordered_vector::const_iterator const_iterator; + typedef ordered_vector::reverse_iterator reverse_iterator; + typedef ordered_vector::const_reverse_iterator const_reverse_iterator; + typedef ordered_vector::difference_type difference_type; + typedef ordered_vector::size_type size_type; + INLINE ov_set(const Compare &compare = Compare()); INLINE ov_set(const ov_set ©); INLINE ov_set &operator = (const ov_set ©); @@ -235,6 +251,22 @@ public: template > class ov_multiset : public ordered_vector { public: + // The Intel compiler doesn't seem to inherit these typedefs + // completely--it gets confused in certain cases. We'll make it + // explicit. + typedef ordered_vector::key_type key_type; + typedef ordered_vector::value_type value_type; + typedef ordered_vector::reference reference; + typedef ordered_vector::const_reference const_reference; + typedef ordered_vector::key_compare key_compare; + typedef ordered_vector::value_compare value_compare; + typedef ordered_vector::iterator iterator; + typedef ordered_vector::const_iterator const_iterator; + typedef ordered_vector::reverse_iterator reverse_iterator; + typedef ordered_vector::const_reverse_iterator const_reverse_iterator; + typedef ordered_vector::difference_type difference_type; + typedef ordered_vector::size_type size_type; + INLINE ov_multiset(const Compare &compare = Compare()); INLINE ov_multiset(const ov_multiset ©); INLINE ov_multiset &operator = (const ov_multiset ©);