27 #ifndef __ETL__SMART_PTR_H
28 #define __ETL__SMART_PTR_H
61 template <
class T,
class D=
generic_deleter<T> >
75 #ifdef DOXYGEN_SHOULD_SKIP_THIS // #ifdef is not a typo
186 template <
class U>
static
191 template <
class U>
static
196 template <
class U>
static
203 operator bool()
const {
return obj!=0; }
282 template <
class T,
class U>
bool
284 {
return (lhs.
get()==rhs.
get()); }
285 template <
class T,
class U>
bool
287 {
return (lhs.
get()==rhs.
get()); }
288 template <
class T,
class U>
bool
290 {
return (lhs.
get()==rhs.
get()); }
291 template <
class T,
class U>
bool
293 {
return (lhs.
get()==rhs.
get()); }
294 template <
class T>
bool
296 {
return (lhs.
get()==rhs); }
297 template <
class T>
bool
299 {
return (lhs.
get()==rhs); }
300 template <
class T>
bool
302 {
return (lhs==rhs.
get()); }
303 template <
class T>
bool
305 {
return (lhs==rhs.
get()); }
308 template <
class T,
class U>
bool
310 {
return (lhs.
get()!=rhs.
get()); }
311 template <
class T,
class U>
bool
313 {
return (lhs.
get()!=rhs.
get()); }
314 template <
class T,
class U>
bool
316 {
return (lhs.
get()!=rhs.
get()); }
317 template <
class T,
class U>
bool
319 {
return (lhs.
get()!=rhs.
get()); }
320 template <
class T>
bool
322 {
return (lhs.
get()!=rhs); }
323 template <
class T>
bool
325 {
return (lhs.
get()!=rhs); }
326 template <
class T>
bool
328 {
return (lhs!=rhs.
get()); }
329 template <
class T>
bool
331 {
return (lhs!=rhs.
get()); }
334 template <
class T,
class U>
bool
336 {
return (lhs.get()<rhs.get()); }
337 template <
class T,
class U>
bool
339 {
return (lhs.get()<rhs.get()); }
340 template <
class T,
class U>
bool
342 {
return (lhs.get()<rhs.get()); }
343 template <
class T,
class U>
bool
345 {
return (lhs.get()<rhs.get()); }
346 template <
class T>
bool
347 operator<(const smart_ptr<T> &lhs,
const T *rhs)
348 {
return (lhs.get()<rhs); }
349 template <
class T>
bool
350 operator<(const loose_smart_ptr<T> &lhs,
const T *rhs)
351 {
return (lhs.get()<rhs); }
352 template <
class T>
bool
353 operator<(const T *lhs,const smart_ptr<T> &rhs)
354 {
return (lhs<rhs.get()); }
355 template <
class T>
bool
356 operator<(const T *lhs,const loose_smart_ptr<T> &rhs)
357 {
return (lhs<rhs.get()); }