00001 #ifndef X3DTK_SFSTRING_H 00002 #define X3DTK_SFSTRING_H 00003 00004 #include "Platform.h" 00005 00006 #include <string> 00007 00008 namespace X3DTK { 00009 00018 class SFString : public std::string 00019 { 00020 public: 00022 SFString(); 00024 SFString(const char *s); 00026 SFString(const unsigned char *s); 00028 SFString(const std::string &s); 00030 SFString(const SFString &s); 00031 00033 operator const char *() const; 00035 int toInt() const; 00037 unsigned int toUint() const; 00039 float toFloat() const; 00041 double toDouble() const; 00043 SFString lower() const; 00045 SFString upper() const; 00047 SFString getName() const; 00049 SFString getExtension() const; 00051 SFString getFile() const; 00053 SFString getPath() const; 00054 00056 static SFString number(float f); 00058 static SFString number(double d); 00060 static SFString number(int i); 00062 static SFString number(unsigned int ui); 00063 }; 00064 00065 } 00066 00067 #endif