MeshLib C++ Docs
Loading...
Searching...
No Matches
MRUniqueTemporaryFolder.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4
5#include <filesystem>
6
7namespace MR
8{
11
12
14using FolderCallback = std::function<void( const std::filesystem::path& tempFolderName )>;
15
18{
19public:
21 MRMESH_API UniqueTemporaryFolder( FolderCallback onPreTempFolderDelete = {} );
22
25
28
29 UniqueTemporaryFolder & operator = ( const UniqueTemporaryFolder& ) = delete;
30 UniqueTemporaryFolder & operator = ( UniqueTemporaryFolder&& ) noexcept = default;
31
32 explicit operator bool() const
33 {
34 return !folder_.empty();
35 }
36 operator const std::filesystem::path& ( ) const
37 {
38 return folder_;
39 }
40 std::filesystem::path operator /( const std::filesystem::path& child ) const
41 {
42 return folder_ / child;
43 }
44
45private:
46 std::filesystem::path folder_;
47 FolderCallback onPreTempFolderDelete_;
48};
49
50}
#define MRMESH_API
Definition MRMeshFwd.h:82
UniqueTemporaryFolder(const UniqueTemporaryFolder &)=delete
std::function< void(const std::filesystem::path &tempFolderName)> FolderCallback
this callback will be called before compression on serialization and after decompression on deseriali...
Definition MRUniqueTemporaryFolder.h:14
UniqueTemporaryFolder(UniqueTemporaryFolder &&) noexcept=default
~UniqueTemporaryFolder()
removes folder with all its content
std::filesystem::path operator/(const std::filesystem::path &child) const
Definition MRUniqueTemporaryFolder.h:40
UniqueTemporaryFolder(FolderCallback onPreTempFolderDelete={})
creates new folder in temp directory
only for bindings generation
Definition MRCameraOrientationPlugin.h:8