MPD: util/DivideString.hxx Source File

MPD 0.20.15

DivideString.hxx
Go to the documentation of this file.
1 /*
2 * Copyright 2003-2017 The Music Player Daemon Project
3 * http://www.musicpd.org
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #ifndef MPD_DIVIDE_STRING_HXX
21 #define MPD_DIVIDE_STRING_HXX
22
23 #include "Compiler.h"
24
25 #include <assert.h>
26
31 class DivideString {
32 char *first;
33 const char *second;
34
35 public:
40 DivideString(const char *s, char separator, bool strip=false);
41
42 ~DivideString() {
43 delete[] first;
44 }
45
49 bool IsDefined() const {
50 return first != nullptr;
51 }
52
56 bool IsEmpty() const {
57 assert(IsDefined());
58
59 return *first == 0;
60 }
61
62 const char *GetFirst() const {
63 assert(IsDefined());
64
65 return first;
66 }
67
68 const char *GetSecond() const {
69 assert(IsDefined());
70
71 return second;
72 }
73 };
74
75 #endif
DivideString::IsEmpty
bool IsEmpty() const
Is the first part empty?
Definition: DivideString.hxx:56
DivideString::GetSecond
const char * GetSecond() const
Definition: DivideString.hxx:68
DivideString::GetFirst
const char * GetFirst() const
Definition: DivideString.hxx:62
DivideString::~DivideString
~DivideString()
Definition: DivideString.hxx:42
DivideString::IsDefined
bool IsDefined() const
Was the separator found?
Definition: DivideString.hxx:49
Compiler.h
DivideString::DivideString
DivideString(const char *s, char separator, bool strip=false)
DivideString
Split a given constant string at a separator character.
Definition: DivideString.hxx:31