// SPDX-License-Identifier: GPL-2.0 // A structure that contains all the data we store in a divelog files #ifndef DIVELOG_H #define DIVELOG_H #include struct dive_table; struct trip_table; class dive_site_table; struct device_table; struct filter_preset_table; struct divelog { std::unique_ptr dives; std::unique_ptr trips; std::unique_ptr sites; std::unique_ptr devices; std::unique_ptr filter_presets; bool autogroup; divelog(); ~divelog(); divelog(divelog &&); // move constructor (argument is consumed). divelog &operator=(divelog &&); // move assignment (argument is consumed). void delete_single_dive(int idx); void clear(); }; extern struct divelog divelog; #endif