All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces
UniqueArray.h File Reference

Header file for the UniqueArray smart pointer class. More...

#include <blaze/util/Assert.h>
#include <blaze/util/constraints/Array.h>
#include <blaze/util/NonCopyable.h>
#include <blaze/util/Null.h>
#include <blaze/util/policies/ArrayDelete.h>
#include <blaze/util/Types.h>
#include <blaze/util/typetraits/RemoveReference.h>

Go to the source code of this file.

Classes

class  blaze::UniqueArray< T, D >
 Scope-limited management of dynamically allocated arrays.The UniqueArray class implements a scope-restricted, lightweight smart pointer that manages a dynamically allocated array. In contrast to other smart pointer implementations, UniqueArray is non-copyable and therefore restricted to manage arrays within a single scope, but does so so with a minimum of runtime overhead. The following example demonstrates the application of UniqueArray: More...
 

Namespaces

namespace  blaze
 Namespace of the Blaze C++ math library.
 

Functions

UniqueArray operators
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool blaze::operator== (const UniqueArray< T1, D1 > &lhs, const UniqueArray< T2, D2 > &rhs)
 Equality comparison between two UniqueArray objects. More...
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool blaze::operator!= (const UniqueArray< T1, D1 > &lhs, const UniqueArray< T2, D2 > &rhs)
 Inequality comparison between two UniqueArray objects. More...
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool blaze::operator< (const UniqueArray< T1, D1 > &lhs, const UniqueArray< T2, D2 > &rhs)
 Less-than comparison between two UniqueArray objects. More...
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool blaze::operator<= (const UniqueArray< T1, D1 > &lhs, const UniqueArray< T2, D2 > &rhs)
 Less-or-equal-than comparison between two UniqueArray objects. More...
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool blaze::operator> (const UniqueArray< T1, D1 > &lhs, const UniqueArray< T2, D2 > &rhs)
 Greater-than comparison between two UniqueArray objects. More...
 
template<typename T1 , typename D1 , typename T2 , typename D2 >
bool blaze::operator>= (const UniqueArray< T1, D1 > &lhs, const UniqueArray< T2, D2 > &rhs)
 Greater-or-equal-than comparison between two UniqueArray objects. More...
 
template<typename T , typename D >
bool blaze::operator== (const UniqueArray< T, D > &ptr, const Null &null)
 Equality comparison between a UniqueArray and NULL. More...
 
template<typename T , typename D >
bool blaze::operator!= (const UniqueArray< T, D > &ptr, const Null &null)
 Inequality comparison between a UniqueArray and NULL. More...
 
template<typename T , typename D >
bool blaze::operator< (const UniqueArray< T, D > &ptr, const Null &null)
 Less-than comparison between a UniqueArray and NULL. More...
 
template<typename T , typename D >
bool blaze::operator> (const UniqueArray< T, D > &ptr, const Null &null)
 Greater-than comparison between a UniqueArray and NULL. More...
 
template<typename T , typename D >
bool blaze::operator<= (const UniqueArray< T, D > &ptr, const Null &null)
 Less-or-equal-than comparison between a UniqueArray and NULL. More...
 
template<typename T , typename D >
bool blaze::operator>= (const UniqueArray< T, D > &ptr, const Null &null)
 Greater-or-equal-than comparison between a UniqueArray and NULL. More...
 
template<typename T , typename D >
bool blaze::operator== (const Null &null, const UniqueArray< T, D > &ptr)
 Equality comparison between NULL and a UniqueArray. More...
 
template<typename T , typename D >
bool blaze::operator!= (const Null &null, const UniqueArray< T, D > &ptr)
 Inquality comparison between NULL and a UniqueArray. More...
 
template<typename T , typename D >
bool blaze::operator< (const Null &null, const UniqueArray< T, D > &ptr)
 Less-than comparison between NULL and a UniqueArray. More...
 
template<typename T , typename D >
bool blaze::operator> (const Null &null, const UniqueArray< T, D > &ptr)
 Greater-than comparison between NULL and a UniqueArray. More...
 
template<typename T , typename D >
bool blaze::operator<= (const Null &null, const UniqueArray< T, D > &ptr)
 Less-or-equal-than comparison between NULL and a UniqueArray. More...
 
template<typename T , typename D >
bool blaze::operator>= (const Null &null, const UniqueArray< T, D > &ptr)
 Greater-or-equal-than comparison between NULL and a UniqueArray. More...
 
template<typename T , typename D >
void blaze::swap (UniqueArray< T, D > &a, UniqueArray< T, D > &b)
 Swapping the contents of two unique arrays. More...
 

Detailed Description

Header file for the UniqueArray smart pointer class.

Copyright (C) 2011 Klaus Iglberger - All Rights Reserved

This file is part of the Blaze library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with a special exception for linking and compiling against the Blaze library, the so-called "runtime exception"; see the file COPYING. If not, see http://www.gnu.org/licenses/.