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

Header file for the UniquePtr 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/PtrDelete.h>
#include <blaze/util/Types.h>
#include <blaze/util/typetraits/RemoveReference.h>

Go to the source code of this file.

Classes

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

Namespaces

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

Functions

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

Detailed Description

Header file for the UniquePtr 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/.