Filter Library | Camera | Interface Physics |
00001 /* 00002 * .h - . 00003 * 00004 * This file is part of the Camera Imaging Library. 00005 * Computer Aided Measurement Environment for Realtime Atomic imaging (Camera) 00006 * 00007 * Copyright (C) 2006, Leiden Probe Microscopy. 00008 * Copyright (C) 2006, Universiteit Leiden. 00009 * 00010 * Authors: Martin J. Moene 00011 * 00012 * $Id: $ 00013 */ 00014 00015 #ifndef _CIL_XXX_H 00016 #define _CIL_XXX_H 00017 00018 //#include <cil/ .h> 00019 00020 /* ----------------------------------------------------------------------- 00021 ** class declarations 00022 ** ----------------------------------------------------------------------- 00023 */ 00024 00025 namespace cil { 00026 00027 /** 00028 * 00029 */ 00030 template <typename T> 00031 class X 00032 { 00033 public: 00034 /** 00035 * this type. 00036 */ 00037 typedef X<T> Self; 00038 00039 /** 00040 * the type of the size() member 00041 */ 00042 typedef int SizeType; 00043 00044 /** 00045 * the element type. 00046 */ 00047 typedef T ValueType; 00048 00049 /** 00050 * the pointer to element type. 00051 */ 00052 typedef T* Pointer; 00053 00054 /** 00055 * the const pointer to element type. 00056 */ 00057 typedef const T* ConstPointer; 00058 00059 /** 00060 * the reference to element type. 00061 */ 00062 typedef T& Reference; 00063 00064 /** 00065 * the const reference to element type. 00066 */ 00067 typedef const T& ConstReference; 00068 00069 /** 00070 * the iterator type. 00071 */ 00072 typedef Pointer Iterator; 00073 00074 /** 00075 * the const iterator type. 00076 */ 00077 typedef ConstPointer ConstIterator; 00078 00079 /** 00080 * destructor. 00081 */ 00082 ~X(); 00083 00084 /** 00085 * (default) constructor. 00086 */ 00087 X(); 00088 00089 /** 00090 * copy-assignment constructor. 00091 */ 00092 X( const Self& rhs ); 00093 00094 /** 00095 * assignment operator. 00096 */ 00097 Self& operator= ( const Self& rhs ); 00098 00099 protected: 00100 00101 }; 00102 00103 } // namespace 00104 00105 /* ----------------------------------------------------------------------- 00106 ** inline methods 00107 ** ----------------------------------------------------------------------- 00108 */ 00109 00110 namespace cil { 00111 00112 } // namespace 00113 00114 /* ----------------------------------------------------------------------- 00115 ** template methods 00116 ** ----------------------------------------------------------------------- 00117 */ 00118 00119 namespace cil { 00120 00121 } // namespace 00122 00123 #endif // _CIL_XXX_H 00124 00125 /* 00126 * end of file 00127 */ 00128