Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00017 #ifndef _STRMAP_H_
00018 #define _STRMAP_H_
00019
00020
00021 #include "MathParserDll.h"
00022
00028 class MATHPARSERDLL_API CStrMap
00029 {
00030 int FCount, FCapacity;
00031 int FExtraLen, FRecordLen;
00032 int FDoDuplicate;
00033 char *FList;
00034 public:
00035 CStrMap(int extrabytes=sizeof(double), int dup=0);
00036 ~CStrMap(void);
00037 void AddString(const char *str, void *data);
00038 void AddStrLen(const char *str, size_t len, const void *data);
00039 void TrimClear(int NewCount);
00040 void SetCapacity(int NewCapacity);
00041 int LenIndexOf(const char *str, size_t len, const void **data);
00042 };
00043
00044
00045 #define FUNC_ROUND 13
00046 #define FUNC_E 18
00047 #define FUNC_PI 19
00048
00049 class MATHPARSERDLL_API CStaticFuncMapDouble
00050 {
00051 public:
00052 CStaticFuncMapDouble(void);
00053 ~CStaticFuncMapDouble(void);
00054
00055 static int LenIndexOf(const char *str, size_t len, const void **data);
00056 };
00057
00058 class MATHPARSERDLL_API CStaticFuncMapInt64
00059 {
00060 public:
00061 CStaticFuncMapInt64(void);
00062 ~CStaticFuncMapInt64(void);
00063
00064 static int LenIndexOf(const char *str, size_t len, const void **data);
00065 };
00066
00067
00068 #endif //_STRMAP_H_