10#include <boost/filesystem/operations.hpp> 
   12#include <userver/fs/blocking/open_mode.hpp> 
   13#include <userver/utils/fast_pimpl.hpp> 
   15USERVER_NAMESPACE_BEGIN
 
   29  CFile(CFile&&) 
noexcept;
 
   30  CFile& operator=(CFile&&) 
noexcept;
 
   35  CFile(
const std::string& path, OpenMode flags,
 
   36        boost::filesystem::perms perms = boost::filesystem::perms::owner_read |
 
   37                                         boost::filesystem::perms::owner_write);
 
   40  explicit CFile(std::FILE* file) 
noexcept;
 
   59  std::size_t 
Read(
char* buffer, std::size_t max_size);
 
   65  void Write(std::string_view data);
 
   86  utils::FastPimpl<Impl, 
sizeof(
char*), 
alignof(
char*)> impl_;