gwnavgeneration/generator/generatorguidcompound.h Source File

generatorguidcompound.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 #pragma once
9 
10 
14 
15 
16 namespace Kaim
17 {
18 
21 {
22  KY_DEFINE_NEW_DELETE_OPERATORS(Stat_Default_Mem)
23 
24 public:
27 
29  GeneratorGuidCompound(const GuidCompound& guidCompound) : m_timeStamp(0) { InitFromBlob(guidCompound); }
30 
32  void InitFromBlob(const GuidCompound& guidCompound);
33 
35  KyGuid GetMainGuid() const { return m_guids.GetCount() == 0 ? KyGuid::GetDefaultGuid() : m_guids[0]; }
36 
41  bool operator<(const GeneratorGuidCompound& other) const;
42 
44  bool AreGuidsEqual(const GeneratorGuidCompound& other) const;
45 
48  bool operator==(const GeneratorGuidCompound& other) const { return AreGuidsEqual(other) && m_timeStamp == other.m_timeStamp; }
49  bool operator!=(const GeneratorGuidCompound& other) const { return !operator==(other); }
50 
52  void AddGuid(const KyGuid& guid);
53 
55  bool DoesContain(const KyGuid& guid) const;
56 
58  void SetTimeStamp(KyUInt32 timeStamp) { m_timeStamp = timeStamp; }
59 
61  void Sort();
62 
63 public:
66 };
67 
68 
69 }
70 
71 
72 
bool AreGuidsEqual(const GeneratorGuidCompound &other) const
Definition: generatorguidcompound.cpp:30
bool operator<(const GeneratorGuidCompound &other) const
Definition: generatorguidcompound.cpp:15
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
GeneratorGuidCompound(const GuidCompound &guidCompound)
Constructs GeneratorGuidCompound from guidCompound.
Definition: generatorguidcompound.h:29
void Sort()
Sorts the KyGuid objects in the array. For internal use.
Definition: generatorguidcompound.cpp:58
bool operator==(const GeneratorGuidCompound &other) const
Note that this operator compare also the timeStamps so that we do the same as in GuidCompound but...
Definition: generatorguidcompound.h:48
General purpose array for movable objects that require explicit construction/destruction.
Definition: kyarray.h:162
KyUInt32 m_timeStamp
The last modification date of this object. Do not modify directly.
Definition: generatorguidcompound.h:65
bool DoesContain(const KyGuid &guid) const
Definition: generatorguidcompound.cpp:52
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
void AddGuid(const KyGuid &guid)
Adds the specified KyGuid to the array maintained by this object.
Definition: generatorguidcompound.cpp:45
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
The KyGuid class represents a globally unique ID.
Definition: kyguid.h:20
KyArray< KyGuid > m_guids
The array of KyGuid objects. Do not modify directly.
Definition: generatorguidcompound.h:64
static const KyGuid & GetDefaultGuid()
Returns the default KyGuid value.
Definition: kyguid.cpp:15
GeneratorGuidCompound()
Constructs a new GeneratorGuidCompound with an empty KyGuid array.
Definition: generatorguidcompound.h:26
This class is a wrapper around an array of KyGuid objects.
Definition: generatorguidcompound.h:20
KyGuid GetMainGuid() const
Definition: generatorguidcompound.h:35
void InitFromBlob(const GuidCompound &guidCompound)
Initialize from guidCompound (blob)
Definition: generatorguidcompound.cpp:64
void SetTimeStamp(KyUInt32 timeStamp)
Sets the last modified timestamp for this object to the specified value. For internal use...
Definition: generatorguidcompound.h:58