1 /* $NetBSD: LDAPUrlList.h,v 1.1.1.2 2010/03/08 02:14:20 lukem Exp $ */ 2 3 // OpenLDAP: pkg/ldap/contrib/ldapc++/src/LDAPUrlList.h,v 1.8.6.1 2008/04/14 23:09:26 quanah Exp 4 /* 5 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved. 6 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 7 */ 8 9 #ifndef LDAP_URL_LIST_H 10 #define LDAP_URL_LIST_H 11 12 #include <list> 13 #include <LDAPUrl.h> 14 15 /** 16 * This container class is used to store multiple LDAPUrl-objects. 17 */ 18 class LDAPUrlList{ 19 typedef std::list<LDAPUrl> ListType; 20 21 public: 22 typedef ListType::const_iterator const_iterator; 23 24 /** 25 * Constructs an empty list. 26 */ 27 LDAPUrlList(); 28 29 /** 30 * Copy-constructor 31 */ 32 LDAPUrlList(const LDAPUrlList& urls); 33 34 /** 35 * For internal use only 36 * 37 * This constructor is used by the library internally to create a 38 * std::list of URLs from a array of C-strings that was return by 39 * the C-API 40 */ 41 LDAPUrlList(char** urls); 42 43 /** 44 * Destructor 45 */ 46 ~LDAPUrlList(); 47 48 /** 49 * @return The number of LDAPUrl-objects that are currently 50 * stored in this list. 51 */ 52 size_t size() const; 53 54 /** 55 * @return true if there are zero LDAPUrl-objects currently 56 * stored in this list. 57 */ 58 bool empty() const; 59 60 /** 61 * @return A iterator that points to the first element of the list. 62 */ 63 const_iterator begin() const; 64 65 /** 66 * @return A iterator that points to the element after the last 67 * element of the list. 68 */ 69 const_iterator end() const; 70 71 /** 72 * Adds one element to the end of the list. 73 * @param attr The attribute to add to the list. 74 */ 75 void add(const LDAPUrl& url); 76 77 private : 78 ListType m_urls; 79 }; 80 #endif //LDAP_URL_LIST_H 81