summaryrefslogtreecommitdiff
path: root/boost/process/detail/windows/file_descriptor.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/process/detail/windows/file_descriptor.hpp')
-rw-r--r--boost/process/detail/windows/file_descriptor.hpp208
1 files changed, 104 insertions, 104 deletions
diff --git a/boost/process/detail/windows/file_descriptor.hpp b/boost/process/detail/windows/file_descriptor.hpp
index 337e634781..80e4c8ae8f 100644
--- a/boost/process/detail/windows/file_descriptor.hpp
+++ b/boost/process/detail/windows/file_descriptor.hpp
@@ -1,104 +1,104 @@
-// Copyright (c) 2016 Klemens D. Morgenstern
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_PROCESS_DETAIL_WINDOWS_FILE_DESCRIPTOR_HPP_
-#define BOOST_PROCESS_DETAIL_WINDOWS_FILE_DESCRIPTOR_HPP_
-
-#include <boost/detail/winapi/basic_types.hpp>
-#include <boost/detail/winapi/handles.hpp>
-#include <boost/detail/winapi/file_management.hpp>
-#include <string>
-#include <boost/filesystem/path.hpp>
-
-namespace boost { namespace process { namespace detail { namespace windows {
-
-struct file_descriptor
-{
- enum mode_t
- {
- read = 1,
- write = 2,
- read_write = 3
- };
- static ::boost::detail::winapi::DWORD_ desired_access(mode_t mode)
- {
- switch(mode)
- {
- case read:
- return ::boost::detail::winapi::GENERIC_READ_;
- case write:
- return ::boost::detail::winapi::GENERIC_WRITE_;
- case read_write:
- return ::boost::detail::winapi::GENERIC_READ_
- | ::boost::detail::winapi::GENERIC_WRITE_;
- default:
- return 0u;
- }
- }
-
- file_descriptor() = default;
- file_descriptor(const boost::filesystem::path& p, mode_t mode = read_write)
- : file_descriptor(p.native(), mode)
- {
- }
-
- file_descriptor(const std::string & path , mode_t mode = read_write)
- : file_descriptor(path.c_str(), mode) {}
- file_descriptor(const std::wstring & path, mode_t mode = read_write)
- : file_descriptor(path.c_str(), mode) {}
-
- file_descriptor(const char* path, mode_t mode = read_write)
- : _handle(
- ::boost::detail::winapi::create_file(
- path,
- desired_access(mode),
- ::boost::detail::winapi::FILE_SHARE_READ_ |
- ::boost::detail::winapi::FILE_SHARE_WRITE_,
- nullptr,
- ::boost::detail::winapi::OPEN_ALWAYS_,
-
- ::boost::detail::winapi::FILE_ATTRIBUTE_NORMAL_,
- nullptr
- ))
- {
-
- }
- file_descriptor(const wchar_t * path, mode_t mode = read_write)
- : _handle(
- ::boost::detail::winapi::create_file(
- path,
- desired_access(mode),
- ::boost::detail::winapi::FILE_SHARE_READ_ |
- ::boost::detail::winapi::FILE_SHARE_WRITE_,
- nullptr,
- ::boost::detail::winapi::OPEN_ALWAYS_,
-
- ::boost::detail::winapi::FILE_ATTRIBUTE_NORMAL_,
- nullptr
- ))
-{
-
-}
- file_descriptor(const file_descriptor & ) = delete;
- file_descriptor(file_descriptor && ) = default;
-
- file_descriptor& operator=(const file_descriptor & ) = delete;
- file_descriptor& operator=(file_descriptor && ) = default;
-
- ~file_descriptor()
- {
- if (_handle != ::boost::detail::winapi::INVALID_HANDLE_VALUE_)
- ::boost::detail::winapi::CloseHandle(_handle);
- }
-
- ::boost::detail::winapi::HANDLE_ handle() const { return _handle;}
-
-private:
- ::boost::detail::winapi::HANDLE_ _handle = ::boost::detail::winapi::INVALID_HANDLE_VALUE_;
-};
-
-}}}}
-
-#endif /* BOOST_PROCESS_DETAIL_WINDOWS_FILE_DESCRIPTOR_HPP_ */
+// Copyright (c) 2016 Klemens D. Morgenstern
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_PROCESS_DETAIL_WINDOWS_FILE_DESCRIPTOR_HPP_
+#define BOOST_PROCESS_DETAIL_WINDOWS_FILE_DESCRIPTOR_HPP_
+
+#include <boost/winapi/basic_types.hpp>
+#include <boost/winapi/handles.hpp>
+#include <boost/winapi/file_management.hpp>
+#include <string>
+#include <boost/filesystem/path.hpp>
+
+namespace boost { namespace process { namespace detail { namespace windows {
+
+struct file_descriptor
+{
+ enum mode_t
+ {
+ read = 1,
+ write = 2,
+ read_write = 3
+ };
+ static ::boost::winapi::DWORD_ desired_access(mode_t mode)
+ {
+ switch(mode)
+ {
+ case read:
+ return ::boost::winapi::GENERIC_READ_;
+ case write:
+ return ::boost::winapi::GENERIC_WRITE_;
+ case read_write:
+ return ::boost::winapi::GENERIC_READ_
+ | ::boost::winapi::GENERIC_WRITE_;
+ default:
+ return 0u;
+ }
+ }
+
+ file_descriptor() = default;
+ file_descriptor(const boost::filesystem::path& p, mode_t mode = read_write)
+ : file_descriptor(p.native(), mode)
+ {
+ }
+
+ file_descriptor(const std::string & path , mode_t mode = read_write)
+ : file_descriptor(path.c_str(), mode) {}
+ file_descriptor(const std::wstring & path, mode_t mode = read_write)
+ : file_descriptor(path.c_str(), mode) {}
+
+ file_descriptor(const char* path, mode_t mode = read_write)
+ : _handle(
+ ::boost::winapi::create_file(
+ path,
+ desired_access(mode),
+ ::boost::winapi::FILE_SHARE_READ_ |
+ ::boost::winapi::FILE_SHARE_WRITE_,
+ nullptr,
+ ::boost::winapi::OPEN_ALWAYS_,
+
+ ::boost::winapi::FILE_ATTRIBUTE_NORMAL_,
+ nullptr
+ ))
+ {
+
+ }
+ file_descriptor(const wchar_t * path, mode_t mode = read_write)
+ : _handle(
+ ::boost::winapi::create_file(
+ path,
+ desired_access(mode),
+ ::boost::winapi::FILE_SHARE_READ_ |
+ ::boost::winapi::FILE_SHARE_WRITE_,
+ nullptr,
+ ::boost::winapi::OPEN_ALWAYS_,
+
+ ::boost::winapi::FILE_ATTRIBUTE_NORMAL_,
+ nullptr
+ ))
+{
+
+}
+ file_descriptor(const file_descriptor & ) = delete;
+ file_descriptor(file_descriptor && ) = default;
+
+ file_descriptor& operator=(const file_descriptor & ) = delete;
+ file_descriptor& operator=(file_descriptor && ) = default;
+
+ ~file_descriptor()
+ {
+ if (_handle != ::boost::winapi::INVALID_HANDLE_VALUE_)
+ ::boost::winapi::CloseHandle(_handle);
+ }
+
+ ::boost::winapi::HANDLE_ handle() const { return _handle;}
+
+private:
+ ::boost::winapi::HANDLE_ _handle = ::boost::winapi::INVALID_HANDLE_VALUE_;
+};
+
+}}}}
+
+#endif /* BOOST_PROCESS_DETAIL_WINDOWS_FILE_DESCRIPTOR_HPP_ */