Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/Fred/String/StrMorph.inl

Go to the documentation of this file.
00001 #ifndef __J2K__JString_Morph_INL__
00002 #define __J2K__JString_Morph_INL__
00003 
00004 #include <j2k/Fred/String/String.hpp>
00005 #include <j2k/Fred/String/Str-fn.hpp>
00006 
00007 // ALWAYS use CopyBeforeWrite to avoid problems with LOCK functions !
00008 // Used CopyBeforeWrite(); external function ONLY
00009 
00010 // Every function is inlined.
00011 
00012 /// Aliases
00013 inline void JString::UCase() {   
00014   MakeUpper();   
00015 }
00016 
00017 inline void JString::LCase() {   
00018   MakeLower();   
00019 }
00020 
00021 inline void JString::Reverse() { 
00022   MakeReverse(); 
00023 }
00024 
00025 inline void JString::MakeUpper() {
00026   CopyBeforeWrite();
00027   strupr(pData->data);
00028 }
00029 
00030 inline void JString::MakeLower() {
00031   CopyBeforeWrite();
00032   strlwr(pData->data);
00033 }
00034 
00035 inline void JString::MakeReverse() {
00036   CopyBeforeWrite();
00037   strrev(pData->data);
00038 }
00039 
00040 inline char* JString::getUpper() {
00041   return strupr( strdup( pData->data ) );
00042 }
00043 
00044 inline char* JString::getLower() {
00045   return strlwr( strdup( pData->data ) );
00046 }
00047 
00048 inline char* JString::getReverse() {
00049   return strrev( strdup( pData->data ) );
00050 }
00051 
00052 inline JString& JString::setUpper() {
00053   MakeUpper();
00054   return *this;
00055 }
00056 
00057 inline JString& JString::setLower() {
00058   MakeLower();
00059   return *this;
00060 }
00061 
00062 inline JString& JString::setReverse() {
00063   MakeReverse();
00064   return *this;
00065 }
00066 
00067 // Parsing Stuff
00068                 
00069 inline int JString::parseInt() const { 
00070   return atoi( pData->data ); 
00071 }
00072 
00073 inline long JString::parseLong() const { 
00074   return atol( pData->data ); 
00075 }
00076 
00077 inline double JString::parseDouble() const {
00078   return atof( pData->data ); 
00079 }
00080 
00081 inline char* JString::parseString() const {
00082   if ( pData == strNull ) {
00083     return "";
00084   } else {
00085     return strdup( pData->data );
00086   }
00087 }
00088 
00089 inline char* JString::toString() const {
00090   return parseString();
00091 }
00092 
00093 inline char* JString::getText() const {
00094   return parseString();
00095 }
00096 
00097 ////////////////////////////////////////////////////////////////////////////
00098 /// Same as Parsing, but using Casting (BE CAREFUL !)                    ///
00099 ////////////////////////////////////////////////////////////////////////////
00100 inline JString::operator char*() const {
00101   return parseString();
00102 }
00103 
00104 inline JString::operator int() const {
00105   return parseInt();
00106 }
00107 
00108 inline JString::operator long() const {
00109   return parseLong();
00110 }
00111 
00112 inline JString::operator double() const {
00113   return parseDouble();
00114 }
00115 
00116 #endif

Generated on Sun Oct 14 18:46:32 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001