35 #ifndef _BLAZE_UTIL_UNIQUEARRAY_H_
36 #define _BLAZE_UTIL_UNIQUEARRAY_H_
96 ,
typename D = ArrayDelete >
310 template<
typename T1,
typename D1,
typename T2,
typename D2 >
313 template<
typename T1,
typename D1,
typename T2,
typename D2 >
316 template<
typename T1,
typename D1,
typename T2,
typename D2 >
317 inline bool operator<( const UniqueArray<T1,D1>& lhs,
const UniqueArray<T2,D2>& rhs );
319 template<
typename T1,
typename D1,
typename T2,
typename D2 >
320 inline bool operator<=( const UniqueArray<T1,D1>& lhs,
const UniqueArray<T2,D2>& rhs );
322 template<
typename T1,
typename D1,
typename T2,
typename D2 >
325 template<
typename T1,
typename D1,
typename T2,
typename D2 >
328 template<
typename T,
typename D >
331 template<
typename T,
typename D >
334 template<
typename T,
typename D >
335 inline bool operator<( const UniqueArray<T,D>& ptr,
const Null& null );
337 template<
typename T,
typename D >
340 template<
typename T,
typename D >
341 inline bool operator<=( const UniqueArray<T,D>& ptr,
const Null& null );
343 template<
typename T,
typename D >
346 template<
typename T,
typename D >
349 template<
typename T,
typename D >
352 template<
typename T,
typename D >
353 inline bool operator<( const Null& null, const UniqueArray<T,D>& ptr );
355 template<
typename T,
typename D >
358 template<
typename T,
typename D >
359 inline bool operator<=( const Null& null, const UniqueArray<T,D>& ptr );
361 template<
typename T,
typename D >
364 template<
typename T,
typename D >
377 template<
typename T1
383 return lhs.
get() == rhs.
get();
395 template<
typename T1
401 return lhs.
get() != rhs.
get();
413 template<
typename T1
419 return lhs.
get() < rhs.get();
431 template<
typename T1
449 template<
typename T1
455 return !( rhs < lhs );
467 template<
typename T1
473 return !( lhs < rhs );
489 return ptr.
get() == null;
505 return !( ptr == null );
519 inline bool operator<( const UniqueArray<T,D>& ptr,
const Null& null )
521 return ptr.get() < null;
537 return ptr.
get() > null;
551 inline bool operator<=( const UniqueArray<T,D>& ptr,
const Null& null )
553 return !( ptr > null );
569 return !( ptr < null );
615 inline bool operator<( const Null& null, const UniqueArray<T,D>& ptr )
647 inline bool operator<=( const Null& null, const UniqueArray<T,D>& ptr )
void swap(SymmetricMatrix< MT, SO, DF, NF > &a, SymmetricMatrix< MT, SO, DF, NF > &b)
Swapping the contents of two matrices.
Definition: SymmetricMatrix.h:195
#define BLAZE_USER_ASSERT(expr, msg)
Run time assertion macro for user checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_USER_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERT flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:117
RemoveReference< T >::Type & Reference
Reference type of the managed array elements.
Definition: UniqueArray.h:102
RemoveReference< T >::Type * Pointer
Pointer type of the managed array elements.
Definition: UniqueArray.h:101
UniqueArray(Pointer ptr=NULL)
The default constructor for the UniqueArray specialization.
Definition: UniqueArray.h:170
Pointer get() const
Returns a pointer to the managed array.
Definition: UniqueArray.h:238
Base class for non-copyable class instances.
bool operator>(const NegativeAccuracy< A > &lhs, const T &rhs)
Greater-than comparison between a NegativeAccuracy object and a floating point value.
Definition: Accuracy.h:366
bool operator>=(const NegativeAccuracy< A > &, const T &rhs)
Greater-or-equal-than comparison between a NegativeAccuracy object and a floating point value...
Definition: Accuracy.h:442
Safe C++ NULL pointer implementation.This implementation offers a remedy for the use of the NULL poin...
Definition: Null.h:69
Constraint on the data type.
Deleter deleter_
Resource deleter.
Definition: UniqueArray.h:142
void reset(Pointer ptr=NULL)
Resets the unique array and replaces the managed array with the given array.
Definition: UniqueArray.h:272
Base class for non-copyable class instances.The NonCopyable class is intended to work as a base class...
Definition: NonCopyable.h:63
Pointer release()
Releases the ownership of the managed array to the caller.
Definition: UniqueArray.h:255
~UniqueArray()
The destructor for the UniqueArray specialization.
Definition: UniqueArray.h:190
#define BLAZE_CONSTRAINT_MUST_NOT_BE_ARRAY_TYPE(T)
Constraint on the data type.In case the given data type T is an array type, a compilation error is cr...
Definition: Array.h:116
Removal of reference modifiers.The RemoveCV type trait removes any reference modifiers from the given...
Definition: RemoveReference.h:69
D Deleter
Type of the resource deleter.
Definition: UniqueArray.h:103
Header file for run time assertion macros.
Pointer ptr_
Pointer to the managed array.
Definition: UniqueArray.h:141
Header file for the RemoveReference type trait.
Reference operator[](size_t index) const
Direct access to the array elements.
Definition: UniqueArray.h:212
bool operator==(const NegativeAccuracy< A > &lhs, const T &rhs)
Equality comparison between a NegativeAccuracy object and a floating point value. ...
Definition: Accuracy.h:249
bool operator!=(const NegativeAccuracy< A > &lhs, const T &rhs)
Inequality comparison between a NegativeAccuracy object and a floating point value.
Definition: Accuracy.h:289
Header file for basic type definitions.
Header file for the ArrayDelete policy classes.
void swap(UniqueArray &up)
Swapping the contents of two unique arrays.
Definition: UniqueArray.h:290
Scope-limited management of dynamically allocated arrays.The UniqueArray class implements a scope-res...
Definition: UniqueArray.h:97
Header file for a safe C++ NULL pointer implementation.