From ca832a5ab9c05c82659b3ca32c16367da7694034 Mon Sep 17 00:00:00 2001 From: "Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)" Date: Wed, 11 Mar 2020 10:07:08 +0000 Subject: Add Installability CI test. --- test-packaging/example.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test-packaging/example.cpp (limited to 'test-packaging') 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 (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 + +#include + +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 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; +} -- cgit v1.2.3