//******************************************************************* // // License: See top level LICENSE.txt file. // // Author: Garrett Potts (gpotts@imagelinks.com) // //******************************************************************** // $Id: ossimHexString.h 23584 2015-10-18 13:03:33Z dburken $ #ifndef ossimHexString_H #define ossimHexString_H 1 #include #include #include class OSSIMDLLEXPORT ossimHexString : public ossimString { public: ossimHexString():ossimString() {} template ossimHexString(Iter start, Iter end):ossimString(start, end){} ossimHexString(const std::string& aString):ossimString(aString) {} ossimHexString(const char *aString):ossimString(aString?aString:"") {} ossimHexString(const ossimString& aString):ossimString(aString.c_str()) {} ossimHexString(char value):ossimString() { assign(value); } ossimHexString(ossim_int16 value):ossimString() { assign(value); } ossimHexString(ossim_int32 value):ossimString() { assign(value); } ossimHexString(ossim_uint8 value):ossimString() { assign(value); } ossimHexString(ossim_uint16 value):ossimString() { assign(value); } ossimHexString(ossim_uint32 value):ossimString() { assign(value); } bool operator==(const ossimHexString& s) const {return (std::strcmp(this->c_str(),s.c_str())==0);} bool operator==(const char* s) const {return (std::strcmp(this->c_str(),s)==0);} bool operator!=(const ossimHexString& s) const {return (std::strcmp(this->c_str(),s.c_str())!=0);} bool operator!=(const char* s) const {return (std::strcmp(this->c_str(),s)!=0);} operator const char*()const{return c_str();} const char* chars()const{return c_str();} char& operator[](int i) { return *( const_cast(c_str())+i); } const char& operator[](int i)const { return *(c_str()+i); } const ossimHexString& operator =(ossim_int16 value) { assign(value); return *this; } const ossimHexString& operator =(ossim_int32 value) { assign(value); return *this; } const ossimHexString& operator =(ossim_uint16 value) { assign(value); return *this; } const ossimHexString& operator =(ossim_uint32 value) { assign(value); return *this; } const ossimHexString& operator =(ossim_int8 value) { assign(value); return *this; } const ossimHexString& operator =(ossim_uint8 value) { assign(value); return *this; } const ossimHexString& operator =(const ossim_int8* value) { ossimString::operator=(value); return *this; } const ossimHexString& operator =(const ossimString& value) { ossimString::operator=(value); return *this; } const ossimHexString& operator =(const ossimHexString& value) { ossimString::operator=(value); return *this; } const ossimHexString& operator =(const std::string& value) { ossimString::operator=(value); return *this; } ossim_int32 toInt32()const; ossim_int16 toInt16()const; ossim_int8 toChar()const; ossim_uint8 toUchar()const; ossim_uint32 toUint32()const; ossim_uint16 toUint16()const; void assign(ossim_int16 value) { assign((ossim_uint16)value); } void assign(ossim_int32 value) { assign((ossim_uint32)value); } void assign(ossim_int8 value) { assign((ossim_uint8)value); } void assign(ossim_uint16 value); void assign(ossim_uint32 value); void assign(ossim_uint8 value); }; #endif /* #ifndef ossimHexString_H */