-/* see copyright notice in squirrel.h */\r
-#ifndef _SQSTRING_H_\r
-#define _SQSTRING_H_\r
-\r
-inline SQHash _hashstr (const SQChar *s, size_t l)\r
-{\r
- SQHash h = (SQHash)l; /* seed */\r
- size_t step = (l>>5)|1; /* if string is too long, don't hash all its chars */\r
- for (; l>=step; l-=step)\r
- h = h ^ ((h<<5)+(h>>2)+(unsigned short)*(s++));\r
- return h;\r
-}\r
-\r
-struct SQString : public SQRefCounted\r
-{\r
- SQString(){}\r
- ~SQString(){}\r
-public:\r
- static SQString *Create(SQSharedState *ss, const SQChar *, SQInteger len = -1 );\r
- SQInteger Next(const SQObjectPtr &refpos, SQObjectPtr &outkey, SQObjectPtr &outval);\r
- void Release();\r
- SQSharedState *_sharedstate;\r
- SQString *_next; //chain for the string table\r
- SQInteger _len;\r
- SQHash _hash;\r
- SQChar _val[1];\r
-};\r
-\r
-\r
-\r
-#endif //_SQSTRING_H_\r
+/* see copyright notice in squirrel.h */
+#ifndef _SQSTRING_H_
+#define _SQSTRING_H_
+
+inline SQHash _hashstr (const SQChar *s, size_t l)
+{
+ SQHash h = (SQHash)l; /* seed */
+ size_t step = (l>>5)|1; /* if string is too long, don't hash all its chars */
+ for (; l>=step; l-=step)
+ h = h ^ ((h<<5)+(h>>2)+(unsigned short)*(s++));
+ return h;
+}
+
+struct SQString : public SQRefCounted
+{
+ SQString(){}
+ ~SQString(){}
+public:
+ static SQString *Create(SQSharedState *ss, const SQChar *, SQInteger len = -1 );
+ SQInteger Next(const SQObjectPtr &refpos, SQObjectPtr &outkey, SQObjectPtr &outval);
+ void Release();
+ SQSharedState *_sharedstate;
+ SQString *_next; //chain for the string table
+ SQInteger _len;
+ SQHash _hash;
+ SQChar _val[1];
+};
+
+
+
+#endif //_SQSTRING_H_