Use v.data() instead of &v[0] for C interop
commit336bf9126a04d48fa84e3bc09704f12d17bb5d66
authorTeemu Murtola <teemu.murtola@gmail.com>
Sat, 21 Nov 2015 12:00:57 +0000 (21 14:00 +0200)
committerTeemu Murtola <teemu.murtola@gmail.com>
Sat, 21 Nov 2015 12:00:57 +0000 (21 14:00 +0200)
tree66e2bf64ec4591a5a4e11993fe9af96caf68baaf
parent0e90021ae8a0c9673666f8ee8bfdcf0ad24f69b5
Use v.data() instead of &v[0] for C interop

When passing std::vector arrays to C code, use C++11 .data() instead of
&v[0], since this works also for empty arrays, even with various debug
versions of STL.

arrayref.h still has an &v[0] protected by an emptiness check, since
that is a potentially widely used header.

Change-Id: I3a342a0086c7d0f101c9a91227625c062bedfd5e
17 files changed:
src/gromacs/analysisdata/modules/plot.cpp
src/gromacs/correlationfunctions/tests/autocorr.cpp
src/gromacs/fileio/tests/confio.cpp
src/gromacs/math/tests/vectypes.cpp
src/gromacs/mdlib/tests/shake.cpp
src/gromacs/selection/nbsearch.cpp
src/gromacs/selection/nbsearch.h
src/gromacs/selection/tests/nbsearch.cpp
src/gromacs/simd/tests/bootstrap_loadstore.cpp
src/gromacs/trajectoryanalysis/modules/rdf.cpp
src/gromacs/trajectoryanalysis/modules/sasa.cpp
src/gromacs/trajectoryanalysis/modules/select.cpp
src/gromacs/trajectoryanalysis/modules/surfacearea.cpp
src/gromacs/trajectoryanalysis/tests/surfacearea.cpp
src/gromacs/utility/stringutil.cpp
src/gromacs/utility/tests/arrayref.cpp
src/testutils/mpi-printer.cpp