vc++ build farts

This commit is contained in:
David Rose 2002-02-22 19:20:56 +00:00
parent eb05821d40
commit b09d07bff8
2 changed files with 23 additions and 39 deletions

View File

@ -17,31 +17,6 @@
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: ordered_vector::EquivalentTest::Constructor
// Access: Public
// Description:
////////////////////////////////////////////////////////////////////
template<class Key, class Compare>
INLINE ordered_vector<Key, Compare>::EquivalentTest::
EquivalentTest(const Compare &compare) :
_compare(compare)
{
}
////////////////////////////////////////////////////////////////////
// Function: ordered_vector::EquivalentTest::operator ()
// Access: Public
// Description:
////////////////////////////////////////////////////////////////////
template<class Key, class Compare>
INLINE bool ordered_vector<Key, Compare>::EquivalentTest::
operator () (const ordered_vector<Key, Compare>::key_type &a,
const ordered_vector<Key, Compare>::key_type &b) {
nassertr(!_compare(b, a), false);
return !_compare(a, b);
}
////////////////////////////////////////////////////////////////////
// Function: ordered_vector::Constructor
// Access: Public
@ -734,7 +709,7 @@ verify_list() {
template<class Key, class Compare>
INLINE ov_set<Key, Compare>::
ov_set(const Compare &compare) :
ordered_vector(compare)
ordered_vector<Key, Compare>(compare)
{
}
@ -746,7 +721,7 @@ ov_set(const Compare &compare) :
template<class Key, class Compare>
INLINE ov_set<Key, Compare>::
ov_set(const ov_set<Key, Compare> &copy) :
ordered_vector(copy)
ordered_vector<Key, Compare>(copy)
{
}
@ -758,7 +733,7 @@ ov_set(const ov_set<Key, Compare> &copy) :
template<class Key, class Compare>
INLINE ov_set<Key, Compare> &ov_set<Key, Compare>::
operator = (const ov_set<Key, Compare> &copy) {
ordered_vector::operator = (copy);
ordered_vector<Key, Compare>::operator = (copy);
return *this;
}
@ -771,7 +746,7 @@ template<class Key, class Compare>
ov_set<Key, Compare>::iterator ov_set<Key, Compare>::
insert(ordered_vector<Key, Compare>::iterator position,
const ordered_vector<Key, Compare>::value_type &key) {
return ordered_vector::insert_unique(position, key);
return ordered_vector<Key, Compare>::insert_unique(position, key);
}
////////////////////////////////////////////////////////////////////
@ -782,7 +757,7 @@ insert(ordered_vector<Key, Compare>::iterator position,
template<class Key, class Compare>
INLINE pair<ov_set<Key, Compare>::iterator, bool> ov_set<Key, Compare>::
insert(const ordered_vector<Key, Compare>::value_type &key) {
return ordered_vector::insert_unique(key);
return ordered_vector<Key, Compare>::insert_unique(key);
}
////////////////////////////////////////////////////////////////////
@ -793,7 +768,7 @@ insert(const ordered_vector<Key, Compare>::value_type &key) {
template<class Key, class Compare>
INLINE void ov_set<Key, Compare>::
sort() {
return ordered_vector::sort_unique();
return ordered_vector<Key, Compare>::sort_unique();
}
////////////////////////////////////////////////////////////////////
@ -804,7 +779,7 @@ sort() {
template<class Key, class Compare>
INLINE ov_multiset<Key, Compare>::
ov_multiset(const Compare &compare) :
ordered_vector(compare)
ordered_vector<Key, Compare>(compare)
{
}
@ -816,7 +791,7 @@ ov_multiset(const Compare &compare) :
template<class Key, class Compare>
INLINE ov_multiset<Key, Compare>::
ov_multiset(const ov_multiset<Key, Compare> &copy) :
ordered_vector(copy)
ordered_vector<Key, Compare>(copy)
{
}
@ -828,7 +803,7 @@ ov_multiset(const ov_multiset<Key, Compare> &copy) :
template<class Key, class Compare>
INLINE ov_multiset<Key, Compare> &ov_multiset<Key, Compare>::
operator = (const ov_multiset<Key, Compare> &copy) {
ordered_vector::operator = (copy);
ordered_vector<Key, Compare>::operator = (copy);
return *this;
}
@ -841,7 +816,7 @@ template<class Key, class Compare>
ov_multiset<Key, Compare>::iterator ov_multiset<Key, Compare>::
insert(ordered_vector<Key, Compare>::iterator position,
const ordered_vector<Key, Compare>::value_type &key) {
return ordered_vector::insert_nonunique(position, key);
return ordered_vector<Key, Compare>::insert_nonunique(position, key);
}
////////////////////////////////////////////////////////////////////
@ -852,7 +827,7 @@ insert(ordered_vector<Key, Compare>::iterator position,
template<class Key, class Compare>
INLINE ov_multiset<Key, Compare>::iterator ov_multiset<Key, Compare>::
insert(const ordered_vector<Key, Compare>::value_type &key) {
return ordered_vector::insert_nonunique(key);
return ordered_vector<Key, Compare>::insert_nonunique(key);
}
////////////////////////////////////////////////////////////////////
@ -863,5 +838,5 @@ insert(const ordered_vector<Key, Compare>::value_type &key) {
template<class Key, class Compare>
INLINE void ov_multiset<Key, Compare>::
sort() {
return ordered_vector::sort_nonunique();
return ordered_vector<Key, Compare>::sort_nonunique();
}

View File

@ -189,8 +189,17 @@ private:
// if two consecutive sorted elements are equivalent.
class EquivalentTest {
public:
INLINE EquivalentTest(const Compare &compare);
INLINE bool operator () (const key_type &a, const key_type &b);
// For some reason, VC++ won't allow us to define these bodies
// outside the class; they must be defined here. The error
// message is C3206: "member functions of nested classes of a
// template class cannot be defined outside the class".
INLINE EquivalentTest(const Compare &compare) :
_compare(compare) { }
INLINE bool operator () (const key_type &a, const key_type &b) {
nassertr(!_compare(b, a), false);
return !_compare(a, b);
}
Compare _compare;
};