]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/interprocess/test/mapped_file_test.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / interprocess / test / mapped_file_test.cpp
index 0d70dfb90fdbd667934a8ac63e30d961357f9b7e..8260c7c50ac47f53a9e74c1d89d99885db200c3a 100644 (file)
 using namespace boost::interprocess;
 
 static const std::size_t FileSize = 1000;
-inline std::string get_filename()
-{
-   std::string ret (ipcdetail::get_temporary_path());
-   ret += "/";
-   ret += test::get_process_id_name();
-   return ret;
-}
 
 struct file_destroyer
 {
@@ -43,15 +36,15 @@ struct file_destroyer
    }
 };
 
+typedef boost::interprocess::ipcdetail::managed_open_or_create_impl
+   <boost::interprocess::ipcdetail::file_wrapper, 0, true, false> mapped_file;
+
 //This wrapper is necessary to have a common constructor
 //in generic named_creation_template functions
 class mapped_file_creation_test_wrapper
    : public file_destroyer
-   , public boost::interprocess::ipcdetail::managed_open_or_create_impl
-      <boost::interprocess::ipcdetail::file_wrapper, 0, true, false>
+   , public mapped_file
 {
-   typedef boost::interprocess::ipcdetail::managed_open_or_create_impl
-      <boost::interprocess::ipcdetail::file_wrapper, 0, true, false> mapped_file;
    public:
    mapped_file_creation_test_wrapper(boost::interprocess::create_only_t)
       :  mapped_file(boost::interprocess::create_only, get_filename().c_str(), FileSize, read_write, 0, permissions())
@@ -66,12 +59,35 @@ class mapped_file_creation_test_wrapper
    {}
 };
 
+#ifdef BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
+
+class mapped_file_creation_test_wrapper_w
+   : public file_destroyer
+   , public mapped_file
+{
+   public:
+   mapped_file_creation_test_wrapper_w(boost::interprocess::create_only_t)
+      :  mapped_file(boost::interprocess::create_only, get_wfilename().c_str(), FileSize, read_write, 0, permissions())
+   {}
+
+   mapped_file_creation_test_wrapper_w(boost::interprocess::open_only_t)
+      :  mapped_file(boost::interprocess::open_only, get_wfilename().c_str(), read_write, 0)
+   {}
+
+   mapped_file_creation_test_wrapper_w(boost::interprocess::open_or_create_t)
+      :  mapped_file(boost::interprocess::open_or_create, get_wfilename().c_str(), FileSize, read_write, 0, permissions())
+   {}
+};
+
+#endif   //BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
+
 int main ()
 {
-   typedef boost::interprocess::ipcdetail::managed_open_or_create_impl
-      <boost::interprocess::ipcdetail::file_wrapper, 0, true, false> mapped_file;
    file_mapping::remove(get_filename().c_str());
    test::test_named_creation<mapped_file_creation_test_wrapper>();
+   #ifdef BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
+   test::test_named_creation<mapped_file_creation_test_wrapper_w>();
+   #endif
 
    //Create and get name, size and address
    {