subsurface/core
Berthold Stoeger 27dbdd35c6 core: turn event-list of divecomputer into std::vector<>
This is a rather long commit, because it refactors lots of the event
code from pointer to value semantics: pointers to entries in an
std::vector<> are not stable, so better use indexes.

To step through the event-list at diven time stamps, add *_loop classes,
which encapsulate state that had to be manually handled before by
the caller. I'm not happy about the interface, but it tries to
mirror the one we had before.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2024-08-13 19:28:30 +02:00
..
settings Equipment: Include Unused Tanks in Merge if Preference is Enabled. 2023-07-25 11:19:03 +12:00
subsurface-qt selection: move dive selection, current dive and dc through signals 2023-04-16 20:23:59 +02:00
android.cpp cleanup: remove unnecessary Q_UNUSED macros 2024-08-13 19:28:30 +02:00
btdiscovery.cpp import: turn C-string in device_data_t into std::strings 2024-08-13 19:28:30 +02:00
btdiscovery.h import: turn C-string in device_data_t into std::strings 2024-08-13 19:28:30 +02:00
checkcloudconnection.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
checkcloudconnection.h cloudstorage: try alternative server if first connection fails 2021-04-19 12:51:01 -07:00
cloudstorage.cpp Replace qDebug() by report_info() in core/cloudstorage.cpp 2024-04-23 07:47:11 +07:00
cloudstorage.h mobile: add ability to delete cloud account 2022-08-13 14:08:37 -07:00
CMakeLists.txt core: remove ssrf.h include file 2024-08-13 19:28:30 +02:00
cochran.cpp core: use std::vector<> to store divecomputer samples 2024-08-13 19:28:30 +02:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp profile: rename GF_LINE color to DURATION_LINE 2021-05-08 13:40:24 +02:00
color.h cleanup: remove enum typedef in color.h 2024-08-13 19:28:30 +02:00
compressibility.r
configuredivecomputer.cpp import: turn C-string in device_data_t into std::strings 2024-08-13 19:28:30 +02:00
configuredivecomputer.h computer configuration: use value semantics for DeviceDetails 2024-03-24 17:53:19 +01:00
configuredivecomputerthreads.cpp computer configuration: use value semantics for DeviceDetails 2024-03-24 17:53:19 +01:00
configuredivecomputerthreads.h computer configuration: use value semantics for DeviceDetails 2024-03-24 17:53:19 +01:00
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.cpp core: add constructor/destructor pairs to dive and divecomputer 2024-08-13 19:28:30 +02:00
datatrak.h core: turn a memblock in the parser to std::string 2024-03-10 11:01:42 +13:00
deco.cpp core: return pressures structure from fill_pressures() 2024-08-13 19:28:30 +02:00
deco.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
device.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
device.h core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
devicedetails.cpp computer configuration: use value semantics for DeviceDetails 2024-03-24 17:53:19 +01:00
devicedetails.h computer configuration: use value semantics for DeviceDetails 2024-03-24 17:53:19 +01:00
dive.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
dive.h core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
divecomputer.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
divecomputer.h core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
divefilter.cpp map: use value semantics for MapLocation 2024-08-13 19:28:30 +02:00
divefilter.h map: use value semantics for MapLocation 2024-08-13 19:28:30 +02:00
divelist.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
divelist.h divelog: turn owning-pointers into unique_ptr<>s 2024-08-13 19:28:30 +02:00
divelog.cpp divelog: turn owning-pointers into unique_ptr<>s 2024-08-13 19:28:30 +02:00
divelog.h divelog: turn owning-pointers into unique_ptr<>s 2024-08-13 19:28:30 +02:00
divelogexportlogic.cpp core: C++-ify statistics.c 2024-08-13 19:28:30 +02:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite.cpp cleanup: pass location_t as value to divesite functions 2024-08-13 19:28:30 +02:00
divesite.h cleanup: pass location_t as value to divesite functions 2024-08-13 19:28:30 +02:00
divesitehelpers.cpp core: convert taxonomy.c to C++ 2024-08-13 19:28:30 +02:00
divesitehelpers.h [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
downloadfromdcthread.cpp core: move freestanding functions into divelog class 2024-08-13 19:28:30 +02:00
downloadfromdcthread.h uemis: replace C-strings by std::string and std::string_view 2024-08-13 19:28:30 +02:00
equipment.cpp core: default initialize units-type objects to 0 2024-08-13 19:28:30 +02:00
equipment.h core: remove typedefs in equipment.h 2024-08-13 19:28:30 +02:00
errorhelper.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
errorhelper.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
event.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
event.h core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
eventtype.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
eventtype.h core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
extradata.h core: convert dive computer extra data to C++ 2024-08-13 19:28:30 +02:00
file.cpp core: remove ssrf.h include file 2024-08-13 19:28:30 +02:00
file.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
filterconstraint.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
filterconstraint.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
filterpreset.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
filterpreset.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
format.cpp core: remove put_format_loc() 2024-05-31 18:55:47 +02:00
format.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
fulltext.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
fulltext.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
gas-model.cpp core: convert gas-model.c to C++ 2024-08-13 19:28:30 +02:00
gas.cpp core: return pressures structure from fill_pressures() 2024-08-13 19:28:30 +02:00
gas.h core: return pressures structure from fill_pressures() 2024-08-13 19:28:30 +02:00
gaspressures.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
gaspressures.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
gettext.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
gettextfromc.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
gettextfromc.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
git-access.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
git-access.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
globals.cpp core: add class that collects global objects to be deleted on exit 2022-03-16 13:06:06 -07:00
globals.h core: add class that collects global objects to be deleted on exit 2022-03-16 13:06:06 -07:00
imagedownloader.cpp core: default initialize units-type objects to 0 2024-08-13 19:28:30 +02:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
import-csv.cpp core: use std::vector<> to store divecomputer samples 2024-08-13 19:28:30 +02:00
import-csv.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
import-divinglog.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
import-seac.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
import-shearwater.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
import-suunto.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
interpolate.h cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
ios.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
libdivecomputer.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
libdivecomputer.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
liquivision.cpp core: use std::vector<> to store divecomputer samples 2024-08-13 19:28:30 +02:00
load-git.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
macos.cpp core: remove ssrf.h include file 2024-08-13 19:28:30 +02:00
membuffer.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
membuffer.h core: remove membufferpp 2024-08-13 19:28:30 +02:00
metadata.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
metadata.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
metrics.cpp core: remove DPR from IconMetrics class 2021-12-17 11:54:23 -08:00
metrics.h core: remove DPR from IconMetrics class 2021-12-17 11:54:23 -08:00
namecmp.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
ostctools.cpp core: convert dive computer extra data to C++ 2024-08-13 19:28:30 +02:00
owning_ptrs.h core: add constructor/destructor pairs to dive and divecomputer 2024-08-13 19:28:30 +02:00
owning_table.h core: replace divesite_table_t by a vector of std::unique_ptr<>s 2024-08-13 19:28:30 +02:00
parse-gpx.cpp cleanup: replace fprintf to stderr by report_info() 2024-04-23 07:47:11 +07:00
parse-gpx.h cleanup: more Coverity silencing 2024-01-17 14:23:19 -08:00
parse-xml.cpp core: convert dive computer extra data to C++ 2024-08-13 19:28:30 +02:00
parse.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
parse.h core: add constructor/destructor pairs to dive and divecomputer 2024-08-13 19:28:30 +02:00
picture.cpp core: convert picture.c to C++ 2024-08-13 19:28:30 +02:00
picture.h core: default initialize units-type objects to 0 2024-08-13 19:28:30 +02:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
planner.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
plannernotes.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
pref.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
pref.h core: remove typedefs in pref.h 2024-08-13 19:28:30 +02:00
profile.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
profile.h core: default initialize units-type objects to 0 2024-08-13 19:28:30 +02:00
qt-ble.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
qt-ble.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
qt-gui.h mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
qt-init.cpp Replace qDebug() by report_info() in qt-init.cpp 2024-04-23 07:47:11 +07:00
qthelper.cpp divelog: turn owning-pointers into unique_ptr<>s 2024-08-13 19:28:30 +02:00
qthelper.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
qtserialbluetooth.cpp cleanup: remove typedef in qtserialbluetooth.cpp 2024-08-13 19:28:30 +02:00
range.h core: use std::vector<> to store divecomputer samples 2024-08-13 19:28:30 +02:00
sample.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
sample.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
save-git.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
save-html.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
save-html.h core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
save-profiledata.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
save-profiledata.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
save-xml.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
selection.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
selection.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
serial_ftdi.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
serial_usb_android.cpp Cleanup: Remove 'context' Reference from Logging Defines. 2024-05-16 16:39:48 +02:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.cpp core: C++-ify SHA1 interface 2024-08-13 19:28:30 +02:00
sha1.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
statistics.cpp core: turn event-list of divecomputer into std::vector<> 2024-08-13 19:28:30 +02:00
statistics.h core: default initialize units-type objects to 0 2024-08-13 19:28:30 +02:00
string-format.cpp core: convert taxonomy.c to C++ 2024-08-13 19:28:30 +02:00
string-format.h profile: make event hiding persistent across change of dive 2024-02-23 09:46:16 -08:00
strtod.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
structured_list.h core: convert dive.c to C++ 2024-03-10 11:01:42 +13:00
subsurface-float.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
subsurface-string.cpp Use std::vector<string> instead of QStringList in main() 2024-04-23 07:47:11 +07:00
subsurface-string.h map: use value semantics for MapLocation 2024-08-13 19:28:30 +02:00
subsurface-time.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
subsurfacestartup.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
subsurfacestartup.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
subsurfacesysinfo.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
subsurfacesysinfo.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
table.h core: convert divesite.c to C++ 2024-08-13 19:28:30 +02:00
tag.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
tag.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
taxonomy.cpp core: move constructLocationTags from divesite.cpp to taxonomy.cpp 2024-08-13 19:28:30 +02:00
taxonomy.h core: move constructLocationTags from divesite.cpp to taxonomy.cpp 2024-08-13 19:28:30 +02:00
time.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
trip.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
trip.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
uemis-downloader.cpp core: turn string data in struct divecomputer into std::string 2024-08-13 19:28:30 +02:00
uemis.cpp core: use std::vector<> to store divecomputer samples 2024-08-13 19:28:30 +02:00
uemis.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
units.cpp core: move get_distance() from divesite.cpp to units.cpp 2024-08-13 19:28:30 +02:00
units.h core: remove typedefs in units.h 2024-08-13 19:28:30 +02:00
unix.cpp core: remove ssrf.h include file 2024-08-13 19:28:30 +02:00
uploadDiveLogsDE.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
uploadDiveLogsDE.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
uploadDiveShare.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
uploadDiveShare.h core: remove __cplusplus ifdefs 2024-08-13 19:28:30 +02:00
version.cpp general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
version.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
videoframeextractor.cpp core: default initialize units-type objects to 0 2024-08-13 19:28:30 +02:00
videoframeextractor.h
webservice.h general: remove (void) function parameter declarations 2024-08-13 19:28:30 +02:00
windows.cpp core: remove ssrf.h include file 2024-08-13 19:28:30 +02:00
windowtitleupdate.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
windowtitleupdate.h
worldmap-options.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.cpp core: remove membufferpp 2024-08-13 19:28:30 +02:00
worldmap-save.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
xmlparams.cpp build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
xmlparams.h build: remove extern "C" linkage 2024-08-13 19:28:30 +02:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00