public PhpString /*!*/ Append(char c) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString(), cow.Builder.Length + 1); } cow.Builder.Append(c); return(this); }
internal void SetCharUnchecked(int index, char value) { Debug.Assert(index >= 0 && index < this.Length); if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString()); } cow.Builder[index] = value; }
public PhpString /*!*/ Prepend(string str) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(str, cow.Builder.ToString()); } else { cow.Builder.Insert(0, str); } return(this); }
public PhpString /*!*/ Append(string str) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString(), str); } else { cow.Builder.Append(str); } return(this); }
public PhpString /*!*/ Append(char c, int count) { if (count < 0) { throw new ArgumentOutOfRangeException("count"); } if (count > 0) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString(), cow.Builder.Length + count); } cow.Builder.Append(c, count); } return(this); }
public PhpString/*!*/ Prepend(string str) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(str, cow.Builder.ToString()); } else { cow.Builder.Insert(0, str); } return this; }
public PhpString/*!*/ Append(char c, int count) { if (count < 0) throw new ArgumentOutOfRangeException("count"); if (count > 0) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString(), cow.Builder.Length + count); } cow.Builder.Append(c, count); } return this; }
public PhpString/*!*/ Append(char c) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString(), cow.Builder.Length + 1); } cow.Builder.Append(c); return this; }
public PhpString/*!*/ Append(string str) { if (cow.IsShared) { cow.Unshare(); cow = new CowStringBuilder(cow.Builder.ToString(), str); } else { cow.Builder.Append(str); } return this; }
/// <summary> /// Initialize PhpString with two string values that will be concatenated. /// </summary> /// <param name="str1">First string value.</param> /// <param name="str2">Second string value.</param> public PhpString(string str1, string str2) { this.cow = new CowStringBuilder(str1, str2); }
/// <summary> /// Lazy copy construction. /// </summary> /// <param name="phps"></param> private PhpString(PhpString phps) { this.cow = phps.cow.Share(); }