22 #ifndef _BLAZE_UTIL_UNIQUEPTR_H_
23 #define _BLAZE_UTIL_UNIQUEPTR_H_
84 ,
typename D = PtrDelete >
112 inline
Pointer operator->() const ;
314 template<
typename T1,
typename D1,
typename T2,
typename D2 >
317 template<
typename T1,
typename D1,
typename T2,
typename D2 >
320 template<
typename T1,
typename D1,
typename T2,
typename D2 >
321 inline bool operator<( const UniquePtr<T1,D1>& lhs,
const UniquePtr<T2,D2>& rhs );
323 template<
typename T1,
typename D1,
typename T2,
typename D2 >
324 inline bool operator<=( const UniquePtr<T1,D1>& lhs,
const UniquePtr<T2,D2>& rhs );
326 template<
typename T1,
typename D1,
typename T2,
typename D2 >
329 template<
typename T1,
typename D1,
typename T2,
typename D2 >
332 template<
typename T,
typename D >
335 template<
typename T,
typename D >
338 template<
typename T,
typename D >
339 inline bool operator<( const UniquePtr<T,D>& ptr,
const Null& null );
341 template<
typename T,
typename D >
344 template<
typename T,
typename D >
345 inline bool operator<=( const UniquePtr<T,D>& ptr,
const Null& null );
347 template<
typename T,
typename D >
350 template<
typename T,
typename D >
353 template<
typename T,
typename D >
356 template<
typename T,
typename D >
357 inline bool operator<( const Null& null, const UniquePtr<T,D>& ptr );
359 template<
typename T,
typename D >
362 template<
typename T,
typename D >
363 inline bool operator<=( const Null& null, const UniquePtr<T,D>& ptr );
365 template<
typename T,
typename D >
368 template<
typename T,
typename D >
381 template<
typename T1
387 return lhs.
get() == rhs.
get();
399 template<
typename T1
405 return lhs.
get() != rhs.
get();
417 template<
typename T1
423 return lhs.
get() < rhs.get();
435 template<
typename T1
453 template<
typename T1
459 return !( rhs < lhs );
471 template<
typename T1
477 return !( lhs < rhs );
493 return ptr.
get() == null;
509 return !( ptr == null );
523 inline bool operator<( const UniquePtr<T,D>& ptr,
const Null& null )
525 return ptr.get() < null;
541 return ptr.
get() > null;
555 inline bool operator<=( const UniquePtr<T,D>& ptr,
const Null& null )
557 return !( ptr > null );
573 return !( ptr < null );
619 inline bool operator<( const Null& null, const UniquePtr<T,D>& ptr )
651 inline bool operator<=( const Null& null, const UniquePtr<T,D>& ptr )