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); 00032 inline const SFString &toSFString() const {return *this;}; 00033 00035 operator const char *() const; 00037 int toInt() const; 00039 unsigned int toUint() const; 00041 float toFloat() const; 00043 double toDouble() const; 00045 SFString lower() const; 00047 SFString upper() const; 00049 SFString getName() const; 00051 SFString getExtension() const; 00053 SFString getFile() const; 00055 SFString getPath() const; 00056 00058 static SFString number(float f); 00060 static SFString number(double d); 00062 static SFString number(int i); 00064 static SFString number(unsigned int ui); 00065 }; 00066 00067 } 00068 00069 #endif