ExtCast.h

Go to the documentation of this file.
00001 /*
00002 // $Id: //open/dev/fennel/calculator/ExtCast.h#2 $
00003 // Fennel is a library of data storage and processing components.
00004 // Copyright (C) 2005-2009 The Eigenbase Project
00005 // Copyright (C) 2004-2009 SQLstream, Inc.
00006 // Copyright (C) 2009-2009 LucidEra, Inc.
00007 //
00008 // This program is free software; you can redistribute it and/or modify it
00009 // under the terms of the GNU General Public License as published by the Free
00010 // Software Foundation; either version 2 of the License, or (at your option)
00011 // any later version approved by The Eigenbase Project.
00012 //
00013 // This program is distributed in the hope that it will be useful,
00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016 // GNU General Public License for more details.
00017 //
00018 // You should have received a copy of the GNU General Public License
00019 // along with this program; if not, write to the Free Software
00020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021 */
00022 
00023 #ifndef Fennel_ExtCast_Included
00024 #define Fennel_ExtCast_Included
00025 
00026 #include "fennel/calculator/RegisterReference.h"
00027 #include "fennel/calculator/ExtendedInstruction.h"
00028 
00029 FENNEL_BEGIN_NAMESPACE
00030 
00036 void
00037 castExactToStrA(
00038     RegisterRef<char*>* result,
00039     RegisterRef<int64_t>* src);
00040 
00046 void
00047 castExactToStrA(
00048     RegisterRef<char*>* result,
00049     RegisterRef<int64_t>* src,
00050     RegisterRef<int32_t>* precision,
00051     RegisterRef<int32_t>* scale);
00052 
00058 void
00059 castApproxToStrA(
00060     RegisterRef<char*>* result,
00061     RegisterRef<double>* src);
00062 
00068 void
00069 castStrtoExactA(
00070     RegisterRef<int64_t>* result,
00071     RegisterRef<char*>* src);
00072 
00079 void
00080 castStrToExactA(
00081     RegisterRef<int64_t>* result,
00082     RegisterRef<char*>* src,
00083     RegisterRef<int32_t>* precision,
00084     RegisterRef<int32_t>* scale);
00085 
00091 void
00092 castStrToApproxA(
00093     RegisterRef<double>* result,
00094     RegisterRef<char*>* src);
00095 
00101 void
00102 castBooleanToStrA(
00103     RegisterRef<char*>* result,
00104     RegisterRef<int64_t>* src);
00105 
00106 
00112 void
00113 castStrtoBooleanA(
00114     RegisterRef<bool>* result,
00115     RegisterRef<char*>* src);
00116 
00122 void
00123 castStrToVarCharA(
00124     RegisterRef<char*>* result,
00125     RegisterRef<char*>* src);
00126 
00132 void
00133 castStrToCharA(
00134     RegisterRef<char*>* result,
00135     RegisterRef<char*>* src);
00136 
00137 
00138 class ExtendedInstructionTable;
00139 
00140 void
00141 ExtCastRegister(ExtendedInstructionTable* eit);
00142 
00143 
00144 FENNEL_END_NAMESPACE
00145 
00146 #endif
00147 
00148 // End ExtCast.h

Generated on Mon Jun 22 04:00:17 2009 for Fennel by  doxygen 1.5.1