// $OpenLDAP$ /* * Copyright 2000-2022 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ #ifndef LDAP_URL_LIST_H #define LDAP_URL_LIST_H #include #include /** * This container class is used to store multiple LDAPUrl-objects. */ class LDAPUrlList{ typedef std::list ListType; public: typedef ListType::const_iterator const_iterator; /** * Constructs an empty list. */ LDAPUrlList(); /** * Copy-constructor */ LDAPUrlList(const LDAPUrlList& urls); /** * For internal use only * * This constructor is used by the library internally to create a * std::list of URLs from a array of C-strings that was return by * the C-API */ LDAPUrlList(char** urls); /** * Destructor */ ~LDAPUrlList(); /** * @return The number of LDAPUrl-objects that are currently * stored in this list. */ size_t size() const; /** * @return true if there are zero LDAPUrl-objects 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; /** * Adds one element to the end of the list. * @param attr The attribute to add to the list. */ void add(const LDAPUrl& url); private : ListType m_urls; }; #endif //LDAP_URL_LIST_H