libroadrunner C API
rrcStringList.h
1 #ifndef rrcStringListH
2 #define rrcStringListH
3 #include <vector>
4 #include <string>
5 #include "rrc_exporter.h"
6 #include "rrConstants.h"
7 #include "rrc_types.h"
8 
9 
10 namespace rrc
11 {
12 using std::vector;
13 using std::string;
14 using std::ostream;
15 
20 class C_DECL_SPEC StringList
21 {
22  protected:
23  vector<string> mStrings;
24  vector<string>::iterator mLI;
25 
26  public:
27  StringList();
28  StringList(char** stringList, const int& count);
29  StringList(const string& str, const string& delimiters = ", ");
30  StringList(const vector<string>& strings);
31  StringList(const StringList& cp);
33  ~StringList();
34 
35  void InsertAt(const int& index, const string& item);
36  void Append(const StringList& list);
37  string AsString(const string& delimiter = ",") const;
38 
42  unsigned int size() const;
43 
44 
45  unsigned int Count() const;
46 
47 
48  StringList& operator=(const StringList& rhs);
49  StringList& operator=(const vector<string>& rhs);
50 
51  string& operator[](const int& index);
52  const string& operator[](const int& index) const;
53  StringList operator-(const StringList& rhs);
54  void removeAt(const int& index);
55  int find(const string& item);
56  int indexOf(const string& item);
57  void clear();
58  void empty();
59  bool Contains(const string& item) const;
60  bool DontContain(const string& item) const;
61  void add(const string& item);
62  vector<string>::iterator begin();
63  vector<string>::iterator end();
64  void PreFix(const string& fix);
65  void PostFix(const string& fix);
66  RR_DECLSPEC
67  friend ostream& operator<<(ostream& stream, const StringList& list);
68 
73  //operator vector<string>() const { return mStrings; }
74  operator const vector<string>&() const { return mStrings;}
75 };
76 
77 
78 
79 }
80 #endif
Definition: rrcStringList.h:21
roadRunner C wrappers 2012
roadRunner C wrappers 2012
struct RRStringArray * RRStringArrayPtr
Structure for a simple vector of strings.