Welcome to mirror list, hosted at ThFree Co, Russian Federation.

strlist.hpp « Original « Rar29 « Compress « 7zip - github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c4d3b017ad3e640550324a8bb585d0233af75c2b (plain)
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
#ifndef _RAR_STRLIST_
#define _RAR_STRLIST_

class StringList
{
  private:
    Array<char> StringData;
    unsigned int CurPos;

    Array<wchar> StringDataW;
    unsigned int CurPosW;

    Array<int> PosDataW;
    uint PosDataItem;

    uint StringsCount;

    uint SaveCurPos[16],SaveCurPosW[16],SavePosDataItem[16],SavePosNumber;
  public:
    StringList();
    ~StringList();
    void Reset();
    unsigned int AddString(const char *Str);
    unsigned int AddString(const char *Str,const wchar *StrW);
    bool GetString(char *Str,int MaxLength);
    bool GetString(char *Str,wchar *StrW,int MaxLength);
    bool GetString(char *Str,wchar *StrW,int MaxLength,int StringNum);
    char* GetString();
    bool GetString(char **Str,wchar **StrW);
    char* GetString(unsigned int StringPos);
    void Rewind();
    unsigned int ItemsCount() {return(StringsCount);};
    int GetBufferSize();
    bool Search(char *Str,wchar *StrW,bool CaseSensitive);
    void SavePosition();
    void RestorePosition();
};

#endif