diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2020-03-11 13:07:08 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2020-03-11 13:07:08 +0300 |
commit | ca832a5ab9c05c82659b3ca32c16367da7694034 (patch) | |
tree | 670d2d87a558ba25e29109160e4078ae6ee417ae /test-packaging | |
parent | c72be83bbc011c7d97414beb82c4e14c9d34ae5a (diff) |
Add Installability CI test.
Diffstat (limited to 'test-packaging')
-rw-r--r-- | test-packaging/example.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test-packaging/example.cpp b/test-packaging/example.cpp new file mode 100644 index 00000000..5840d4df --- /dev/null +++ b/test-packaging/example.cpp @@ -0,0 +1,60 @@ +/* Examples of LLFIO use +(C) 2018 Niall Douglas <http://www.nedproductions.biz/> (2 commits) +File Created: Aug 2018 + + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License in the accompanying file +Licence.txt or at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Distributed under the Boost Software License, Version 1.0. + (See accompanying file Licence.txt or copy at + http://www.boost.org/LICENSE_1_0.txt) +*/ + +#include <llfio.hpp> + +#include <vector> + +int main() +{ + //! [file_entire_file1] + namespace llfio = LLFIO_V2_NAMESPACE; + + // Open the file for read + llfio::file_handle fh = llfio::file( // + {}, // path_handle to base directory + "foo" // path_view to path fragment relative to base directory + // default mode is read only + // default creation is open existing + // default caching is all + // default flags is none + ).value(); // If failed, throw a filesystem_error exception + + // Make a vector sized the current maximum extent of the file + std::vector<llfio::byte> buffer(fh.maximum_extent().value()); + + // Synchronous scatter read from file + llfio::file_handle::size_type bytesread = llfio::read( + fh, // handle to read from + 0, // offset + {{ buffer.data(), buffer.size() }} // Single scatter buffer of the vector + // default deadline is infinite + ).value(); // If failed, throw a filesystem_error exception + + // In case of racy truncation of file by third party to new length, adjust buffer to + // bytes actually read + buffer.resize(bytesread); + //! [file_entire_file1] + return 0; +} |