BasicString.insert

Inserts additional characters into the BasicString right before the character indicated by pos or ptr.

Return number of inserted characters.

If parameters are out of range then there is no inserted value and in debug mode assert throw error.

Parameters are out of range if pos is larger then .length or ptr is smaller then this.ptr or ptr point to address larger then this.ptr + this.length

  1. size_t insert(size_t pos, CharType[] val, size_t count)
  2. size_t insert(size_t pos, Val val, size_t count)
  3. size_t insert(CharType* ptr, CharType[] val, size_t count)
    struct BasicString
    scope
    size_t
    insert
    (
    const CharType* ptr
    ,
    const scope CharType[] val
    ,
    const size_t count = 1
    )
  4. size_t insert(CharType* ptr, Val val, size_t count)

Examples

{
	BasicString!char str = "123456";

	str.insert(2, 'x', 2);
	assert(str == "12xx3456");
}

{
	BasicString!char str = "123456";

	str.insert(2, "abc");
	assert(str == "12abc3456");
}

{
	BasicString!char str = "123456";
	BasicString!char str2 = "abc";

	str.insert(2, str2);
	assert(str == "12abc3456");
}

{
	BasicString!char str = "123456";

	str.insert(str.ptr + 2, 'x', 2);
	assert(str == "12xx3456");
}

{
	BasicString!char str = "123456";

	str.insert(str.ptr + 2, "abc");
	assert(str == "12abc3456");
}

{
	BasicString!char str = "123456";
	BasicString!char str2 = "abc";

	str.insert(str.ptr + 2, str2);
	assert(str == "12abc3456");
}

Meta