[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kcalcore] src: Add lots of missing QVector::reserve()
From:       Sergio Martins <iamsergio () gmail ! com>
Date:       2015-04-30 22:25:35
Message-ID: E1Ynwtj-0001v7-SS () scm ! kde ! org
[Download RAW message or body]

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 &forincidence)
     // First, go over the list of orphans and see if this is their parent
     Incidence::List l = values(d->mOrphans, uid);
     d->mOrphans.remove(uid);
+    d->mIncidenceRelations[uid].reserve(l.count());
     for (int i = 0, end = 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 Event::List &events,
         const Journal::List &journals)
 {
     Incidence::List incidences;
+    incidences.reserve(events.count() + todos.count() + journals.count());
 
     int i, end;
     for (i = 0, end = 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, otherwise deleting
         // i will also delete all attachments from this object (setAutoDelete...)
-        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 = 0; i < attachmentCount; ++i) {
         Attachment::Ptr attachment = Attachment::Ptr(new Attachment(QString()));
         in >> attachment;
         d->mAttachments.append(attachment);
     }
 
+    d->mAlarms.reserve(alarmCount);
     for (int i = 0; i < alarmCount; ++i) {
         Alarm::Ptr alarm = 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 = other.mAttendees.constBegin(); it != other.mAttendees.constEnd(); ++it) {
         mAttendees.append(Attendee::Ptr(new Attendee(*(*it))));
     }
@@ -732,6 +733,7 @@ QDataStream &KCalCore::operator>>(QDataStream &in, const KCalCore::IncidenceBase
        >> i->d->mUrl;
 
     i->d->mAttendees.clear();
+    i->d->mAttendees.reserve(attendeeCount);
     for (int it = 0; it < attendeeCount; it++) {
         Attendee::Ptr attendee = Attendee::Ptr(new Attendee(QString(), QString()));
         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 sortField,
                                     SortDirection sortDirection) const
 {
     Todo::List todoList;
+    todoList.reserve(d->mIncidences[Incidence::TypeTodo].count());
     QHashIterator<QString, Incidence::Ptr>i(d->mIncidences[Incidence::TypeTodo]);
     while (i.hasNext()) {
         i.next();
@@ -362,6 +363,7 @@ Todo::List MemoryCalendar::deletedTodos(TodoSortField sortField,
     }
 
     Todo::List todoList;
+    todoList.reserve(d->mDeletedIncidences[Incidence::TypeTodo].count());
     QHashIterator<QString, Incidence::Ptr >i(d->mDeletedIncidences[Incidence::TypeTodo]);
     while (i.hasNext()) {
         i.next();
@@ -705,6 +707,7 @@ Event::List MemoryCalendar::rawEvents(EventSortField sortField,
                                       SortDirection sortDirection) const
 {
     Event::List eventList;
+    eventList.reserve(d->mIncidences[Incidence::TypeEvent].count());
     QHashIterator<QString, Incidence::Ptr> i(d->mIncidences[Incidence::TypeEvent]);
     while (i.hasNext()) {
         i.next();
@@ -721,6 +724,7 @@ Event::List MemoryCalendar::deletedEvents(EventSortField sortField,
     }
 
     Event::List eventList;
+    eventList.reserve(d->mDeletedIncidences[Incidence::TypeEvent].count());
     QHashIterator<QString, Incidence::Ptr>i(d->mDeletedIncidences[Incidence::TypeEvent]);
     while (i.hasNext()) {
         i.next();
@@ -793,6 +797,7 @@ Journal::List MemoryCalendar::deletedJournals(JournalSortField sortField,
     }
 
     Journal::List journalList;
+    journalList.reserve(d->mDeletedIncidences[Incidence::TypeJournal].count());
     QHashIterator<QString, Incidence::Ptr>i(d->mDeletedIncidences[Incidence::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 = 0, end = r.d->mRRules.count();  i < end;  ++i) {
         RecurrenceRule *rule = new RecurrenceRule(*r.d->mRRules[i]);
         d->mRRules.append(rule);
         rule->addObserver(this);
     }
+    d->mExRules.reserve(r.d->mExRules.count());
     for (i = 0, end = r.d->mExRules.count();  i < end;  ++i) {
         RecurrenceRule *rule = new RecurrenceRule(*r.d->mExRules[i]);
         d->mExRules.append(rule);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic