#include <srp.hh>
Inheritance diagram for lestes::std::srp< T >:

Public Types | |
| typedef T | pointee_type |
| the type pointed to | |
Public Member Functions | |
| srp (void) | |
| Creates srp, initializes with NULL pointer. | |
| srp (T *a_pointer) | |
| Creates srp, initializes with pointer . | |
| template<typename U> | |
| srp (U *a_pointer) | |
| Creates srp, initializes with pointer . | |
| srp (const srp< T > &other) | |
| Creates srp, initializes with srp to the same type. | |
| template<typename U> | |
| srp (const srp< U > &other) | |
| Creates srp, initializes with srp. | |
| template<typename U> | |
| srp (const ptr< U > &other) | |
| Creates srp, initializes with ptr. | |
| ~srp (void) | |
| Destroys srp. | |
| T * | operator-> (void) const |
| Returns the pointer. | |
| T & | operator * (void) const |
| Returns dereferenced pointer. | |
| srp< T > & | operator= (T *a_pointer) |
| Assigns a pointer. | |
| template<typename U> | |
| srp< T > & | operator= (U *a_pointer) |
| Assigns a pointer. | |
| srp< T > & | operator= (const srp< T > &other) |
| Assigns srp of the same type. | |
| template<typename U> | |
| srp< T > & | operator= (const ptr< U > &other) |
| Assigns ptr. | |
| template<typename U> | |
| srp< T > & | operator= (const srp< U > &other) |
| Assigns srp. | |
| operator condition * (void) const | |
| Tests NULL pointer. | |
| bool | operator! (void) const |
| Tests non NULL pointer. | |
| bool | operator== (T *a_pointer) const |
| Compares to pointer. | |
| template<typename U> | |
| bool | operator== (U *a_pointer) const |
| Compares to pointer. | |
| bool | operator== (::std::ptrdiff_t a_pointer) const |
| Compares to NULL. | |
| template<typename U> | |
| bool | operator== (const ptr< U > &other) const |
| Compares to ptr. | |
| template<typename U> | |
| bool | operator== (const srp< U > &other) const |
| Compares to srp. | |
| bool | operator!= (T *a_pointer) const |
| Compares to pointer. | |
| template<typename U> | |
| bool | operator!= (U *a_pointer) const |
| Compares to pointer. | |
| bool | operator!= (::std::ptrdiff_t a_pointer) const |
| Compares to NULL. | |
| template<typename U> | |
| bool | operator!= (const ptr< U > &other) const |
| Compares to ptr. | |
| template<typename U> | |
| bool | operator!= (const srp< U > &other) const |
| Compares to srp. | |
| template<typename U> | |
| ptr< U > | dncast (void) const |
| Performs dynamic cast to other type. | |
| T * | pointer_get (void) const |
| Returns the pointer. | |
| bool | operator< (const srp< T > &) const |
| Compares two pointers for ordering. | |
Private Member Functions | |
| void | pointer_set (T *a_pointer) |
| Sets the pointer. | |
Classes | |
| struct | condition |
| Condition class. More... | |
| T | The type of object pointed to. |
Definition at line 53 of file srp.hh.
| typedef T lestes::std::srp< T >::pointee_type |
| lestes::std::srp< T >::srp | ( | void | ) | [inline] |
Creates srp, initializes with NULL pointer.
Creates srp, initializes with NULL pointer.
Definition at line 74 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_set().
00074 : 00075 simple_pointer() 00076 { 00077 pointer_set(NULL); 00078 }
| lestes::std::srp< T >::srp | ( | T * | a_pointer | ) | [inline] |
Creates srp, initializes with pointer .
Creates srp, initializes with pointer.
| a_pointer | The initialization value. |
Definition at line 49 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_set().
00049 : 00050 simple_pointer() 00051 { 00052 pointer_set(a_pointer); 00053 }
Creates srp, initializes with pointer .
Creates srp, initializes with pointer.
| U | The type of the initializer pointer. | |
| a_pointer | The initialization value. |
Definition at line 63 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_set().
00063 : 00064 simple_pointer() 00065 { 00066 pointer_set(a_pointer); 00067 }
| lestes::std::srp< T >::srp | ( | const srp< T > & | other | ) | [inline] |
Creates srp, initializes with srp to the same type.
Creates srp, initializes with srp to the same type. Workaround to avoid implicit copy constructor creation.
| other | The srp to initialize with. |
Definition at line 87 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get(), and lestes::std::srp< T >::pointer_set().
00087 : 00088 simple_pointer() 00089 { 00090 pointer_set(other.pointer_get()); 00091 }
| lestes::std::srp< T >::srp | ( | const srp< U > & | other | ) | [inline] |
Creates srp, initializes with srp.
Creates srp, initializes with srp.
Definition at line 101 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get(), and lestes::std::srp< T >::pointer_set().
00101 : 00102 simple_pointer() 00103 { 00104 pointer_set(other.pointer_get()); 00105 }
| lestes::std::srp< T >::srp | ( | const ptr< U > & | other | ) | [inline] |
Creates srp, initializes with ptr.
Creates srp, initializes with ptr.
Definition at line 115 of file srp_bodies.hh.
References lestes::std::ptr< T >::pointer_get(), and lestes::std::srp< T >::pointer_set().
00115 : 00116 simple_pointer() 00117 { 00118 pointer_set(other.pointer_get()); 00119 }
| lestes::std::srp< T >::~srp | ( | void | ) | [inline] |
| T * lestes::std::srp< T >::operator-> | ( | void | ) | const [inline] |
Returns the pointer.
Returns the pointer.
Definition at line 134 of file srp_bodies.hh.
References lassert2, and lestes::std::srp< T >::pointer_get().
00135 { 00136 T * result = pointer_get(); 00137 lassert2( result, "Dereferencing NULL pointer." ); 00138 return result; 00139 }
| T & lestes::std::srp< T >::operator * | ( | void | ) | const [inline] |
Returns dereferenced pointer.
Dereferences the pointer.
Definition at line 146 of file srp_bodies.hh.
References lassert2, and lestes::std::srp< T >::pointer_get().
00147 { 00148 T * presult = pointer_get(); 00149 lassert2( presult, "Dereferencing NULL pointer." ); 00150 return *presult; 00151 }
| srp< T > & lestes::std::srp< T >::operator= | ( | T * | a_pointer | ) | [inline] |
Assigns a pointer.
Assigns pointer.
| a_pointer | The pointer to assign. |
Definition at line 159 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_set().
00160 { 00161 pointer_set(a_pointer); 00162 return *this; 00163 }
| srp< T > & lestes::std::srp< T >::operator= | ( | U * | a_pointer | ) | [inline] |
Assigns a pointer.
Assigns pointer.
| U | The type of the assigned pointer. | |
| a_pointer | The pointer to assign. |
Definition at line 173 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_set().
00174 { 00175 pointer_set(a_pointer); 00176 return *this; 00177 }
| srp< T > & lestes::std::srp< T >::operator= | ( | const srp< T > & | other | ) | [inline] |
Assigns srp of the same type.
Assigns srp of the same type. Workaround to avoid implicit assignment operator creation.
| other | The srp to assign. |
Definition at line 186 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get(), and lestes::std::srp< T >::pointer_set().
00187 { 00188 pointer_set(other.pointer_get()); 00189 return *this; 00190 }
| srp< T > & lestes::std::srp< T >::operator= | ( | const ptr< U > & | other | ) | [inline] |
Assigns ptr.
Assigns ptr.
Definition at line 214 of file srp_bodies.hh.
References lestes::std::ptr< T >::pointer_get(), and lestes::std::srp< T >::pointer_set().
00215 { 00216 pointer_set(other.pointer_get()); 00217 return *this; 00218 }
| srp< T > & lestes::std::srp< T >::operator= | ( | const srp< U > & | other | ) | [inline] |
Assigns srp.
Assigns srp.
Definition at line 200 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get(), and lestes::std::srp< T >::pointer_set().
00201 { 00202 pointer_set(other.pointer_get()); 00203 return *this; 00204 }
| lestes::std::srp< T >::operator condition * | ( | void | ) | const [inline] |
Tests NULL pointer.
Tests NULL pointer.
Definition at line 236 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00237 { 00238 static condition c; 00239 return pointer_get() ? &c : NULL; 00240 }
| bool lestes::std::srp< T >::operator! | ( | void | ) | const [inline] |
Tests non NULL pointer.
Tests non NULL pointer.
Definition at line 248 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00249 { 00250 return !pointer_get(); 00251 }
| bool lestes::std::srp< T >::operator== | ( | T * | a_pointer | ) | const [inline] |
Compares to pointer.
Compares to pointer.
Definition at line 258 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00259 { 00260 return pointer_get() == a_pointer; 00261 }
| bool lestes::std::srp< T >::operator== | ( | U * | a_pointer | ) | const [inline] |
Compares to pointer.
Compares to pointer.
| U | The type of the compared pointer. |
Definition at line 270 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00271 { 00272 return pointer_get() == a_pointer; 00273 }
| bool lestes::std::srp< T >::operator== | ( | ::std::ptrdiff_t | a_pointer | ) | const [inline] |
Compares to NULL.
Compares to NULL pointer. Workaround to avoid implicit bool conversion.
Definition at line 280 of file srp_bodies.hh.
References lassert, and lestes::std::srp< T >::pointer_get().
00281 { 00282 #ifdef LESTES_STRICT_CHECKING 00283 // test whether really comparing with NULL 00284 lassert(!a_pointer); 00285 #endif 00286 return !pointer_get(); 00287 }
| bool lestes::std::srp< T >::operator== | ( | const ptr< U > & | other | ) | const [inline] |
Compares to ptr.
Compares to ptr.
| U | The type of the compared ptr. |
Definition at line 308 of file srp_bodies.hh.
References lestes::std::ptr< T >::pointer_get(), and lestes::std::srp< T >::pointer_get().
00309 { 00310 return pointer_get() == other.pointer_get(); 00311 }
| bool lestes::std::srp< T >::operator== | ( | const srp< U > & | other | ) | const [inline] |
Compares to srp.
Compares to srp.
| U | The type of the compared pointer. |
Definition at line 296 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00297 { 00298 return pointer_get() == other.pointer_get(); 00299 }
| bool lestes::std::srp< T >::operator!= | ( | T * | a_pointer | ) | const [inline] |
Compares to pointer.
Compares to pointer.
Definition at line 318 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00319 { 00320 return pointer_get() != a_pointer; 00321 }
| bool lestes::std::srp< T >::operator!= | ( | U * | a_pointer | ) | const [inline] |
Compares to pointer.
Compares to pointer.
| U | The type of the compared pointer. |
Definition at line 330 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00331 { 00332 return pointer_get() != a_pointer; 00333 }
| bool lestes::std::srp< T >::operator!= | ( | ::std::ptrdiff_t | a_pointer | ) | const [inline] |
Compares to NULL.
Compares to NULL pointer. Workaround to avoid implicit bool conversion.
Definition at line 340 of file srp_bodies.hh.
References lassert, and lestes::std::srp< T >::pointer_get().
00341 { 00342 #ifdef LESTES_STRICT_CHECKING 00343 // test whether really comparing with NULL 00344 lassert(!a_pointer); 00345 #endif 00346 return pointer_get(); 00347 }
| bool lestes::std::srp< T >::operator!= | ( | const ptr< U > & | other | ) | const [inline] |
Compares to ptr.
Compares to ptr.
| U | The type of the compared ptr. |
Definition at line 368 of file srp_bodies.hh.
References lestes::std::ptr< T >::pointer_get(), and lestes::std::srp< T >::pointer_get().
00369 { 00370 return pointer_get() != other.pointer_get(); 00371 }
| bool lestes::std::srp< T >::operator!= | ( | const srp< U > & | other | ) | const [inline] |
Compares to srp.
Compares to srp.
| U | The type of the compared pointer. |
Definition at line 356 of file srp_bodies.hh.
References lestes::std::srp< T >::pointer_get().
00357 { 00358 return pointer_get() != other.pointer_get(); 00359 }
| ptr< U > lestes::std::srp< T >::dncast | ( | void | ) | const [inline] |
Performs dynamic cast to other type.
Performs dynamic cast on pointers.
When the dynamic type of the pointee is not the requested one or one derived from it, the function fails with an assertion. Null pointers do not make the function fail.
| U | The type of the target ptr. |
Definition at line 384 of file srp_bodies.hh.
References lassert2, and lestes::std::srp< T >::pointer_get().
00385 { 00386 register T * source = pointer_get(); 00387 register U * result = dynamic_cast<U *>(source); 00388 // crash when dncast failed (returned NULL given non-NULL argument) 00389 lassert2( !source || result, "Dncasting to wrong type." ); 00390 return ptr<U>(result); 00391 }
| T * lestes::std::srp< T >::pointer_get | ( | void | ) | const [inline] |
Returns the pointer.
Returns the pointer.
Reimplemented from lestes::std::mem::simple_pointer.
Definition at line 398 of file srp_bodies.hh.
Referenced by lestes::std::srp< T >::dncast(), lestes::std::srp< T >::operator *(), lestes::std::srp< T >::operator condition *(), lestes::std::srp< T >::operator!(), lestes::std::srp< T >::operator!=(), lestes::std::ptr< T >::operator!=(), lestes::std::srp< T >::operator->(), lestes::std::srp< T >::operator<(), lestes::std::srp< T >::operator=(), lestes::std::ptr< T >::operator=(), lestes::std::srp< T >::operator==(), lestes::std::ptr< T >::operator==(), lestes::std::ptr< T >::ptr(), and lestes::std::srp< T >::srp().
| bool lestes::std::srp< T >::operator< | ( | const srp< T > & | b | ) | const [inline] |
Compares two pointers for ordering.
Compares the pointer with a given one.
| b | The pointer to compare with. |
Definition at line 408 of file srp_bodies.hh.
References b, and lestes::std::srp< T >::pointer_get().
00409 { 00410 return pointer_get() < b.pointer_get(); 00411 }
| void lestes::std::srp< T >::pointer_set | ( | T * | a_pointer | ) | [inline, private] |
Sets the pointer.
Sets the pointer.
| a_pointer | The pointer to set. |
Definition at line 418 of file srp_bodies.hh.
Referenced by lestes::std::srp< T >::operator=(), and lestes::std::srp< T >::srp().
1.5.1-20070107