[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