00001 #ifndef __J2K__JString_Build_CPP__
00002 #define __J2K__JString_Build_CPP__
00003
00004 #include <j2k/Fred/String/String.hpp>
00005
00006
00007
00008
00009
00010 JString::JString()
00011 : pData( &strNull ) { }
00012
00013 JString::JString( JStringData* sd )
00014 : pData( sd ) { }
00015
00016 JString::JString( const char* s )
00017 {
00018 if ( s != NULL && *s != NULL ) {
00019 pData = new JStringData( s );
00020 } else {
00021 pData = &strNull;
00022 }
00023 }
00024
00025
00026 #if 0
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #endif
00038
00039 JString::JString( const char* s, size_t nBuffer )
00040 : pData( new JStringData( s, nBuffer ) ) { }
00041
00042 JString::JString( char ch )
00043 : pData( new JStringData( ch, 1 ) ) { }
00044
00045 JString::JString( char ch, size_t nRepeat )
00046 : pData( new JStringData( ch, nRepeat ) ) { }
00047
00048
00049
00050 JString::JString( const JString& src )
00051 : pData( src.pData )
00052 {
00053 pData->Inc();
00054 }
00055
00056
00057 JString::~JString() {
00058
00059 #ifdef __J2K__DEBUG
00060 printf("\nDelete JString[%s]\n", pData->data );
00061 #endif
00062
00063 pData->Dec();
00064 }
00065
00066 #endif