From b527294153be3b79563c82c66102adc0004736c0 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 19:54:12 +0200 Subject: Adding upstream version 2.6.7+dfsg. Signed-off-by: Daniel Baumann --- contrib/ldapc++/src/StringList.h | 88 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 contrib/ldapc++/src/StringList.h (limited to 'contrib/ldapc++/src/StringList.h') diff --git a/contrib/ldapc++/src/StringList.h b/contrib/ldapc++/src/StringList.h new file mode 100644 index 0000000..75869a8 --- /dev/null +++ b/contrib/ldapc++/src/StringList.h @@ -0,0 +1,88 @@ +// $OpenLDAP$ +/* + * Copyright 2000-2022 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ + +#ifndef STRING_LIST_H +#define STRING_LIST_H + +#include +#include +/** + * Container class to store multiple string-objects + */ +class StringList{ + typedef std::list ListType; + + private: + ListType m_data; + + public: + typedef ListType::const_iterator const_iterator; + + /** + * Constructs an empty list. + */ + StringList(); + + /** + * Copy-constructor + */ + StringList(const StringList& sl); + + /** + * For internal use only + * + * This constructor is used by the library internally to create a + * list of string from an array for c-Strings (char*)that was + * returned by the C-API + */ + StringList(char** values); + + /** + * Destructor + */ + ~StringList(); + + /** + * The methods converts the list to a 0-terminated array of + * c-Strings. + */ + char** toCharArray() const; + + /** + * Adds one element to the end of the list. + * @param attr The attribute to add to the list. + */ + void add(const std::string& value); + + /** + * @return The number of strings that are currently + * stored in this list. + */ + size_t size() const; + + /** + * @return true if there are zero strings currently + * stored in this list. + */ + bool empty() const; + + /** + * @return A iterator that points to the first element of the list. + */ + const_iterator begin() const; + + /** + * @return A iterator that points to the element after the last + * element of the list. + */ + const_iterator end() const; + + /** + * removes all elements from the list + */ + void clear(); +}; +#endif //STRING_LIST_H -- cgit v1.2.3