wxArt2D
smrtptr.inl
Go to the documentation of this file.
1 /*! \file wx/general/smrtptr.inl
2  \brief see wx/general/smrtptr.h
3  \author Michael Sögtrop / Klaas Holwerda
4  \date Created 10/29/2003
5 
6  Copyright: 2003-2004 (c) Michael Sögtrop / Klaas Holwerda
7 
8  Licence: wxWidgets Licence
9 
10  RCS-ID: $Id: smrtptr.inl,v 1.10 2007/07/30 19:34:11 titato Exp $
11 */
12 
13 #ifndef __SMRTPTR_INL__
14 #define __SMRTPTR_INL__
15 
16 
17 
18 template<class T>
19 typename a2dDumbPtrList<T>::itSmart a2dDumbPtrList<T>::Find(T *object)
20 {
21  typename a2dlist< a2dDumbPtr< T > >::iterator iter;
22 
23  for( iter = this->begin(); iter != this->end(); ++iter )
24  {
25  if( (*iter).Get() == object )
26  return iter;
27  }
28  return iter;
29 }
30 
31 
32 template<class T>
33 typename a2dDumbPtrList<T>::const_itSmart a2dDumbPtrList<T>::Find(T *object) const
34 {
35  typename a2dlist< a2dDumbPtr< T > >::const_iterator iter;
36 
37  for( iter = this->begin(); iter != this->end(); ++iter )
38  {
39  if( (*iter).Get() == object )
40  return iter;
41  }
42  return iter;
43 }
44 
45 template<class T>
46 int a2dDumbPtrList<T>::IndexOf( T *object) const
47 {
48  int i=0;
49  typename a2dlist< a2dDumbPtr< T > >::const_iterator iter;
50  for( iter = this->begin(); iter != this->end(); ++iter )
51  {
52  if ( (*iter).Get() == object )
53  return i;
54  i++;
55  }
56  return -1;
57 }
58 
59 
60 template<class T>
62 {
63  typename a2dlist< a2dDumbPtr< T > >::iterator iter = Find( object );
64  if( iter != this->end() )
65  {
66  this->erase( iter );
67  return true;
68  }
69  else
70  return false;
71 }
72 
73 //-------------------------------------------------------
74 
75 template<class T>
76 typename a2dSmrtPtrList<T>::itSmart a2dSmrtPtrList<T>::Find(T *object)
77 {
78  typename a2dlist< a2dSmrtPtr< T > >::iterator iter;
79 
80  for( iter = this->begin(); iter != this->end(); ++iter )
81  {
82  if( (*iter).Get() == object )
83  return iter;
84  }
85  return iter;
86 }
87 
88 
89 template<class T>
90 typename a2dSmrtPtrList<T>::const_itSmart a2dSmrtPtrList<T>::Find(T *object) const
91 {
92  typename a2dlist< a2dSmrtPtr< T > >::const_iterator iter;
93 
94  for( iter = this->begin(); iter != this->end(); ++iter )
95  {
96  if( (*iter).Get() == object )
97  return iter;
98  }
99  return iter;
100 }
101 
102 template<class T>
103 int a2dSmrtPtrList<T>::IndexOf( T *object) const
104 {
105  int i=0;
106  typename a2dlist< a2dSmrtPtr< T > >::const_iterator iter;
107  for( iter = this->begin(); iter != this->end(); ++iter )
108  {
109  if ( (*iter).Get() == object )
110  return i;
111  i++;
112  }
113  return -1;
114 }
115 
116 
117 template<class T>
119 {
120  typename a2dlist< a2dSmrtPtr< T > >::iterator iter = Find( object );
121  if( iter != this->end() )
122  {
123  this->erase( iter );
124  return true;
125  }
126  else
127  return false;
128 }
129 
130 
131 #endif // __SMRTPTR_INL__
int IndexOf(T *object) const
Find the index of a specific object.
Definition: smrtptr.inl:46
std list compatible list
Definition: a2dlist.h:42
itSmart Find(T *object)
Find a specific object.
Definition: smrtptr.inl:19
bool RemoveObject(T *object)
release a certain object from the list
Definition: smrtptr.inl:61
bool ReleaseObject(T *object)
release a certain object from the list
Definition: smrtptr.inl:118
itSmart Find(T *object)
Find a specific object.
Definition: smrtptr.inl:76
int IndexOf(T *object) const
Find the index of a specific object.
Definition: smrtptr.inl:103
smrtptr.inl Source File -- Sun Oct 12 2014 17:04:23 -- Sun Oct 12 2014 -- 1.8.5 -- wxArt2D -- . -- Main Page Reference Documentation