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