00001
00002 #ifndef TUPLE_VARIABLE_COPY_H
00003 #define TUPLE_VARIABLE_COPY_H
00004
00005 #include "AIDA/ITuple.h"
00006
00007 namespace Anaphe {
00008 namespace AIDA_Tuple_native {
00009
00010
00011 class TupleVariableCopyBase {
00012 public:
00013 virtual ~TupleVariableCopyBase(){}
00014 virtual void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00015 int columnFrom,
00016 AIDA::ITuple& tupleTo,
00017 int columnTo ) const = 0;
00018 };
00019
00020 class TupleVarialbeCopyDouble : virtual public TupleVariableCopyBase {
00021 public:
00022 TupleVarialbeCopyDouble(){}
00023 ~TupleVarialbeCopyDouble(){}
00024 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00025 int columnFrom,
00026 AIDA::ITuple& tupleTo,
00027 int columnTo ) const
00028 {
00029 tupleTo.fill( columnTo, tupleFrom.getDouble( columnFrom ) );
00030 }
00031
00032 };
00033
00034
00035 class TupleVarialbeCopyFloat : virtual public TupleVariableCopyBase {
00036 public:
00037 TupleVarialbeCopyFloat(){}
00038 ~TupleVarialbeCopyFloat(){}
00039 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00040 int columnFrom,
00041 AIDA::ITuple& tupleTo,
00042 int columnTo ) const
00043 {
00044 tupleTo.fill( columnTo, tupleFrom.getFloat( columnFrom ) );
00045 }
00046
00047 };
00048
00049
00050 class TupleVarialbeCopyLong : virtual public TupleVariableCopyBase {
00051 public:
00052 TupleVarialbeCopyLong(){}
00053 ~TupleVarialbeCopyLong(){}
00054 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00055 int columnFrom,
00056 AIDA::ITuple& tupleTo,
00057 int columnTo ) const
00058 {
00059 tupleTo.fill( columnTo, tupleFrom.getLong( columnFrom ) );
00060 }
00061
00062 };
00063
00064
00065 class TupleVarialbeCopyInt : virtual public TupleVariableCopyBase {
00066 public:
00067 TupleVarialbeCopyInt(){}
00068 ~TupleVarialbeCopyInt(){}
00069 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00070 int columnFrom,
00071 AIDA::ITuple& tupleTo,
00072 int columnTo ) const
00073 {
00074 tupleTo.fill( columnTo, tupleFrom.getInt( columnFrom ) );
00075 }
00076
00077 };
00078
00079
00080 class TupleVarialbeCopyShort : virtual public TupleVariableCopyBase {
00081 public:
00082 TupleVarialbeCopyShort(){}
00083 ~TupleVarialbeCopyShort(){}
00084 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00085 int columnFrom,
00086 AIDA::ITuple& tupleTo,
00087 int columnTo ) const
00088 {
00089 tupleTo.fill( columnTo, tupleFrom.getShort( columnFrom ) );
00090 }
00091
00092 };
00093
00094
00095 class TupleVarialbeCopyChar : virtual public TupleVariableCopyBase {
00096 public:
00097 TupleVarialbeCopyChar(){}
00098 ~TupleVarialbeCopyChar(){}
00099 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00100 int columnFrom,
00101 AIDA::ITuple& tupleTo,
00102 int columnTo ) const
00103 {
00104 tupleTo.fill( columnTo, tupleFrom.getChar( columnFrom ) );
00105 }
00106
00107 };
00108
00109
00110 class TupleVarialbeCopyString : virtual public TupleVariableCopyBase {
00111 public:
00112 TupleVarialbeCopyString(){}
00113 ~TupleVarialbeCopyString(){}
00114 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00115 int columnFrom,
00116 AIDA::ITuple& tupleTo,
00117 int columnTo ) const
00118 {
00119 tupleTo.fill( columnTo, tupleFrom.getString( columnFrom ) );
00120 }
00121
00122 };
00123
00124
00125 class TupleVarialbeCopyBoolean : virtual public TupleVariableCopyBase {
00126 public:
00127 TupleVarialbeCopyBoolean(){}
00128 ~TupleVarialbeCopyBoolean(){}
00129 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00130 int columnFrom,
00131 AIDA::ITuple& tupleTo,
00132 int columnTo ) const
00133 {
00134 tupleTo.fill( columnTo, tupleFrom.getBoolean( columnFrom ) );
00135 }
00136
00137 };
00138
00139
00140 class TupleVarialbeCopyTuple : virtual public TupleVariableCopyBase {
00141 public:
00142 TupleVarialbeCopyTuple(){}
00143 ~TupleVarialbeCopyTuple(){}
00144 void copyTupleVariable( const AIDA::ITuple& tupleFrom,
00145 int columnFrom,
00146 AIDA::ITuple& tupleTo,
00147 int columnTo ) const;
00148 };
00149
00150
00151 }
00152 }
00153 #endif