aboutsummaryrefslogtreecommitdiff
path: root/externals/g3dlite/G3D/GUniqueID.h
diff options
context:
space:
mode:
Diffstat (limited to 'externals/g3dlite/G3D/GUniqueID.h')
-rw-r--r--externals/g3dlite/G3D/GUniqueID.h69
1 files changed, 0 insertions, 69 deletions
diff --git a/externals/g3dlite/G3D/GUniqueID.h b/externals/g3dlite/G3D/GUniqueID.h
deleted file mode 100644
index c8b775c2e66..00000000000
--- a/externals/g3dlite/G3D/GUniqueID.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- @file GUniqueID.h
- @author Morgan McGuire, http://graphics.cs.williams.edu
- */
-#ifndef G3D_GUNIQUEID_H
-#define G3D_GUNIQUEID_H
-
-#include "G3D/platform.h"
-#include "G3D/g3dmath.h"
-#include "G3D/Table.h"
-
-namespace G3D {
-
-/** Globally unique identifiers. The probability of two different
- programs generating the same value from UniqueID::create is
- vanishingly small.
-
- UniqueIDs optionally contain a 10-bit application specific tag
- that distinguishes their type.
-*/
-class GUniqueID {
-private:
-
- uint64 id;
-
-public:
-
- GUniqueID() : id(0) {}
-
- bool uninitialized() const {
- return id == 0;
- }
-
- uint16 tag() const {
- return id >> 54;
- }
-
- operator uint64() const {
- return id;
- }
-
- bool operator==(const GUniqueID& other) const {
- return id == other.id;
- }
-
- bool operator!=(const GUniqueID& other) const {
- return id != other.id;
- }
-
- void serialize(class BinaryOutput& b) const;
-
- void deserialize(class BinaryInput& b);
-
- void serialize(class TextOutput& t) const;
-
- void deserialize(class TextInput& t);
-
- /** Create a new ID */
- static GUniqueID create(uint16 tag = 0);
-};
-
-} // G3D
-
-/** For Table and Set */
-template<> struct HashTrait<class G3D::GUniqueID> {
- static size_t hashCode(G3D::GUniqueID id) { return (size_t)(G3D::uint64)id; }
-};
-
-#endif