Add a few C++ helper classes/macros.
authorTeemu Murtola <teemu.murtola@gmail.com>
Sun, 19 Feb 2012 12:11:17 +0000 (14:11 +0200)
committerTeemu Murtola <teemu.murtola@gmail.com>
Thu, 23 Feb 2012 17:30:33 +0000 (19:30 +0200)
commit8c01f81bf80991d65e817714856bdddd8e0f43f0
tree7f1c9ee65e8b2f86d78177b340736051cc3a4cab
parent5a963a9c363c1dd81dba5c845b218b7e4bb9cd2d
Add a few C++ helper classes/macros.

- Macros to disable copying and/or assignment for a class. Although we
  don't want to use macros in general, I think for this purpose the
  macros actually make the code more readable (and also easier to
  write).
- Simple smart pointer class (that wraps boost::scoped_ptr) to help
  manage private implementation classes.  In addition to managing the
  memory and flagging common errors (like boost::scoped_ptr already
  does), it makes the compiler issue errors when the implementation
  class is modified in a const method.

Took them into use throughout the C++ code and fixed a few constness
issues.

Change-Id: Ifa9654e3a4c1979c15457ad07f7bf0462e13472f
43 files changed:
src/gromacs/analysisdata/abstractdata-impl.h
src/gromacs/analysisdata/abstractdata.cpp
src/gromacs/analysisdata/abstractdata.h
src/gromacs/analysisdata/analysisdata.cpp
src/gromacs/analysisdata/analysisdata.h
src/gromacs/analysisdata/datastorage.cpp
src/gromacs/analysisdata/datastorage.h
src/gromacs/analysisdata/modules/displacement.cpp
src/gromacs/analysisdata/modules/displacement.h
src/gromacs/analysisdata/modules/histogram.cpp
src/gromacs/analysisdata/modules/histogram.h
src/gromacs/analysisdata/modules/plot.cpp
src/gromacs/analysisdata/modules/plot.h
src/gromacs/analysisdata/tests/mock_module.cpp
src/gromacs/analysisdata/tests/mock_module.h
src/gromacs/fatalerror/messagestringcollector.cpp
src/gromacs/fatalerror/messagestringcollector.h
src/gromacs/options/abstractoptionstorage.h
src/gromacs/options/asciihelpwriter.cpp
src/gromacs/options/asciihelpwriter.h
src/gromacs/options/cmdlineparser.cpp
src/gromacs/options/cmdlineparser.h
src/gromacs/options/optioninfo.h
src/gromacs/options/options.cpp
src/gromacs/options/options.h
src/gromacs/options/optionsassigner.cpp
src/gromacs/options/optionsassigner.h
src/gromacs/options/optionsvisitor.h
src/gromacs/selection/selection.h
src/gromacs/selection/selectioncollection.cpp
src/gromacs/selection/selectioncollection.h
src/gromacs/trajectoryanalysis/analysismodule.cpp
src/gromacs/trajectoryanalysis/analysismodule.h
src/gromacs/trajectoryanalysis/analysissettings.cpp
src/gromacs/trajectoryanalysis/analysissettings.h
src/gromacs/trajectoryanalysis/cmdlinerunner.cpp
src/gromacs/trajectoryanalysis/cmdlinerunner.h
src/gromacs/trajectoryanalysis/runnercommon.cpp
src/gromacs/trajectoryanalysis/runnercommon.h
src/gromacs/utility/CMakeLists.txt
src/gromacs/utility/common.h [new file with mode: 0644]
src/testutils/refdata.cpp
src/testutils/refdata.h