RVNGStringVector.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
00002 /* librevenge
00003  * Version: MPL 2.0 / LGPLv2.1+
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  *
00009  * Major Contributor(s):
00010  * Copyright (C) 2012 Fridrich Strba (fridrich.strba@bluewin.ch)
00011  *
00012  * For minor contributions see the git repository.
00013  *
00014  * Alternatively, the contents of this file may be used under the terms
00015  * of the GNU Lesser General Public License Version 2.1 or later
00016  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
00017  * applicable instead of those above.
00018  */
00019 
00020 #ifndef RVNGSTRINGVECTOR_H
00021 #define RVNGSTRINGVECTOR_H
00022 
00023 #include "librevenge-api.h"
00024 
00025 #include "RVNGString.h"
00026 
00027 namespace librevenge
00028 {
00029 
00030 class RVNGStringVectorImpl;
00031 
00032 class REVENGE_API RVNGStringVector
00033 {
00034 public:
00035         RVNGStringVector();
00036         RVNGStringVector(const RVNGStringVector &vec);
00037         ~RVNGStringVector();
00038 
00039         RVNGStringVector &operator=(const RVNGStringVector &vec);
00040 
00041         unsigned size() const;
00042         bool empty() const;
00043         const RVNGString &operator[](unsigned idx) const;
00044         void append(const RVNGString &str);
00045         void clear();
00046 
00047 private:
00048         RVNGStringVectorImpl *m_pImpl;
00049 };
00050 
00051 }
00052 
00053 #endif /* RVNGSTRINGVECTOR_H */
00054 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */