Go to the documentation of this file.00001
00002
00003
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef _CHOMP_STRUCT_LOCALVAR_H_
00037 #define _CHOMP_STRUCT_LOCALVAR_H_
00038
00039
00040 namespace chomp {
00041 namespace homology {
00042
00043
00044
00045
00046
00047
00053 template <class varType>
00054 class local_var
00055 {
00056 public:
00058 local_var (varType &_variable);
00059
00062 local_var (varType &_variable, const varType &_newValue);
00063
00065 ~local_var ();
00066
00067 private:
00069 varType &var;
00070
00073 const varType value;
00074
00075 };
00076
00077
00078
00079 template <class varType>
00080 inline local_var<varType>::local_var (varType &_variable):
00081 var (_variable), value (_variable)
00082 {
00083 return;
00084 }
00085
00086 template <class varType>
00087 inline local_var<varType>::local_var (varType &_variable,
00088 const varType &_newValue): var (_variable), value (_variable)
00089 {
00090 _variable = _newValue;
00091 return;
00092 }
00093
00094 template <class varType>
00095 inline local_var<varType>::~local_var ()
00096 {
00097 var = value;
00098 return;
00099 }
00100
00101
00102 }
00103 }
00104
00105 #endif // _CHOMP_STRUCT_LOCALVAR_H_
00106
00108