summaryrefslogtreecommitdiff
path: root/src/utils/cpp
AgeCommit message (Collapse)Author
2025-04-22Remove redundant calls to std::filesystem::absoluteMaksim Denisov
...when calling std::filesystem::weakly_canonical, since the latter converts the argument path to an absolute path internally.
2025-04-22FileSystemManager: Always remove directories recursivelyMaksim Denisov
2025-03-24TmpDir: Create temporary filesMaksim Denisov
... and keep parent directories alive while nested directories exist.
2025-03-24TmpDir: Create nested directoriesMaksim Denisov
... and keep parent directories alive while nested directories exist.
2025-03-24TmpDir: minor refactoringMaksim Denisov
2025-03-10Promote IsValidFileName to a public function of the path utilsKlaus Aehlig
... instead of being private to parse_archive.
2025-03-10utils atomic: Update link to libcxx C++20 adoption pagePaul Cristian Sarbu
2025-02-28Modernize conceptsMaksim Denisov
2025-02-21IncrementalReader: Support reading from memoryMaksim Denisov
2025-02-21Implement IncrementalReaderMaksim Denisov
2025-02-21Implement InPlaceVisitorMaksim Denisov
2025-02-19BackMap: Implement GetReferencesMaksim Denisov
2025-02-12BackMap: Resolve collisions.Maksim Denisov
2025-02-12BackMap: make non-copyable and non-movableMaksim Denisov
...and use std::unique_ptr for construction instead of std::optional.
2025-02-07Remove ContentBlobContainer and TransformedRangeMaksim Denisov
2025-02-07Implement BackMapMaksim Denisov
...that is a container of Values mapped to Keys, and supports constant complexity search of a Value by a given Key
2024-12-19Fix cause of minor warningsOliver Reiche
2024-11-14utils: Implement IWYU suggestionsMaksim Denisov
2024-11-14build_engine: Implement IWYU suggestionsPaul Cristian Sarbu
Requires the use of a pragma to avoid wrong removal suggestion for path_hash.hpp. Co-authored-by: Maksim Denisov <denisov.maksim@huawei.com>
2024-10-08Name local variables using lower_caseMaksim Denisov
...and private members using lower_case_
2024-10-08Name value template parameters using kCamelCase.Maksim Denisov
2024-10-08Name constexpr variables using kCamelCase.Maksim Denisov
2024-10-08Name classes, structs and enums using CamelCase.Maksim Denisov
2024-10-07Disable misc-no-recursion checkMaksim Denisov
...since we use recursion for trees a lot, but skip this check manually.
2024-10-07Enable readability-* checks.Maksim Denisov
2024-10-07Enable readability-redundant-member-init check.Maksim Denisov
2024-10-07Enable modernize-* checks.Maksim Denisov
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-09-18Add cast of TransformedRange to std::vectorMaksim Denisov
2024-09-18Add missing #endif comments in headersMaksim Denisov
2024-09-09Remove verify_hash libraryMaksim Denisov
...that is fully replaced by hash_info
2024-09-09Implement HashInfo classMaksim Denisov
...that validates hashes and stores some additional information about them.
2024-08-29async_map_utils: Pass key_printer also for reporting pending tasks...Paul Cristian Sarbu
...in async map instances, same as for reporting cycles. This removes the restriction that the key object has to posses the ToString method, allowing it to be used, e.g., with just-mr maps. The now obsolete HasToString concept is removed.
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
2024-08-07Replace classic C boolean operators with keywordsMaksim Denisov
! => not; && => and, || => or
2024-08-05When using errno, log the actual error messagePaul Cristian Sarbu
For the user it is more useful to see the actual error message, provided by strerror(), than the pure error code.
2024-08-05Add missing cerrno includesPaul Cristian Sarbu
2024-08-01Add a utility function to rewrite path strings relative to a subdirectoryKlaus Aehlig
2024-06-28Add C++ utility classes (un)expectedOliver Reiche
... mimicking C++23's std::(un)expected, so we can more easily adapt to newer C++ standards once we decide to upgrade.
2024-06-17Add utility function for prefixing each line of a stringKlaus Aehlig
... and thus allowing proper quoting of command output.
2024-05-28Implement "on the fly" transformed range.Maksim Denisov
2024-04-11json: support pruningKlaus Aehlig
... by removing from an object the outer keys where the value is null.
2024-04-08Use properly included standard library types by defaultPaul Cristian Sarbu
2024-04-08Consistently guard all POSIX C includesPaul Cristian Sarbu
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2024-03-07TmpDir: Getter should return const refOliver Reiche
... and prohibit moves and move assignments.
2024-02-29verify_hash utils: Clarify return value meaningPaul Cristian Sarbu
2024-02-15atomic: Fix potential raceOliver Reiche
... as any unguarded access to non-const members of the same shared_ptr instance require the use of `atomic_load` and `atomic_store`.
2023-11-30Resolve inconsistencies in third-party headers include formatPaul Cristian Sarbu