mirror of
https://github.com/panda3d/panda3d.git
synced 2026-04-20 21:50:26 -05:00
allow comparison between BitMask and integer
This commit is contained in:
@@ -690,6 +690,65 @@ compare_to(const BitMask<WType, nbits> &other) const {
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: BitMask::operator ==
|
||||
// Access: Published
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
template<class WType, int nbits>
|
||||
INLINE bool BitMask<WType, nbits>::
|
||||
operator == (WordType other) const {
|
||||
return _word == other;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: BitMask::operator !=
|
||||
// Access: Published
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
template<class WType, int nbits>
|
||||
INLINE bool BitMask<WType, nbits>::
|
||||
operator != (WordType other) const {
|
||||
return _word != other;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: BitMask::operator <
|
||||
// Access: Published
|
||||
// Description: The ordering operator is of limited usefulness with a
|
||||
// BitMask, however, it has a definition which places
|
||||
// all unique BitMasks into a unique ordering. It may
|
||||
// be useful when defining ordered STL containers of
|
||||
// BitMasks, for instance; and it's required in order to
|
||||
// export any STL container (ordered or unordered) of
|
||||
// BitMask under Windows.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
template<class WType, int nbits>
|
||||
INLINE bool BitMask<WType, nbits>::
|
||||
operator < (WordType other) const {
|
||||
return _word < other;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: BitMask::compare_to
|
||||
// Access: Published
|
||||
// Description: Returns a number less than zero if this BitMask sorts
|
||||
// before the indicated other BitMask, greater than zero
|
||||
// if it sorts after, or 0 if they are equivalent. This
|
||||
// is based on the same ordering defined by operator <.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
template<class WType, int nbits>
|
||||
INLINE int BitMask<WType, nbits>::
|
||||
compare_to(WordType other) const {
|
||||
if ((*this) < other) {
|
||||
return -1;
|
||||
} else if (other < (*this)) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: BitMask::operator &
|
||||
// Access: Published
|
||||
|
||||
@@ -94,6 +94,11 @@ PUBLISHED:
|
||||
INLINE bool operator < (const BitMask<WType, nbits> &other) const;
|
||||
INLINE int compare_to(const BitMask<WType, nbits> &other) const;
|
||||
|
||||
INLINE bool operator == (WordType other) const;
|
||||
INLINE bool operator != (WordType other) const;
|
||||
INLINE bool operator < (WordType other) const;
|
||||
INLINE int compare_to(WordType other) const;
|
||||
|
||||
INLINE BitMask<WType, nbits>
|
||||
operator & (const BitMask<WType, nbits> &other) const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user