LString &LString::operator +=(LChar c) { if (this->length() + 1 > this->capacity()) { reserve(nextSize()); } this->mData->begin()[this->mData->mSize] = c; ++this->mData->mSize; return *this; }
//starts timer if stopped, adjusts interval if necessary void IRCQueue::adjustTimer() { int msec; msec=getRate().nextInterval(nextSize(), elapsed()); //if (m_myIndex == 0) // KX << _S(msec) << endl; m_timer->start(msec); m_startedAt.start(); return; }
///lets us know we should block output void IRCQueue::serverOnline(bool on) { if (m_blocked!=on) return; m_blocked=!on; if (m_blocked && m_timer->isActive()) reset(); else if (!m_blocked && !m_timer->isActive() && nextSize()) { adjustTimer(); } }
LString &LString::operator +=(const LString &o) { if (o.isEmpty()) return *this; if (this->isEmpty()) { *this = o; return *this; } if (this->length() + o.length() > this->size()) { size_t next = nextSize(); if (next < this->length() + o.length()) { reserve(this->length() + o.length()); } else { reserve(next); } } std::copy(o.mData->begin(), o.mData->end(), this->mData->begin() + this->length()); return *this; }
bool insert(key_type key, value_type value) { lassert(key != 0); typename FourLookupHashTableMutexType<threadsafe>::lock_type lock(mMutex); if (contains(key)) return false; lassert(!contains(key)); if (mTable->insert(key, value)) return true; long newSize = mTable->bucketCount() * 1.25; while (true) { newSize = nextSize(newSize); if (tryToReplaceTableWithSize(newSize, key, value)) return true; } }