add indirectLess

This commit is contained in:
David Rose 2001-06-27 19:51:53 +00:00
parent a4c59b67e8
commit 4d96148508
3 changed files with 72 additions and 1 deletions

View File

@ -19,6 +19,7 @@
globalPointerRegistry.I globalPointerRegistry.h \
indirectCompareNames.I indirectCompareNames.h \
indirectCompareTo.I indirectCompareTo.h \
indirectLess.I indirectLess.h \
ioPtaDatagramFloat.h ioPtaDatagramInt.h \
ioPtaDatagramShort.h keyboardButton.h lineStream.I \
lineStream.h lineStreamBuf.I lineStreamBuf.h \
@ -64,7 +65,8 @@
globPattern.I globPattern.h \
globalPointerRegistry.I globalPointerRegistry.h \
indirectCompareNames.I indirectCompareNames.h indirectCompareTo.I \
indirectCompareTo.h ioPtaDatagramFloat.h ioPtaDatagramInt.h \
indirectCompareTo.h indirectLess.I indirectLess.h \
ioPtaDatagramFloat.h ioPtaDatagramInt.h \
ioPtaDatagramShort.h iterator_types.h keyboardButton.h lineStream.I \
lineStream.h lineStreamBuf.I lineStreamBuf.h modifierButtons.I \
modifierButtons.h mouseButton.h mouseData.h nameUniquifier.I \

View File

@ -0,0 +1,29 @@
// Filename: indirectLess.I
// Created by: drose (27Jun01)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license. You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://www.panda3d.org/license.txt .
//
// To contact the maintainers of this program write to
// panda3d@yahoogroups.com .
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: IndirectLess::operator ()
// Access: Public
// Description: Returns true if a sorts before b, false otherwise.
////////////////////////////////////////////////////////////////////
template<class ObjectType>
INLINE bool IndirectLess<ObjectType>::
operator () (const ObjectType *a, const ObjectType *b) const {
return (a != b && (*a) < (*b));
}

View File

@ -0,0 +1,40 @@
// Filename: indirectLess.h
// Created by: drose (27Jun01)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license. You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://www.panda3d.org/license.txt .
//
// To contact the maintainers of this program write to
// panda3d@yahoogroups.com .
//
////////////////////////////////////////////////////////////////////
#ifndef INDIRECTLESS_H
#define INDIRECTLESS_H
#include <pandabase.h>
////////////////////////////////////////////////////////////////////
// Class : IndirectLess
// Description : An STL function object class, this is intended to be
// used on any ordered collection of pointers to classes
// that contain an operator <() method. It defines the
// order of the pointers via operator <().
////////////////////////////////////////////////////////////////////
template<class ObjectType>
class IndirectLess {
public:
INLINE bool operator () (const ObjectType *a, const ObjectType *b) const;
};
#include "indirectLess.I"
#endif