open_toontown_panda3d/panda/src/express/hashGeneratorBase.h

49 lines
1.6 KiB
C++

// Filename: hashGeneratorBase.h
// Created by: drose (14May01)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
#ifndef HASHGENERATORBASE_H
#define HASHGENERATORBASE_H
#include "pandabase.h"
////////////////////////////////////////////////////////////////////
// Class : HashGeneratorBase
// Description : This is the base class for a number of classes that
// generate arbitrary hash numbers for complex objects,
// based fundamentally on a sequence of integers.
//
// There are no virtual functions here, for performance
// reasons; it is generally desirable to generate hash
// numbers as quickly as possible. The derived classes
// must redefine all the basic functionality.
//
// Thus, a compile-time decision must be made for the
// kind of HashGenerator that is appropriate for a
// particular class.
////////////////////////////////////////////////////////////////////
class EXPCL_PANDAEXPRESS HashGeneratorBase {
public:
INLINE HashGeneratorBase();
INLINE ~HashGeneratorBase();
INLINE size_t get_hash() const;
protected:
size_t _hash;
};
#include "hashGeneratorBase.I"
#endif