/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsTString.h" #include "nsString.h" #include "prdtoa.h" /** * nsTString::SetCharAt */ template bool nsTString::SetCharAt(char16_t aChar, index_type aIndex) { if (aIndex >= this->mLength) { return false; } if (!this->EnsureMutable()) { this->AllocFailed(this->mLength); } this->mData[aIndex] = char_type(aChar); return true; } template void nsTString::Rebind(const char_type* data, size_type length) { // If we currently own a buffer, release it. this->Finalize(); this->SetData(const_cast(data), length, DataFlags::TERMINATED); this->AssertValidDependentString(); } template class nsTString; template class nsTString; template class nsTAutoStringN; template class nsTAutoStringN;