D8588: Make VCS data container classes implicitly shared

Friedrich W. H. Kossebau noreply at phabricator.kde.org
Wed Nov 1 09:34:01 UTC 2017


kossebau created this revision.
kossebau added a reviewer: KDevelop.
Restricted Application added a subscriber: kdevelop-devel.

REVISION SUMMARY
  Also
  
  - rely on default implementation of copy constructor to copy all data on forking the internal data objects
  - mark as movable types for improved handling in Qt containers
  
  Object of these classes are created in one place and then passed around
  for read-only consumption. They are passed by value in method return
  arguments and stored by value. As the classes already have a private
  object for pimpl, making this an implicitly shared one is a small step.

REPOSITORY
  R32 KDevelop

BRANCH
  makedataobjectimplicitelyshared

REVISION DETAIL
  https://phabricator.kde.org/D8588

AFFECTED FILES
  kdevplatform/vcs/CMakeLists.txt
  kdevplatform/vcs/tests/CMakeLists.txt
  kdevplatform/vcs/tests/test_vcsannotation.cpp
  kdevplatform/vcs/tests/test_vcsannotation.h
  kdevplatform/vcs/tests/test_vcsannotationline.cpp
  kdevplatform/vcs/tests/test_vcsannotationline.h
  kdevplatform/vcs/tests/test_vcsdiff.cpp
  kdevplatform/vcs/tests/test_vcsdiff.h
  kdevplatform/vcs/tests/test_vcsevent.cpp
  kdevplatform/vcs/tests/test_vcsevent.h
  kdevplatform/vcs/tests/test_vcsitemevent.cpp
  kdevplatform/vcs/tests/test_vcsitemevent.h
  kdevplatform/vcs/tests/test_vcsrevision.cpp
  kdevplatform/vcs/tests/test_vcsrevision.h
  kdevplatform/vcs/tests/test_vcsstatusinfo.cpp
  kdevplatform/vcs/tests/test_vcsstatusinfo.h
  kdevplatform/vcs/vcsannotation.cpp
  kdevplatform/vcs/vcsannotation.h
  kdevplatform/vcs/vcsdiff.cpp
  kdevplatform/vcs/vcsdiff.h
  kdevplatform/vcs/vcsevent.cpp
  kdevplatform/vcs/vcsevent.h
  kdevplatform/vcs/vcsrevision.cpp
  kdevplatform/vcs/vcsrevision.h
  kdevplatform/vcs/vcsstatusinfo.cpp
  kdevplatform/vcs/vcsstatusinfo.h

To: kossebau, #kdevelop
Cc: kdevelop-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20171101/5e84a312/attachment-0001.html>


More information about the KDevelop-devel mailing list