Itasca C++ Interface
Toggle main menu visibility
Loading...
Searching...
No Matches
istringlist.h
1
#pragma once
2
#include "istring.h"
3
#include "idef.h"
4
5
class
QStringList;
6
template
<
typename
T>
class
QList
;
7
class
IStringList :
public
IList
<IString> {
8
public
:
9
using
IList
<
IString
>
::IList
;
10
IStringList(
const
IList<IString>
&in) :
IList<IString>
(in) { }
11
IStringList(std::vector<string> &&in) { reserve(in.size());
for
(
auto
&&v : in) emplace_back(v); in.clear(); }
12
IStringList(
const
std::vector<string> &in) { reserve(in.size());
for
(
auto
&v : in) emplace_back(v); }
13
IStringList(
const
StringList
&in) { reserve(in.size());
for
(
auto
&v : in) emplace_back(v); }
14
explicit
IStringList(
const
IString
&s) :
IList<IString>
({s}) { }
15
BASE_EXPORT
operator
StringList
()
const
;
16
17
// Temporary Conversion
18
BASE_EXPORT
IStringList(
const
QStringList &sl);
19
BASE_EXPORT
IStringList(
const
QList<IString>
&q);
20
BASE_EXPORT
operator
QList<IString>
()
const
;
21
BASE_EXPORT
operator
QStringList()
const
;
22
23
void
operator+=(
const
string
&s) { push_back(s); }
24
void
operator+=(
const
QString &s) { push_back(s); }
25
void
operator+=(
const
char
*str) { push_back(
string
(str)); }
26
BASE_EXPORT
void
operator+=(
const
StringList
&s);
27
BASE_EXPORT
void
operator+=(
const
QStringList &s);
28
BASE_EXPORT
void
operator+=(
const
IStringList &s);
29
BASE_EXPORT
void
operator+=(
const
std::vector<string> &s);
30
BASE_EXPORT
IStringList operator+(
const
IStringList &in) { IStringList out(*
this
); out += in;
return
out; }
31
32
IStringList &operator<<(
const
string
&s) { push_back(s);
return
*
this
; }
33
BASE_EXPORT
IStringList &operator<<(
const
std::vector<string> &s);
34
BASE_EXPORT
IStringList &operator<<(
const
QStringList &s);
35
36
BASE_EXPORT
void
insert(
int
index,
const
IString
&s);
37
void
append(
const
IString
&s) { push_back(s); }
38
BASE_EXPORT
void
append(
const
IStringList &);
39
BASE_EXPORT
int
removeDuplicates();
40
BASE_EXPORT
void
sort();
41
BASE_EXPORT
IString
takeFirst();
42
43
int
length()
const
{
return
size(); }
44
int
size()
const
{
return
to<int>
(std::vector<IString>::size()); }
45
int
count()
const
{
return
size(); }
46
IString
value(
int
index,
const
IString
&def={})
const
{
if
(index<0 or index>=
to<int>
(size()))
return
def;
return
at(index); }
47
IString
join(
const
IString
&sep)
const
{ return ::join(*
this
,sep); }
48
BASE_EXPORT
bool
contains(
const
IString
&sep,IString::Case c=IString::Case::Sensitive)
const
;
49
BASE_EXPORT
int
indexOf(
const
IString
&val)
const
;
50
};
51
52
inline
StringList
toStringList(
const
IStringList
&sl) {
return
sl; }
53
inline
IStringList
toIStringList(
const
StringList
&sl) {
return
IStringList
(sl); }
IList
Definition
idef.h:53
IString
Definition
istring.h:14
IStringList
Definition
istringlist.h:7
QList
Definition
idef.h:50
StringList
Definition
basestring.h:77
BASE_EXPORT
#define BASE_EXPORT
Definition
basedef.h:24
to
constexpr D to(const T &t)
This template function serves as an alternative to static_cast<T>().
Definition
to.h:28
common
base
src
istringlist.h
Generated by
1.18.0