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

Header file for a safe C++ NULL pointer implementation. More...

Go to the source code of this file.

Classes

class  blaze::Null
 Safe C++ NULL pointer implementation.This implementation offers a remedy for the use of the NULL pointer in C++. For this, the NULL macro is replaced by an instance of the Null class, which can only be assigned and compared with pointers and pointers-to-member. Therefore the use of NULL regains the type safety it lost in C++ due to the strict C++ type system.
The NULL pointer is used exactly as before: More...
 

Namespaces

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

Functions

Null operators
template<typename T >
bool blaze::operator== (const Null &lhs, const T &rhs)
 Equality comparison between Null and a pointer or pointer-to-member.
 
template<typename T >
bool blaze::operator== (const T &lhs, const Null &rhs)
 Equality comparison between a pointer or pointer-to-member and Null.
 
template<typename T >
bool blaze::operator!= (const Null &lhs, const T &rhs)
 Inequality comparison between Null and a pointer or pointer-to-member.
 
template<typename T >
bool blaze::operator!= (const T &lhs, const Null &rhs)
 Inequality comparison between a pointer or pointer-to-member and Null.
 

Variables

const blaze::Null NULL
 Global NULL pointer.This instance of the Null class replaces the NULL macro to ensure a type-safe NULL pointer.
 

Detailed Description

Header file for a safe C++ NULL pointer implementation.

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/.