Commit graph

19 commits

Author SHA1 Message Date
783ed0f881 Added notes to the ftsort.cpp file about optimal memory-limit value 2024-10-28 18:35:43 +03:00
ad976a5a9e Added using directives to avoid excessive namespaecs
Added explicit include directories to each file, even if an already included header defined them
Removed using directives from header files
2024-10-28 12:32:14 +02:00
f8bfc78cad Updated README.md to include additional info about this project
Implemented reading settings from config file
ftsort now outputs total runtime in ms and peak virtual memory usage
Added some error handling
Added documenation to tape_config.h
Changed catch2 cmake dependency to be resolved using FetchContent
Added generate_input test binary to generate big input tape data sets
Header inclusion path changed to _include_ directory, so that tapelib has to be explicitly specified in include directrives
2024-10-28 05:23:42 +03:00
d7bcbbfd08 Renamed CmdArgs to AppSettings 2024-10-27 18:53:34 +03:00
8f18f9ef8f Made source files explicitly specified instead of globbing in cmake files
Moved ftsort sources to bin/ftsort
Moved tape_config.h into bin/ftsort
Implemented command line parsing for ftsort in tape_config.cpp
ftsort binary is in working state
2024-10-27 16:17:16 +03:00
33fee958a5 Removed clang-tidy check for do-while loops
Added 2 new constructors for FileTape which copy the size of existing tape into a new one
Implemented external sort of a Tape using heap sort
Rewritten FileTape constructors implementation to better take advantage of existing constructor calls
Added const to some parameters to indicate their immutability
Added unit tests for external_sort
2024-10-27 05:18:23 +02:00
c2f46935dc Readme typo fix 2024-10-26 16:14:41 +03:00
4397e519bf Added FileTape constuctor that initializes FileTape from vector of uint32_t
Slight rewrite of fill_file_with_empty_cells
Adjusted seek offset in some FileTape operations
Unit tests now work with vector of uint32_t as source of test data
2024-10-26 16:10:14 +03:00
680ec28b57 Added file_name and temp fields to FileTape
Removed explicit keyword before every constructor in FileTape
Added getters for private fields in FileTape
Made Tape's copy construcot marked as delete by default
Implemented custom destrucor for FileTape
Added explicit move and copy constructors to FileTape
Added generate_tmp_file_name method to tape namespace
Removed assets directory from tests - testing data should be provided in the test's cpp file
2024-10-26 04:23:11 +03:00
f3aaa26df8 Chaged FileSettings delays type to std::chrono:milliseconds
Changed file format for a FileTape - added and example in the class comment
Removed prev_line_pos and at_first_line fields from FieldTape
Changed Tape data type from int32_t to uint32_t
Cleand up includes
Implemented FileTape methods
Unit tests are in working state
2024-10-25 06:56:52 +03:00
0e49b35f12 Added delimeter and settings constants to FileTape
Removed unneccesary copy and move constructors
Added constructor for tmp FileTape
Added Catch2 for unit testing
Added example unit tests
2024-10-24 17:48:55 +03:00
cab1b88a77 Restuctured source tree - added bin and tests directories
Disabled warnings as errors
bumped the cmake min version to 3.12 for c++20 support and -j flag
Placed a CMakeLists.txt in each subdirectory of the project
2024-10-24 04:25:45 +03:00
e16a1a6f6e Integrated clang-tidy into cmake
Enabled warnings as errors when building project target
Changed checks for clang-tidy
Changed indentation from 2 spaces to 4 in clang-format
Added pre-commit hook to apply clang-format formatting to the source tree
2024-10-23 14:41:12 +03:00
afbdb87f54 Lower cmake version for compatability 2024-10-23 10:34:22 +03:00
5f9f6d2e92 Added tape namespace to all tape-related declarations
Added tapeutil header and source file for sorting methods
Added FileTapeSettings struct to store delay settings for a file tape
2024-10-22 03:24:13 +03:00
967a208e4a Added default constructor to Tape to fix compilation issues 2024-10-21 11:12:24 +03:00
363778019e Added clang-format and clang-tidy 2024-10-21 11:03:12 +03:00
a80da53d0c Added README 2024-10-19 05:44:57 +03:00
cb3b7ff3d9 Initial commit 2024-10-19 05:36:22 +03:00