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

JSubString Class Reference

List of all members.

Public Methods

const JSubString & JSubString::operator= (const JString &src)
JString JSubString::operator= (const JSubString &src)
JString operator JString ()

Private Methods

 JSubString ()
 JSubString (JString *p)
 JSubString (JString *p, ULONG start)
 JSubString (JString *p, ULONG start, ULONG len)
 JSubString (const JSubString &src)

Private Attributes

JStringDatapData
ULONG startpos
ULONG length
friend JString

Constructor & Destructor Documentation

JSubString::JSubString   [inline, private]
 

Definition at line 11 of file SubString.cpp.

00012     : startpos( 0 ), length( 0 ), pData( strNull ) { }

JSubString::JSubString JString   p [inline, private]
 

Definition at line 14 of file SubString.cpp.

00015     : startpos( 0 ), length( 0 ), pData( strNull )
00016   {
00017     if ( p != NULL ) {
00018       pData  = p;
00019       pData->Inc();
00020       length = p->length;
00021     }
00022   }

JSubString::JSubString JString   p,
ULONG    start
[inline, private]
 

Definition at line 24 of file SubString.cpp.

00025     : startpos( 0 ), length( 0 ), pData( strNull )
00026   {
00027     if ( p != NULL ) {
00028       pData    = p;
00029       pData->Inc();
00030       length   = p->length;
00031       startpos = start;
00032     }
00033   }

JSubString::JSubString JString   p,
ULONG    start,
ULONG    len
[inline, private]
 

Definition at line 35 of file SubString.cpp.

00036     : startpos( 0 ), length( 0 ), pData( strNull )
00037   {
00038     if ( p != NULL ) {
00039       pData    = p;
00040       pData->Inc();
00041       startpos = start;
00042 
00043       ULONG l = p->length;
00044       if ( l >= len ) {
00045         length = len;
00046       } else {
00047         length = l;
00048       }
00049     }
00050   }

JSubString::JSubString const JSubString &    src [inline, private]
 

Definition at line 52 of file SubString.cpp.

00053     : pData( src.pData ), startpos( src.startpos ), length( src.length )
00054   {
00055     pData->Inc();
00056   }


Member Function Documentation

JString JSubString::JSubString::operator= const JSubString &    src [inline]
 

Definition at line 65 of file SubString.cpp.

00066   {
00067     ULONG sz = src.length + pData->length;
00068     JStringData* sd = pData;
00069 
00070     pData = new JStringData( sd->data, sz );
00071 
00072     char* d =     pData->data +     startpos;
00073     char* s = src.pData->data + src.startpos;
00074 
00075     memcpy( d, s, src.length );
00076 
00077     d += src.length;
00078     s =  sd->data + startpos + length;
00079     
00080 
00081     memcpy( d, s, 
00082 
00083     sd->Dec();
00084   }

const JSubString& JSubString::JSubString::operator= const JString   src [inline]
 

Definition at line 61 of file SubString.cpp.

00062   {
00063   }

JString JSubString::operator JString   [inline]
 

Definition at line 86 of file SubString.cpp.

00087   {
00088     return JString( pData );
00089   }


Member Data Documentation

friend JSubString::JString [private]
 

Definition at line 96 of file SubString.cpp.

ULONG JSubString::length [private]
 

Definition at line 94 of file SubString.cpp.

Referenced by JSubString::operator=().

JStringData* JSubString::pData [private]
 

Definition at line 92 of file SubString.cpp.

Referenced by JSubString::operator=().

ULONG JSubString::startpos [private]
 

Definition at line 93 of file SubString.cpp.

Referenced by JSubString::operator=().


The documentation for this class was generated from the following file:
Generated on Sun Oct 14 18:49:05 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001