From kde-commits Thu Apr 30 22:25:35 2015 From: Sergio Martins Date: Thu, 30 Apr 2015 22:25:35 +0000 To: kde-commits Subject: [kcalcore] src: Add lots of missing QVector::reserve() Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=143043274516046 Git commit 2ea428dc082314887859dc56c03e175064eeed51 by Sergio Martins. Committed on 30/04/2015 at 22:25. Pushed by smartins into branch 'master'. Add lots of missing QVector::reserve() M +2 -0 src/calendar.cpp M +6 -2 src/incidence.cpp M +2 -0 src/incidencebase.cpp M +5 -0 src/memorycalendar.cpp M +2 -0 src/recurrence.cpp http://commits.kde.org/kcalcore/2ea428dc082314887859dc56c03e175064eeed51 diff --git a/src/calendar.cpp b/src/calendar.cpp index b247b0e..3110c68 100644 --- a/src/calendar.cpp +++ b/src/calendar.cpp @@ -1029,6 +1029,7 @@ void Calendar::setupRelations(const Incidence::Ptr &f= orincidence) // First, go over the list of orphans and see if this is their parent Incidence::List l =3D values(d->mOrphans, uid); d->mOrphans.remove(uid); + d->mIncidenceRelations[uid].reserve(l.count()); for (int i =3D 0, end =3D l.count(); i < end; ++i) { d->mIncidenceRelations[uid].append(l[i]); d->mOrphanUids.remove(l[i]->uid()); @@ -1350,6 +1351,7 @@ Incidence::List Calendar::mergeIncidenceList(const Ev= ent::List &events, const Journal::List &journals) { Incidence::List incidences; + incidences.reserve(events.count() + todos.count() + journals.count()); = int i, end; for (i =3D 0, end =3D events.count(); i < end; ++i) { diff --git a/src/incidence.cpp b/src/incidence.cpp index 78ddd5c..ab380ad 100644 --- a/src/incidence.cpp +++ b/src/incidence.cpp @@ -127,13 +127,15 @@ public: // Alarms and Attachments are stored in ListBase<...>, which is a = QValueList<...*>. // We need to really duplicate the objects stored therein, otherwi= se deleting // i will also delete all attachments from this object (setAutoDel= ete...) - foreach (Alarm::Ptr alarm, src.d->mAlarms) { + mAlarms.reserve(src.d->mAlarms.count()); + foreach (const Alarm::Ptr &alarm, src.d->mAlarms) { Alarm::Ptr b(new Alarm(*alarm.data())); b->setParent(dest); mAlarms.append(b); } = - foreach (Attachment::Ptr attachment, src.d->mAttachments) { + mAttachments.reserve(src.d->mAttachments.count()); + foreach (const Attachment::Ptr &attachment, src.d->mAttachments) { Attachment::Ptr a(new Attachment(*attachment)); mAttachments.append(a); } @@ -1158,12 +1160,14 @@ void Incidence::deserialize(QDataStream &in) d->mAttachments.clear(); d->mAlarms.clear(); = + d->mAttachments.reserve(attachmentCount); for (int i =3D 0; i < attachmentCount; ++i) { Attachment::Ptr attachment =3D Attachment::Ptr(new Attachment(QStr= ing())); in >> attachment; d->mAttachments.append(attachment); } = + d->mAlarms.reserve(alarmCount); for (int i =3D 0; i < alarmCount; ++i) { Alarm::Ptr alarm =3D Alarm::Ptr(new Alarm(this)); in >> alarm; diff --git a/src/incidencebase.cpp b/src/incidencebase.cpp index 501f231..e6bcc3f 100644 --- a/src/incidencebase.cpp +++ b/src/incidencebase.cpp @@ -113,6 +113,7 @@ void IncidenceBase::Private::init(const Private &other) = mAttendees.clear(); Attendee::List::ConstIterator it; + mAttendees.reserve(other.mAttendees.count()); for (it =3D other.mAttendees.constBegin(); it !=3D other.mAttendees.co= nstEnd(); ++it) { mAttendees.append(Attendee::Ptr(new Attendee(*(*it)))); } @@ -732,6 +733,7 @@ QDataStream &KCalCore::operator>>(QDataStream &in, cons= t KCalCore::IncidenceBase >> i->d->mUrl; = i->d->mAttendees.clear(); + i->d->mAttendees.reserve(attendeeCount); for (int it =3D 0; it < attendeeCount; it++) { Attendee::Ptr attendee =3D Attendee::Ptr(new Attendee(QString(), Q= String())); in >> attendee; diff --git a/src/memorycalendar.cpp b/src/memorycalendar.cpp index 4aa24c6..10e093f 100644 --- a/src/memorycalendar.cpp +++ b/src/memorycalendar.cpp @@ -346,6 +346,7 @@ Todo::List MemoryCalendar::rawTodos(TodoSortField sortF= ield, SortDirection sortDirection) const { Todo::List todoList; + todoList.reserve(d->mIncidences[Incidence::TypeTodo].count()); QHashIteratori(d->mIncidences[Incidence::Type= Todo]); while (i.hasNext()) { i.next(); @@ -362,6 +363,7 @@ Todo::List MemoryCalendar::deletedTodos(TodoSortField s= ortField, } = Todo::List todoList; + todoList.reserve(d->mDeletedIncidences[Incidence::TypeTodo].count()); QHashIteratori(d->mDeletedIncidences[Inciden= ce::TypeTodo]); while (i.hasNext()) { i.next(); @@ -705,6 +707,7 @@ Event::List MemoryCalendar::rawEvents(EventSortField so= rtField, SortDirection sortDirection) const { Event::List eventList; + eventList.reserve(d->mIncidences[Incidence::TypeEvent].count()); QHashIterator i(d->mIncidences[Incidence::Typ= eEvent]); while (i.hasNext()) { i.next(); @@ -721,6 +724,7 @@ Event::List MemoryCalendar::deletedEvents(EventSortFiel= d sortField, } = Event::List eventList; + eventList.reserve(d->mDeletedIncidences[Incidence::TypeEvent].count()); QHashIteratori(d->mDeletedIncidences[Incidenc= e::TypeEvent]); while (i.hasNext()) { i.next(); @@ -793,6 +797,7 @@ Journal::List MemoryCalendar::deletedJournals(JournalSo= rtField sortField, } = Journal::List journalList; + journalList.reserve(d->mDeletedIncidences[Incidence::TypeJournal].coun= t()); QHashIteratori(d->mDeletedIncidences[Incidenc= e::TypeJournal]); while (i.hasNext()) { i.next(); diff --git a/src/recurrence.cpp b/src/recurrence.cpp index 5b64c4d..b166a5a 100644 --- a/src/recurrence.cpp +++ b/src/recurrence.cpp @@ -121,11 +121,13 @@ Recurrence::Recurrence(const Recurrence &r) d(new KCalCore::Recurrence::Private(*r.d)) { int i, end; + d->mRRules.reserve(r.d->mRRules.count()); for (i =3D 0, end =3D r.d->mRRules.count(); i < end; ++i) { RecurrenceRule *rule =3D new RecurrenceRule(*r.d->mRRules[i]); d->mRRules.append(rule); rule->addObserver(this); } + d->mExRules.reserve(r.d->mExRules.count()); for (i =3D 0, end =3D r.d->mExRules.count(); i < end; ++i) { RecurrenceRule *rule =3D new RecurrenceRule(*r.d->mExRules[i]); d->mExRules.append(rule);