00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freComponentCacheCollection.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00012 Institute for Medical Biometry and Informatics, University of Heidelberg, 00013 Germany). All rights reserved. 00014 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00015 for details. 00016 00017 This software is distributed WITHOUT ANY WARRANTY; without even 00018 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 PURPOSE. See the above copyright notices for more information. 00020 00021 =========================================================================*/ 00022 #ifndef __freComponentCacheCollection_h 00023 #define __freComponentCacheCollection_h 00024 00025 #include "freComponentSetup.h" 00026 #include "freKeyedCollectionBase.h" 00027 #include "itkLightObject.h" 00028 00029 namespace FREE 00030 { 00031 00032 template < class TCache > 00033 class ComponentCacheIdentifier 00034 { 00035 public: 00036 static bool KeyMatches (const ComponentID& rKey, const TCache& rElement) {return rElement.GetComponentID() == rKey;}; 00037 }; 00038 00046 template < class TCache > 00047 class ComponentCacheCollection : public KeyedCollectionBase<ComponentID, TCache, ComponentCacheIdentifier<TCache> > 00048 { 00049 public: 00050 typedef TCache CacheType; 00051 typedef ComponentCacheCollection<CacheType> Self; 00052 00053 itkTypeMacro(ComponentCacheCollection,KeyedCollectionBase); 00054 00056 ComponentCacheCollection(); 00057 00058 virtual ~ComponentCacheCollection(); 00059 00061 Self& operator = (const Self& rCollection); 00062 }; 00063 00064 }//end of namespace FREE 00065 00066 #ifndef ITK_MANUAL_INSTANTIATION 00067 #include "freComponentCacheCollection.txx" 00068 #endif 00069 00070 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000