Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals

/Users/blackie/Documents/myRepository/phobosengine-vc2005/phobosengine/phobosengine/String.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef STRING_H
00004 #define STRING_H
00005 
00006 
00007 #include <string>
00008 #include <sstream>
00009 
00010 
00011 namespace pge {
00012 
00013 
00014         class String {
00015 
00016 
00017         public:
00018                 //************************************************************************
00019                 //
00020                 // Constructor
00021                 //
00022                 //************************************************************************
00024                 String(void) {
00025                         m_string = "";
00026                 }
00027                 
00028                 String(const String &copy) {
00029                         m_string = copy.m_string;
00030                 }
00031                 
00032                 String(const std::string &str) {
00033                         append(str);
00034                 }
00035 
00036                 String(char *str) {
00037                         append(str);
00038                 }
00039 
00040                 String(char c) {
00041                         append(c);
00042                 }
00043                 
00044                 String(int i) {
00045                         append(i);
00046                 }
00047                 
00048                 String(float f) {
00049                         append(f);
00050                 }
00051                 
00052                 String(double d) {
00053                         append(d);
00054                 }
00055 
00056 
00057                 //************************************************************************
00058                 //
00059                 // Destructor
00060                 //
00061                 //************************************************************************
00063                 virtual ~String(void) {
00064                 }
00065 
00066 
00067                 //************************************************************************
00068                 //
00069                 // Functions
00070                 //
00071                 //************************************************************************
00072                 std::string getString(void) {
00073                         return m_string;
00074                 }
00075 
00076                 const char* getCString(void) {
00077                         return m_string.c_str();
00078                 }
00079 
00080                 void append(const String &str) {
00081                         m_string.append(str.m_string);
00082                 }
00083 
00084                 void append(const std::string &str) {
00085                         m_string.append(str);
00086                 }
00087 
00088                 void append(char *str) {
00089                         m_string.append(std::string(str));
00090                 }
00091 
00092                 void append(char c) {
00093                         std::stringstream str;
00094 
00095                         str << c;
00096                         str >> m_string;
00097                 }
00098 
00099                 void append(int i) {
00100                         std::stringstream str;
00101 
00102                         str << i;
00103                         str >> m_string;
00104                 }
00105 
00106                 String append(float f) {
00107                         std::stringstream str;
00108 
00109                         str << f;
00110                         str >> m_string;
00111                         return String(m_string);
00112                 }
00113 
00114                 String append(double d) {
00115                         std::stringstream str;
00116 
00117                         str << d;
00118                         str >> m_string;
00119                         return m_string;
00120                 }
00121 
00122                 String operator+(const String &str) {
00123                         append(str);
00124                         return String(m_string);
00125                 }
00126 
00127 
00128         private:
00129                 //************************************************************************
00130                 //
00131                 // Variables
00132                 //
00133                 //************************************************************************
00134                 std::string m_string;
00135         };
00136 };
00137 
00138 #endif

Generated on Mon Oct 16 12:08:11 2006 for Phobosengine by doxygen 1.3.4