BTInteger.hGo to the documentation of this file.00001 00006 /* 00007 Copyright (C) 2005 Anders Hedstrom 00008 00009 This program is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License 00011 as published by the Free Software Foundation; either version 2 00012 of the License, or (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00022 */ 00023 #ifndef _BTINTEGER_H 00024 #define _BTINTEGER_H 00025 00026 #ifdef _WIN32 00027 #pragma warning(disable:4786) 00028 typedef __int64 int64_t; 00029 #else 00030 #include <stdint.h> 00031 #endif 00032 #include "BTObject.h" 00033 00034 00036 00037 class BTInteger : public BTObject 00038 { 00039 public: 00040 BTInteger() : BTObject(0),m_val(0) {} 00041 ~BTInteger() {} 00042 char Type() { return 'i'; } 00043 void Show() { 00044 BTObject::Show(); 00045 printf("%s ",GetValue().c_str()); 00046 } 00047 00048 std::string GetValue() { 00049 return m_value; 00050 } 00051 void SetValue(const std::string &str) { 00052 m_value = str; 00053 m_val = 0; 00054 for (size_t i = 0; i < str.size(); i++) 00055 { 00056 m_val = m_val * 10 + (str[i] - 48); 00057 } 00058 } 00059 int64_t GetVal() { return m_val; } 00060 00061 private: 00062 std::string m_value; 00063 int64_t m_val; 00064 }; 00065 00066 00067 #endif // _BTINTEGER_H |