Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt8
-rw-r--r--Readme.md6
-rw-r--r--include/afio/revision.hpp6
-rw-r--r--include/afio/v2.0/afio.hpp6
-rw-r--r--include/afio/v2.0/config.hpp4
-rw-r--r--include/afio/v2.0/io_service.hpp4
m---------include/afio/v2.0/quickcpplib0
-rw-r--r--single-header/Readme.md2
8 files changed, 27 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6c4259a2..508ac977 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,6 +53,8 @@ if(NOT PROJECT_IS_DEPENDENCY)
-U QUICKCPPLIB_ENABLE_VALGRIND
-U DOXYGEN_SHOULD_SKIP_THIS -U DOXYGEN_IS_IN_THE_HOUSE
-U STANDARDESE_IS_IN_THE_HOUSE
+ -U __has_include -U __has_feature -U __has_cpp_attribute
+ -U __cpp_modules
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
if(NOT CMAKE_VERSION VERSION_LESS 3.3)
@@ -61,10 +63,14 @@ if(NOT PROJECT_IS_DEPENDENCY)
endfunction()
make_single_header(afio_hl-pp-std
"${CMAKE_CURRENT_SOURCE_DIR}/single-header/afio.hpp"
- "${CMAKE_CURRENT_SOURCE_DIR}/include/afio/v2.0/afio.hpp")
+ "${CMAKE_CURRENT_SOURCE_DIR}/include/afio/v2.0/afio.hpp"
+ #-D QUICKCPPLIB_USE_STD_BYTE -D QUICKCPPLIB_USE_STD_OPTIONAL -D QUICKCPPLIB_USE_STD_SPAN
+ -D AFIO_LEAN_AND_MEAN
+ -D AFIO_EXPERIMENTAL_STATUS_CODE=1)
make_single_header(afio_hl-pp-abi
"${CMAKE_CURRENT_SOURCE_DIR}/single-header/abi.hpp"
"${CMAKE_CURRENT_SOURCE_DIR}/include/afio/v2.0/afio.hpp"
+ -D AFIO_EXPERIMENTAL_STATUS_CODE=1
-D AFIO_DISABLE_ABI_PERMUTATION=1
-D OUTCOME_DISABLE_ABI_PERMUTATION=1
-D QUICKCPPLIB_DISABLE_ABI_PERMUTATION=1
diff --git a/Readme.md b/Readme.md
index c68d3488..af12e391 100644
--- a/Readme.md
+++ b/Readme.md
@@ -17,8 +17,10 @@ Tarballs of source and prebuilt binaries for Linux x64, MacOS x64 and Windows x6
- [x] Fix all known bugs in Outcome, plus reorg source code in prep for `status_code`.
- [x] Scatter-gather buffers to use https://github.com/martinmoene/byte-lite
- [x] Make lazy the stat fetch during file/dir open.
-- [ ] Implement SG14 `status_code` as a standalone library and test in AFIO.
-- [ ] Single include generation now we're on `status_code` and it's safe.
+- [x] Implement SG14 `status_code` as a standalone library and test in AFIO.
+- [x] Single include generation now we're on `status_code` and it's safe.
+- [ ] Implement `SIGBUS`/`EXCEPTION_IN_PAGE_ERROR` RAII catcher.
+ - Is `io_service` reference counting the signal handler install?
- [ ] `atomic_append` isn't actually being tested in shared_fs_mutex
- [ ] Implement a non-toy ACID key-value BLOB store and send it to Boost for peer review.
- [ ] For this need to implement a file-based B+ tree. And for that, need to
diff --git a/include/afio/revision.hpp b/include/afio/revision.hpp
index d2c58e2e..1dae6877 100644
--- a/include/afio/revision.hpp
+++ b/include/afio/revision.hpp
@@ -1,4 +1,4 @@
// Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time
-#define AFIO_PREVIOUS_COMMIT_REF 0eb47d30299b63748a2796a9439e53765a5ff101
-#define AFIO_PREVIOUS_COMMIT_DATE "2018-06-07 09:05:56 +00:00"
-#define AFIO_PREVIOUS_COMMIT_UNIQUE 0eb47d30
+#define AFIO_PREVIOUS_COMMIT_REF a36490c2e5cfdeedb65bf82bed40e3de28caf557
+#define AFIO_PREVIOUS_COMMIT_DATE "2018-06-07 15:12:29 +00:00"
+#define AFIO_PREVIOUS_COMMIT_UNIQUE a36490c2
diff --git a/include/afio/v2.0/afio.hpp b/include/afio/v2.0/afio.hpp
index 8c122a46..ebdee881 100644
--- a/include/afio/v2.0/afio.hpp
+++ b/include/afio/v2.0/afio.hpp
@@ -57,11 +57,17 @@ import AFIO_MODULE_NAME;
#include "config.hpp"
+#ifndef AFIO_LEAN_AND_MEAN
#include "async_file_handle.hpp"
+#else
+#include "file_handle.hpp"
+#endif
#include "directory_handle.hpp"
#include "map_handle.hpp"
#include "statfs.hpp"
+#ifndef AFIO_LEAN_AND_MEAN
#include "storage_profile.hpp"
+#endif
#include "algorithm/cached_parent_handle_adapter.hpp"
#include "algorithm/mapped_span.hpp"
diff --git a/include/afio/v2.0/config.hpp b/include/afio/v2.0/config.hpp
index 8ebbdb27..da7bfa17 100644
--- a/include/afio/v2.0/config.hpp
+++ b/include/afio/v2.0/config.hpp
@@ -82,7 +82,7 @@ Distributed under the Boost Software License, Version 1.0.
#if !defined(AFIO_EXPERIMENTAL_STATUS_CODE)
//! \brief Whether to use SG14 experimental `status_code` instead of `std::error_code`
-#define AFIO_EXPERIMENTAL_STATUS_CODE 0
+#define AFIO_EXPERIMENTAL_STATUS_CODE 1
#endif
@@ -146,7 +146,7 @@ Distributed under the Boost Software License, Version 1.0.
#include "quickcpplib/include/import.h"
-#ifdef AFIO_UNSTABLE_VERSION
+#if defined(AFIO_UNSTABLE_VERSION) && !defined(AFIO_DISABLE_ABI_PERMUTATION)
#include "../revision.hpp"
#define AFIO_V2 (QUICKCPPLIB_BIND_NAMESPACE_VERSION(afio_v2, AFIO_PREVIOUS_COMMIT_UNIQUE))
#else
diff --git a/include/afio/v2.0/io_service.hpp b/include/afio/v2.0/io_service.hpp
index 26f7294f..ad898919 100644
--- a/include/afio/v2.0/io_service.hpp
+++ b/include/afio/v2.0/io_service.hpp
@@ -31,8 +31,9 @@ Distributed under the Boost Software License, Version 1.0.
#include <deque>
#include <mutex>
-#ifdef __cpp_coroutines
+#if defined(__cpp_coroutines)
// clang-format off
+#if defined(__has_include)
#if __has_include(<coroutine>)
#include <coroutine>
AFIO_V2_NAMESPACE_EXPORT_BEGIN
@@ -46,6 +47,7 @@ AFIO_V2_NAMESPACE_END
#else
#error Cannot use C++ Coroutines without the <coroutine> header!
#endif
+#endif
// clang-format on
#endif
diff --git a/include/afio/v2.0/quickcpplib b/include/afio/v2.0/quickcpplib
-Subproject aaafa3ebe6330a4709bf58891ee02d4b521d4b6
+Subproject b5fc1d357a75832a34bf776f395159490bbd9e6
diff --git a/single-header/Readme.md b/single-header/Readme.md
new file mode 100644
index 00000000..b2e45343
--- /dev/null
+++ b/single-header/Readme.md
@@ -0,0 +1,2 @@
+Herein can lie a single header edition of AFIO. It currently exceeds 1.5Mb,
+and so to keep the git repo from expanding it is not committed here.