TagLib API Documentation
tstringlist.h
Go to the documentation of this file.
1/***************************************************************************
2 copyright : (C) 2002 - 2008 by Scott Wheeler
3 email : wheeler@kde.org
4 ***************************************************************************/
5
6/***************************************************************************
7 * This library is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU Lesser General Public License version *
9 * 2.1 as published by the Free Software Foundation. *
10 * *
11 * This library is distributed in the hope that it will be useful, but *
12 * WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14 * Lesser General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU Lesser General Public *
17 * License along with this library; if not, write to the Free Software *
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
19 * 02110-1301 USA *
20 * *
21 * Alternatively, this file is available under the Mozilla Public *
22 * License Version 1.1. You may obtain a copy of the License at *
23 * http://www.mozilla.org/MPL/ *
24 ***************************************************************************/
25
26#ifndef TAGLIB_STRINGLIST_H
27#define TAGLIB_STRINGLIST_H
28
29#include "tstring.h"
30#include "tlist.h"
31#include "tbytevectorlist.h"
32#include "taglib_export.h"
33
34namespace TagLib {
35
37
43 class StringList : public List<String>
44 {
45 public:
46
52
60
65 StringList(std::initializer_list<String> init);
66
70 StringList &operator=(std::initializer_list<String> init);
71
76 StringList(const String &s);
77
86
92
97 String toString(const String &separator = " ") const;
98
105
112
118 static StringList split(const String &s, const String &pattern);
119
120 private:
121 class StringListPrivate;
122 std::unique_ptr<StringListPrivate> d;
123 };
124
125} // namespace TagLib
126
131std::ostream TAGLIB_EXPORT &operator<<(std::ostream &s, const TagLib::StringList &l);
132
133#endif
A list of ByteVectors.
Definition: tbytevectorlist.h:42
A generic, implicitly shared list.
Definition: tlist.h:54
A list of strings.
Definition: tstringlist.h:44
TAGLIB_EXPORT ~StringList()
static TAGLIB_EXPORT StringList split(const String &s, const String &pattern)
TAGLIB_EXPORT StringList & append(const String &s)
TAGLIB_EXPORT StringList()
TAGLIB_EXPORT StringList(const ByteVectorList &bl, String::Type t=String::Latin1)
TAGLIB_EXPORT String toString(const String &separator=" ") const
std::ostream TAGLIB_EXPORT & operator<<(std::ostream &s, const TagLib::StringList &l)
TAGLIB_EXPORT StringList & append(const StringList &l)
TAGLIB_EXPORT StringList & operator=(const StringList &)
TAGLIB_EXPORT StringList(const StringList &l)
TAGLIB_EXPORT StringList & operator=(std::initializer_list< String > init)
TAGLIB_EXPORT StringList(std::initializer_list< String > init)
TAGLIB_EXPORT StringList(const String &s)
A wide string class suitable for unicode.
Definition: tstring.h:83
Type
Definition: tstring.h:96
@ Latin1
Definition: tstring.h:100
A namespace for all TagLib related classes and functions.
Definition: apefile.h:41
#define TAGLIB_EXPORT
Definition: taglib_export.h:40