xref: /netbsd-src/external/bsd/openldap/dist/contrib/ldapc++/src/LDAPReferenceList.h (revision 404fbe5fb94ca1e054339640cabb2801ce52dd30)
1 // $OpenLDAP: pkg/ldap/contrib/ldapc++/src/LDAPReferenceList.h,v 1.7.6.1 2008/04/14 23:09:26 quanah Exp $
2 /*
3  * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
4  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5  */
6 
7 #ifndef LDAP_REFERENCE_LIST_H
8 #define LDAP_REFERENCE_LIST_H
9 
10 #include <list>
11 
12 class LDAPSearchReference;
13 
14 /**
15  * Container class for storing a list of Search References
16  *
17  * Used internally only by LDAPSearchResults
18  */
19 class LDAPReferenceList{
20     typedef std::list<LDAPSearchReference> ListType;
21 
22     public:
23 	typedef ListType::const_iterator const_iterator;
24 
25         /**
26          * Constructs an empty list.
27          */
28         LDAPReferenceList();
29 
30         /**
31          * Copy-constructor
32          */
33         LDAPReferenceList(const LDAPReferenceList& rl);
34 
35         /**
36          * Destructor
37          */
38         ~LDAPReferenceList();
39 
40         /**
41          * @return The number of LDAPSearchReference-objects that are
42          * currently stored in this list.
43          */
44         size_t size() const;
45 
46         /**
47          * @return true if there are zero LDAPSearchReference-objects
48          * currently stored in this list.
49          */
50         bool empty() const;
51 
52         /**
53          * @return A iterator that points to the first element of the list.
54          */
55         const_iterator begin() const;
56 
57         /**
58          * @return A iterator that points to the element after the last
59          * element of the list.
60          */
61         const_iterator end() const;
62 
63         /**
64          * Adds one element to the end of the list.
65          * @param e The LDAPSearchReference to add to the list.
66          */
67         void addReference(const LDAPSearchReference& e);
68 
69     private:
70         ListType m_refs;
71 };
72 #endif // LDAP_REFERENCE_LIST_H
73 
74