1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/********************************************************************
*
*	Created:	25/2/2014   12:26
*
*	File:		fsCUniqueId.h
*
*	Author:		Mick Waites
*	
*	Purpose:	Hash srting to uninque ID.... ish...
*
*********************************************************************/

#ifndef fsCUniqueIdhdr
#define fsCUniqueIdhdr

#include "../fsBuildConfig.h"
#include "../fsStr.h"


class fsCUniqueId
{
public:

	static fsU32 idCalculate(const fsStr& pString);

	void load(fsStr& pLoadStr);
	void save(fsStr& pSaveStr) const;

	fsU32 idGet() const { return mId; }

	fsBool operator==(const fsCUniqueId& pRHS) const { return mId == pRHS.mId; }
	fsBool operator!=(const fsCUniqueId& pRHS) const { return mId != pRHS.mId; }

#if !defined fsRELEASE
	fsStr nameGet() const { return mName; }<--- Function 'nameGet()' should return member 'mName' by const reference.
#endif

	fsCUniqueId(const fsStr& pName);
	fsCUniqueId();
	virtual ~fsCUniqueId();

protected:

private:

	fsU32 mId;

#if !defined fsRELEASE
	fsStr mName;
#endif
};

fsBool operator<(const fsCUniqueId& pLhs, const fsCUniqueId& pRhs);

#endif