00001 /**** 00002 Hierarchical Data Objects 00003 Copyright (C) 2005-2010 Werner Van Belle 00004 http://flow.yellowcouch.org/data/ 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 ****/ 00020 #ifndef __loaded__type_names_h__ 00021 #define __loaded__type_names_h__ 00022 using namespace std; 00023 #line 1 "type-names.h++" 00024 #include "numbers.h" 00025 #include "data-string.h" 00026 00027 //--------------------------------------------------------------- 00028 // Exported 00029 //--------------------------------------------------------------- 00030 #define BASIC_TYPE(WHAT, NAME, CLASS) \ 00031 inline QString type_name(WHAT ) { return #NAME;}; \ 00032 inline Data to_data(WHAT input) { return CLASS(input);}; \ 00033 inline void convertTo(const Data& data, NAME& target) {target = (CLASS)data;}; 00034 BASIC_TYPES 00035 #undef BASIC_TYPE 00036 inline QString type_name(Data ) { return "Data";}; 00037 inline Data to_data(Data blah) {return blah;}; 00038 inline void convertTo(const Data& data, Data& target) {target = data;}; 00039 #endif // __loaded__type_names_h__