X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=libs%2Fgeneric%2Freference.h;h=df5a05a8f3c3ece6985742bcd12ae1514f369eb6;hp=62e2c238100be29066cd5590b0392fddc472500b;hb=e4287c28bb2dafedc81c66e63951d947cfbeb225;hpb=203343b01a7ad87cb3d136689c9936ff5bc23c01 diff --git a/libs/generic/reference.h b/libs/generic/reference.h index 62e2c238..df5a05a8 100644 --- a/libs/generic/reference.h +++ b/libs/generic/reference.h @@ -1,71 +1,65 @@ /* -Copyright (C) 2001-2006, William Joseph. -All Rights Reserved. + Copyright (C) 2001-2006, William Joseph. + All Rights Reserved. -This file is part of GtkRadiant. + This file is part of GtkRadiant. -GtkRadiant 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 2 of the License, or -(at your option) any later version. + GtkRadiant 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 2 of the License, or + (at your option) any later version. -GtkRadiant 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. + GtkRadiant 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 GtkRadiant; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ + You should have received a copy of the GNU General Public License + along with GtkRadiant; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ -#if !defined(INCLUDED_GENERIC_REFERENCE_H) +#if !defined( INCLUDED_GENERIC_REFERENCE_H ) #define INCLUDED_GENERIC_REFERENCE_H /// \file -/// \brief Wrappers to allow storing objects in templated containers using 'reference' semantics. +/// \brief Wrappers to allow storing objects in templated containers using 'reference' semantics. /// \brief A reference to a mutable object. /// Has 'reference' semantics, except for \c 'operator==' and \c 'operator.'. /// \param Type The type of the referenced object. template class Reference -{ - Type* m_contained; +{ +Type* m_contained; public: - explicit Reference(Type& contained) : m_contained(&contained) - { - } - operator Type&() const - { - return *m_contained; - } - Type& get() const - { - return *m_contained; - } - Type* get_pointer() const - { - return m_contained; - } +explicit Reference( Type& contained ) : m_contained( &contained ){ +} +operator Type&() const +{ + return *m_contained; +} +Type& get() const { + return *m_contained; +} +Type* get_pointer() const { + return m_contained; +} }; template -bool operator<(const Reference& self, const Reference& other) -{ - return self.get() < other.get(); +bool operator<( const Reference& self, const Reference& other ){ + return self.get() < other.get(); } template -bool operator==(const Reference& self, const Reference& other) -{ - return self.get() == other.get(); +bool operator==( const Reference& self, const Reference& other ){ + return self.get() == other.get(); } /// \brief construct a reference to a mutable object. template -inline Reference makeReference(Type& value) -{ - return Reference(value); +inline Reference makeReference( Type& value ){ + return Reference( value ); } /// \brief A reference to a non-mutable object. @@ -74,41 +68,35 @@ inline Reference makeReference(Type& value) template class ConstReference { - const Type* m_contained; +const Type* m_contained; public: - explicit ConstReference(const Type& contained) : m_contained(&contained) - { - } - operator const Type&() const - { - return *m_contained; - } - const Type& get() const - { - return *m_contained; - } - const Type* get_pointer() const - { - return m_contained; - } +explicit ConstReference( const Type& contained ) : m_contained( &contained ){ +} +operator const Type&() const +{ + return *m_contained; +} +const Type& get() const { + return *m_contained; +} +const Type* get_pointer() const { + return m_contained; +} }; template -bool operator<(const ConstReference& self, const ConstReference& other) -{ - return self.get() < other.get(); +bool operator<( const ConstReference& self, const ConstReference& other ){ + return self.get() < other.get(); } template -bool operator==(const ConstReference& self, const ConstReference& other) -{ - return self.get() == other.get(); +bool operator==( const ConstReference& self, const ConstReference& other ){ + return self.get() == other.get(); } /// \brief construct a reference to a non-mutable object. template -inline ConstReference makeReference(const Type& value) -{ - return ConstReference(value); +inline ConstReference makeReference( const Type& value ){ + return ConstReference( value ); }