mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 04:59:26 +02:00
* rename generic TStringBuilder to TGenericStringBuilder to make code tools happy
git-svn-id: trunk@47553 -
This commit is contained in:
parent
233d883731
commit
de6f3ea9b5
@ -1,11 +1,11 @@
|
||||
{ TStringBuilder }
|
||||
{ TGenericStringBuilder }
|
||||
|
||||
constructor TStringBuilder.Create;
|
||||
constructor TGenericStringBuilder.Create;
|
||||
begin
|
||||
Create(DefaultCapacity,Maxint);
|
||||
end;
|
||||
|
||||
constructor TStringBuilder.Create(const AValue: SBString; aCapacity: Integer);
|
||||
constructor TGenericStringBuilder.Create(const AValue: SBString; aCapacity: Integer);
|
||||
begin
|
||||
Create(aCapacity,Maxint);
|
||||
if (system.Length(AValue)>0) then
|
||||
@ -13,25 +13,25 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
constructor TStringBuilder.Create(const AValue: SBString; StartIndex, Alength,
|
||||
constructor TGenericStringBuilder.Create(const AValue: SBString; StartIndex, Alength,
|
||||
aCapacity: Integer);
|
||||
begin
|
||||
Create(Copy(AValue,StartIndex+1,Alength), aCapacity);
|
||||
end;
|
||||
|
||||
constructor TStringBuilder.Create(aCapacity, aMaxCapacity: Integer);
|
||||
constructor TGenericStringBuilder.Create(aCapacity, aMaxCapacity: Integer);
|
||||
begin
|
||||
FMaxCapacity:=aMaxCapacity;
|
||||
Capacity:=aCapacity;
|
||||
FLength:=0;
|
||||
end;
|
||||
|
||||
constructor TStringBuilder.Create(aCapacity: Integer);
|
||||
constructor TGenericStringBuilder.Create(aCapacity: Integer);
|
||||
begin
|
||||
Create(aCapacity,MaxInt);
|
||||
end;
|
||||
|
||||
constructor TStringBuilder.Create(const AValue: SBString);
|
||||
constructor TGenericStringBuilder.Create(const AValue: SBString);
|
||||
begin
|
||||
Create(aValue,DefaultCapacity);
|
||||
end;
|
||||
@ -39,31 +39,31 @@ end;
|
||||
|
||||
{ Property getter/setter }
|
||||
|
||||
function TStringBuilder.GetLength: Integer;
|
||||
function TGenericStringBuilder.GetLength: Integer;
|
||||
begin
|
||||
Result:=FLength;
|
||||
end;
|
||||
|
||||
function TStringBuilder.GetCapacity: Integer;
|
||||
function TGenericStringBuilder.GetCapacity: Integer;
|
||||
begin
|
||||
Result:=System.Length(FData);
|
||||
end;
|
||||
|
||||
function TStringBuilder.GetC(Index: Integer): SBChar;
|
||||
function TGenericStringBuilder.GetC(Index: Integer): SBChar;
|
||||
begin
|
||||
CheckNegative(Index,'Index');
|
||||
CheckRange(Index,0,Length);
|
||||
Result:=FData[Index];
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.SetC(Index: Integer; AValue: SBChar);
|
||||
procedure TGenericStringBuilder.SetC(Index: Integer; AValue: SBChar);
|
||||
begin
|
||||
CheckNegative(Index,'Index');
|
||||
CheckRange(Index,0,Length-1);
|
||||
FData[Index]:=AValue;
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.SetLength(AValue: Integer);
|
||||
procedure TGenericStringBuilder.SetLength(AValue: Integer);
|
||||
|
||||
begin
|
||||
CheckNegative(AValue,'AValue');
|
||||
@ -77,7 +77,7 @@ end;
|
||||
|
||||
|
||||
|
||||
procedure TStringBuilder.CheckRange(Idx, Count, MaxLen: Integer);
|
||||
procedure TGenericStringBuilder.CheckRange(Idx, Count, MaxLen: Integer);
|
||||
|
||||
begin
|
||||
if (Idx<0) or (Idx+Count>MaxLen) then
|
||||
@ -85,7 +85,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TStringBuilder.CheckNegative(const AValue: Integer;
|
||||
procedure TGenericStringBuilder.CheckNegative(const AValue: Integer;
|
||||
const AName: SBString);
|
||||
|
||||
begin
|
||||
@ -95,7 +95,7 @@ end;
|
||||
|
||||
{ These do the actual Appending/Inserting }
|
||||
|
||||
procedure TStringBuilder.DoAppend(const S: {$IFDEF SBUNICODE}SBString{$ELSE}RawByteString{$ENDIF});
|
||||
procedure TGenericStringBuilder.DoAppend(const S: {$IFDEF SBUNICODE}SBString{$ELSE}RawByteString{$ENDIF});
|
||||
|
||||
Var
|
||||
L,SL : Integer;
|
||||
@ -110,7 +110,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.DoAppend(const AValue: TSBCharArray; Idx, aCount: Integer
|
||||
procedure TGenericStringBuilder.DoAppend(const AValue: TSBCharArray; Idx, aCount: Integer
|
||||
);
|
||||
|
||||
Var
|
||||
@ -123,7 +123,7 @@ begin
|
||||
Move(AValue[Idx],FData[L],aCount*SizeOf(SBChar));
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.DoInsert(Index: Integer; const AValue: SBString);
|
||||
procedure TGenericStringBuilder.DoInsert(Index: Integer; const AValue: SBString);
|
||||
|
||||
Var
|
||||
ShiftLen,LV : Integer;
|
||||
@ -137,7 +137,7 @@ begin
|
||||
Move(AValue[1],FData[Index],LV*SizeOf(SBChar));
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.DoInsert(Index: Integer; const AValue: TSBCharArray;
|
||||
procedure TGenericStringBuilder.DoInsert(Index: Integer; const AValue: TSBCharArray;
|
||||
StartIndex, SBCharCount: Integer);
|
||||
|
||||
Var
|
||||
@ -157,13 +157,13 @@ end;
|
||||
|
||||
{ Public routines for appending }
|
||||
|
||||
function TStringBuilder.Append(const AValue: UInt64): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: UInt64): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: TSBCharArray): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: TSBCharArray): TGenericStringBuilder;
|
||||
|
||||
var
|
||||
I,L: Integer;
|
||||
@ -180,100 +180,100 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Single): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Single): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(FloatToStr(AValue));
|
||||
Result:=self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Word): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Word): TGenericStringBuilder;
|
||||
begin
|
||||
Append(IntToStr(AValue));
|
||||
Result:=self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Cardinal): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Cardinal): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: SBChar; RepeatCount: Integer
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: SBChar; RepeatCount: Integer
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(StringOfChar(AValue,RepeatCount));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
|
||||
function TStringBuilder.Append(const AValue: Shortint): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Shortint): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: SBChar): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: SBChar): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(AValue);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Currency): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Currency): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(CurrToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Boolean): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Boolean): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(BoolToStr(AValue, True));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Byte): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Byte): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Double): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Double): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(FloatToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Int64): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Int64): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: TObject): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: TObject): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(AValue.ToString);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: Smallint): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: Smallint): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: LongInt): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: LongInt): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
Function TStringBuilder.Append(const AValue: TSBCharArray; StartIndex, SBCharCount: Integer): TStringBuilder;
|
||||
Function TGenericStringBuilder.Append(const AValue: TSBCharArray; StartIndex, SBCharCount: Integer): TGenericStringBuilder;
|
||||
|
||||
begin
|
||||
DoAppend(AValue,StartIndex,SBCharCount);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
Function TStringBuilder.Append(const AValue: SBString; StartIndex, Count: Integer): TStringBuilder;
|
||||
Function TGenericStringBuilder.Append(const AValue: SBString; StartIndex, Count: Integer): TGenericStringBuilder;
|
||||
|
||||
begin
|
||||
CheckRange(StartIndex,Count,System.Length(AValue));
|
||||
@ -281,21 +281,21 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const AValue: PSBChar): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: PSBChar): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(AnsiString(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
{$IFDEF SBUNICODE}
|
||||
function TStringBuilder.Append(const AValue: SBString): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: SBString): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(AValue);
|
||||
Result:=Self;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
function TStringBuilder.Append(const AValue: RawByteString): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const AValue: RawByteString): TGenericStringBuilder;
|
||||
begin
|
||||
{$IFDEF SBUNICODE}
|
||||
DoAppend(SBString(AValue));
|
||||
@ -305,40 +305,40 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.AppendFormat(const Fmt: SBString;
|
||||
const Args: array of const): TStringBuilder;
|
||||
function TGenericStringBuilder.AppendFormat(const Fmt: SBString;
|
||||
const Args: array of const): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(Format(Fmt,Args));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Append(const Fmt: SBString;
|
||||
const Args: array of const): TStringBuilder;
|
||||
function TGenericStringBuilder.Append(const Fmt: SBString;
|
||||
const Args: array of const): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(Format(Fmt,Args));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.AppendLine: TStringBuilder;
|
||||
function TGenericStringBuilder.AppendLine: TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(sLineBreak);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.AppendLine(const AValue: RawByteString): TStringBuilder;
|
||||
function TGenericStringBuilder.AppendLine(const AValue: RawByteString): TGenericStringBuilder;
|
||||
begin
|
||||
DoAppend(AValue);
|
||||
Result:=AppendLine();
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.Clear;
|
||||
procedure TGenericStringBuilder.Clear;
|
||||
begin
|
||||
Length:=0;
|
||||
Capacity:=DefaultCapacity;
|
||||
end;
|
||||
|
||||
|
||||
procedure TStringBuilder.CopyTo(SourceIndex: Integer;
|
||||
procedure TGenericStringBuilder.CopyTo(SourceIndex: Integer;
|
||||
Var Destination: TSBCharArray; DestinationIndex: Integer; Count: Integer);
|
||||
|
||||
begin
|
||||
@ -353,7 +353,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function TStringBuilder.EnsureCapacity(aCapacity: Integer): Integer;
|
||||
function TGenericStringBuilder.EnsureCapacity(aCapacity: Integer): Integer;
|
||||
begin
|
||||
CheckRange(aCapacity,0,MaxCapacity);
|
||||
if Capacity<aCapacity then
|
||||
@ -361,7 +361,7 @@ begin
|
||||
Result:=Capacity;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Equals(StringBuilder: TStringBuilder): Boolean;
|
||||
function TGenericStringBuilder.Equals(StringBuilder: TGenericStringBuilder): Boolean;
|
||||
begin
|
||||
Result:=(StringBuilder<>nil);
|
||||
if Result then
|
||||
@ -370,7 +370,7 @@ begin
|
||||
and CompareMem(@FData[0],@StringBuilder.FData[0],Length*SizeOf(SBChar));
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.Grow;
|
||||
procedure TGenericStringBuilder.Grow;
|
||||
|
||||
var
|
||||
NewCapacity: SizeInt;
|
||||
@ -382,101 +382,101 @@ begin
|
||||
Capacity:=NewCapacity;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: TObject
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: TObject
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,AValue.ToString());
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Int64
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Int64
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Single
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Single
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,FloatToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: SBString
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: SBString
|
||||
): TGenericStringBuilder;
|
||||
|
||||
begin
|
||||
DoInsert(Index,AValue);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Word
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Word
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Shortint
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Shortint
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index, IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Currency
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Currency
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,CurrToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: SBChar
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: SBChar
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,AValue);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Byte
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Byte
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Double
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Double
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,FloatToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: LongInt
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: LongInt
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Smallint
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Smallint
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Boolean
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Boolean
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,BoolToStr(AValue,True));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: SBString;
|
||||
const aRepeatCount: Integer): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: SBString;
|
||||
const aRepeatCount: Integer): TGenericStringBuilder;
|
||||
var
|
||||
I: Integer;
|
||||
begin
|
||||
@ -485,43 +485,43 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: TSBCharArray
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: TSBCharArray
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,AValue,0,System.Length(AValue));
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: TSBCharArray;
|
||||
startIndex: Integer; SBCharCount: Integer): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: TSBCharArray;
|
||||
startIndex: Integer; SBCharCount: Integer): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,AValue,StartIndex,SBCharCount);
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: Cardinal
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: Cardinal
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=self;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Insert(Index: Integer; const AValue: UInt64
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Insert(Index: Integer; const AValue: UInt64
|
||||
): TGenericStringBuilder;
|
||||
begin
|
||||
DoInsert(Index,IntToStr(AValue));
|
||||
Result:=self;
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.Shrink;
|
||||
procedure TGenericStringBuilder.Shrink;
|
||||
|
||||
begin
|
||||
if (Capacity div 4)>=Length then
|
||||
Capacity:=Capacity div 2;
|
||||
end;
|
||||
|
||||
function TStringBuilder.Remove(StartIndex: Integer; RemLength: Integer
|
||||
): TStringBuilder;
|
||||
function TGenericStringBuilder.Remove(StartIndex: Integer; RemLength: Integer
|
||||
): TGenericStringBuilder;
|
||||
|
||||
Var
|
||||
MoveIndex : Integer;
|
||||
@ -540,7 +540,7 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
Function TStringBuilder.Replace(const OldValue, NewValue: SBRawString; StartIndex, Count: Integer): TStringBuilder;
|
||||
Function TGenericStringBuilder.Replace(const OldValue, NewValue: SBRawString; StartIndex, Count: Integer): TGenericStringBuilder;
|
||||
|
||||
var
|
||||
Cur : PSBChar;
|
||||
@ -587,8 +587,8 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
Function TStringBuilder.Replace(const OldChar, NewChar: SBChar; StartIndex,
|
||||
Count: Integer): TStringBuilder;
|
||||
Function TGenericStringBuilder.Replace(const OldChar, NewChar: SBChar; StartIndex,
|
||||
Count: Integer): TGenericStringBuilder;
|
||||
var
|
||||
I : Integer;
|
||||
Cur : PSBChar;
|
||||
@ -609,18 +609,18 @@ begin
|
||||
Result:=Self;
|
||||
end;
|
||||
|
||||
Function TStringBuilder.Replace(const OldChar, NewChar: SBChar): TStringBuilder;
|
||||
Function TGenericStringBuilder.Replace(const OldChar, NewChar: SBChar): TGenericStringBuilder;
|
||||
|
||||
begin
|
||||
Result:=Replace(OldChar,NewChar,0,Length);
|
||||
end;
|
||||
|
||||
Function TStringBuilder.Replace(const OldValue, NewValue: SBRawString): TStringBuilder;
|
||||
Function TGenericStringBuilder.Replace(const OldValue, NewValue: SBRawString): TGenericStringBuilder;
|
||||
begin
|
||||
Result:=Replace(OldValue,NewValue,0,Length);
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.SetCapacity(AValue: Integer);
|
||||
procedure TGenericStringBuilder.SetCapacity(AValue: Integer);
|
||||
begin
|
||||
if (AValue>FMaxCapacity) then
|
||||
Raise ERangeError.CreateFmt(SListCapacityError,[AValue]);
|
||||
@ -630,12 +630,12 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function TStringBuilder.ToString: SBString;
|
||||
function TGenericStringBuilder.ToString: SBString;
|
||||
begin
|
||||
Result:=ToString(0,Length);
|
||||
end;
|
||||
|
||||
function TStringBuilder.ToString(aStartIndex: Integer; aLength: Integer
|
||||
function TGenericStringBuilder.ToString(aStartIndex: Integer; aLength: Integer
|
||||
): SBString;
|
||||
begin
|
||||
if (aLength=0) then
|
||||
@ -650,7 +650,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TStringBuilder.DoReplace(Index: Integer; const Old, New: SBString);
|
||||
procedure TGenericStringBuilder.DoReplace(Index: Integer; const Old, New: SBString);
|
||||
|
||||
var
|
||||
NVLen,OVLen,OLen,Delta,TailStart: Integer;
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
{ TStringBuilder }
|
||||
{ TGenericStringBuilder }
|
||||
|
||||
TStringBuilder = class
|
||||
TGenericStringBuilder = class
|
||||
private
|
||||
const
|
||||
DefaultCapacity = 64;
|
||||
@ -36,66 +36,66 @@
|
||||
Constructor Create(const AValue: SBString; aCapacity: Integer);
|
||||
Constructor Create(const AValue: SBString; StartIndex: Integer; aLength: Integer; aCapacity: Integer);
|
||||
|
||||
Function Append(const AValue: Boolean): TStringBuilder;
|
||||
Function Append(const AValue: Byte): TStringBuilder;
|
||||
Function Append(const AValue: SBChar): TStringBuilder;
|
||||
Function Append(const AValue: Currency): TStringBuilder;
|
||||
Function Append(const AValue: Double): TStringBuilder;
|
||||
Function Append(const AValue: Smallint): TStringBuilder;
|
||||
Function Append(const AValue: LongInt): TStringBuilder;
|
||||
Function Append(const AValue: Int64): TStringBuilder;
|
||||
Function Append(const AValue: TObject): TStringBuilder;
|
||||
Function Append(const AValue: Shortint): TStringBuilder;
|
||||
Function Append(const AValue: Single): TStringBuilder;
|
||||
Function Append(const AValue: UInt64): TStringBuilder;
|
||||
Function Append(const AValue: TSBCharArray): TStringBuilder;
|
||||
Function Append(const AValue: Word): TStringBuilder;
|
||||
Function Append(const AValue: Cardinal): TStringBuilder;
|
||||
Function Append(const AValue: PSBChar): TStringBuilder;
|
||||
Function Append(const AValue: Boolean): TGenericStringBuilder;
|
||||
Function Append(const AValue: Byte): TGenericStringBuilder;
|
||||
Function Append(const AValue: SBChar): TGenericStringBuilder;
|
||||
Function Append(const AValue: Currency): TGenericStringBuilder;
|
||||
Function Append(const AValue: Double): TGenericStringBuilder;
|
||||
Function Append(const AValue: Smallint): TGenericStringBuilder;
|
||||
Function Append(const AValue: LongInt): TGenericStringBuilder;
|
||||
Function Append(const AValue: Int64): TGenericStringBuilder;
|
||||
Function Append(const AValue: TObject): TGenericStringBuilder;
|
||||
Function Append(const AValue: Shortint): TGenericStringBuilder;
|
||||
Function Append(const AValue: Single): TGenericStringBuilder;
|
||||
Function Append(const AValue: UInt64): TGenericStringBuilder;
|
||||
Function Append(const AValue: TSBCharArray): TGenericStringBuilder;
|
||||
Function Append(const AValue: Word): TGenericStringBuilder;
|
||||
Function Append(const AValue: Cardinal): TGenericStringBuilder;
|
||||
Function Append(const AValue: PSBChar): TGenericStringBuilder;
|
||||
{$IFDEF SBUNICODE}
|
||||
// Do not use SBRawstring, we need 2 versions in case of unicode
|
||||
Function Append(const AValue: SBString): TStringBuilder;
|
||||
Function Append(const AValue: SBString): TGenericStringBuilder;
|
||||
{$ENDIF}
|
||||
Function Append(const AValue: RawByteString): TStringBuilder;
|
||||
Function Append(const AValue: SBChar; RepeatCount: Integer): TStringBuilder;
|
||||
Function Append(const AValue: TSBCharArray; StartIndex: Integer; SBCharCount: Integer): TStringBuilder;
|
||||
Function Append(const AValue: SBString; StartIndex: Integer; Count: Integer): TStringBuilder;
|
||||
Function Append(const AValue: RawByteString): TGenericStringBuilder;
|
||||
Function Append(const AValue: SBChar; RepeatCount: Integer): TGenericStringBuilder;
|
||||
Function Append(const AValue: TSBCharArray; StartIndex: Integer; SBCharCount: Integer): TGenericStringBuilder;
|
||||
Function Append(const AValue: SBString; StartIndex: Integer; Count: Integer): TGenericStringBuilder;
|
||||
|
||||
Function Append(const Fmt: SBString; const Args: array of const): TStringBuilder;
|
||||
Function AppendFormat(const Fmt: SBString; const Args: array of const): TStringBuilder;
|
||||
Function AppendLine: TStringBuilder;
|
||||
Function AppendLine(const AValue: RawByteString): TStringBuilder;
|
||||
Function Append(const Fmt: SBString; const Args: array of const): TGenericStringBuilder;
|
||||
Function AppendFormat(const Fmt: SBString; const Args: array of const): TGenericStringBuilder;
|
||||
Function AppendLine: TGenericStringBuilder;
|
||||
Function AppendLine(const AValue: RawByteString): TGenericStringBuilder;
|
||||
|
||||
Procedure Clear;
|
||||
Procedure CopyTo(SourceIndex: Integer; Var Destination: TSBCharArray; DestinationIndex: Integer; Count: Integer);
|
||||
Function EnsureCapacity(aCapacity: Integer): Integer;
|
||||
Function Equals(StringBuilder: TStringBuilder): Boolean; reintroduce;
|
||||
Function Equals(StringBuilder: TGenericStringBuilder): Boolean; reintroduce;
|
||||
|
||||
Function Insert(Index: Integer; const AValue: Boolean): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Byte): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: SBChar): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Currency): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Double): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Smallint): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: LongInt): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: TSBCharArray): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Int64): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: TObject): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Shortint): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Single): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: SBString): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Word): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Cardinal): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: UInt64): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: SBString; const aRepeatCount: Integer): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: TSBCharArray; startIndex: Integer; SBCharCount: Integer): TStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Boolean): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Byte): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: SBChar): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Currency): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Double): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Smallint): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: LongInt): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: TSBCharArray): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Int64): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: TObject): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Shortint): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Single): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: SBString): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Word): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: Cardinal): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: UInt64): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: SBString; const aRepeatCount: Integer): TGenericStringBuilder;
|
||||
Function Insert(Index: Integer; const AValue: TSBCharArray; startIndex: Integer; SBCharCount: Integer): TGenericStringBuilder;
|
||||
|
||||
Function Remove(StartIndex: Integer; RemLength: Integer): TStringBuilder;
|
||||
Function Remove(StartIndex: Integer; RemLength: Integer): TGenericStringBuilder;
|
||||
|
||||
Function Replace(const OldChar, NewChar: SBChar): TStringBuilder;
|
||||
Function Replace(const OldChar, NewChar: SBChar; StartIndex: Integer; Count: Integer): TStringBuilder;
|
||||
Function Replace(const OldValue, NewValue: SBRawString): TStringBuilder;
|
||||
Function Replace(const OldValue, NewValue: SBRawString; StartIndex: Integer; Count: Integer): TStringBuilder;
|
||||
Function Replace(const OldChar, NewChar: SBChar): TGenericStringBuilder;
|
||||
Function Replace(const OldChar, NewChar: SBChar; StartIndex: Integer; Count: Integer): TGenericStringBuilder;
|
||||
Function Replace(const OldValue, NewValue: SBRawString): TGenericStringBuilder;
|
||||
Function Replace(const OldValue, NewValue: SBRawString; StartIndex: Integer; Count: Integer): TGenericStringBuilder;
|
||||
{$IFDEF SBUNICODE}
|
||||
Function ToString: SBString;
|
||||
{$ELSE}
|
||||
|
@ -2805,7 +2805,7 @@ function sscanf(const s: string; const fmt : string;const Pointers : array of Po
|
||||
{$define TSBCharArray:=Array of SBChar}
|
||||
{$define PSBChar:=PAnsiChar}
|
||||
{$define SBRAWString:=RawByteString}
|
||||
{$define TStringBuilder:=TAnsiStringBuilder}
|
||||
{$define TGenericStringBuilder:=TAnsiStringBuilder}
|
||||
|
||||
{$i syssb.inc}
|
||||
{$undef SBChar}
|
||||
@ -2813,7 +2813,7 @@ function sscanf(const s: string; const fmt : string;const Pointers : array of Po
|
||||
{$undef TSBCharArray}
|
||||
{$undef PSBChar}
|
||||
{$undef SBRAWString}
|
||||
{$undef TStringBuilder}
|
||||
{$undef TGenericStringBuilder}
|
||||
|
||||
// Unicode version declaration
|
||||
|
||||
@ -2823,14 +2823,14 @@ function sscanf(const s: string; const fmt : string;const Pointers : array of Po
|
||||
{$define TSBCharArray:=Array of SBChar}
|
||||
{$define PSBChar:=PWideChar}
|
||||
{$define SBRAWString:=UnicodeString}
|
||||
{$define TStringBuilder:=TUnicodeStringBuilder}
|
||||
{$define TGenericStringBuilder:=TUnicodeStringBuilder}
|
||||
{$i syssb.inc}
|
||||
{$undef SBChar}
|
||||
{$undef SBString}
|
||||
{$undef TSBCharArray}
|
||||
{$undef PSBChar}
|
||||
{$undef SBRAWString}
|
||||
{$undef TStringBuilder}
|
||||
{$undef TGenericStringBuilder}
|
||||
{$undef SBUNICODE}
|
||||
|
||||
|
||||
|
@ -307,7 +307,7 @@ Type
|
||||
{$define TSBCharArray:=Array of SBChar}
|
||||
{$define PSBChar:=PAnsiChar}
|
||||
{$define SBRAWString:=RawByteString}
|
||||
{$define TStringBuilder:=TAnsiStringBuilder}
|
||||
{$define TGenericStringBuilder:=TAnsiStringBuilder}
|
||||
|
||||
{$i syssbh.inc}
|
||||
{$undef SBChar}
|
||||
@ -315,7 +315,7 @@ Type
|
||||
{$undef TSBCharArray}
|
||||
{$undef PSBChar}
|
||||
{$undef SBRAWString}
|
||||
{$undef TStringBuilder}
|
||||
{$undef TGenericStringBuilder}
|
||||
|
||||
// Unicode version implementation
|
||||
|
||||
@ -325,14 +325,14 @@ Type
|
||||
{$define TSBCharArray:=Array of SBChar}
|
||||
{$define PSBChar:=PWideChar}
|
||||
{$define SBRAWString:=UnicodeString}
|
||||
{$define TStringBuilder:=TUnicodeStringBuilder}
|
||||
{$define TGenericStringBuilder:=TUnicodeStringBuilder}
|
||||
{$i syssbh.inc}
|
||||
{$undef SBChar}
|
||||
{$undef SBString}
|
||||
{$undef TSBCharArray}
|
||||
{$undef PSBChar}
|
||||
{$undef SBRAWString}
|
||||
{$undef TStringBuilder}
|
||||
{$undef TGenericStringBuilder}
|
||||
{$undef SBUNICODE}
|
||||
|
||||
Type
|
||||
|
Loading…
Reference in New Issue
Block a user