00001 // -*- C++ -*- 00002 // 00003 // Ptr.h is a part of ThePEG - Toolkit for HEP Event Generation 00004 // Copyright (C) 1999-2007 Leif Lonnblad 00005 // 00006 // ThePEG is licenced under version 2 of the GPL, see COPYING for details. 00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 00008 // 00009 #ifndef ThePEG_Ptr_H 00010 #define ThePEG_Ptr_H 00011 // This is the declaration of the Ptr class. 00012 00013 #include "RCPtr.fh" 00014 00015 namespace ThePEG { 00016 00018 namespace Pointer { 00019 00034 template <typename T> 00035 struct Ptr { 00036 00038 typedef RCPtr<T> pointer; 00040 typedef ConstRCPtr<T> const_pointer; 00042 typedef TransientRCPtr<T> transient_pointer; 00044 typedef TransientConstRCPtr<T> transient_const_pointer; 00046 typedef pointer ptr; 00048 typedef const_pointer cptr; 00050 typedef transient_pointer tptr; 00052 typedef transient_const_pointer tcptr; 00054 typedef pointer p; 00056 typedef const_pointer cp; 00058 typedef transient_pointer tp; 00060 typedef transient_const_pointer tcp; 00061 00062 }; 00063 00064 } 00065 } 00066 00067 #endif /* ThePEG_Ptr_H */