Skip to main content

FileHandle

#include <file_utils.hpp>
RAII file handle that ensures closure. Example:
{
    auto file = [FileHandle::open](#open)("data.txt", std::ios::out);
    if (file.is_open()) {
        file.stream() << "Hello, World!\n";
    }
}  // File automatically closed here

Public Methods

ReturnNameDescription
FileHandleDefaulted constructor.
FileHandleDeleted constructor.
FileHandle
boolis_open const
std::fstream &stream

FileHandle

FileHandle() = default
Defaulted constructor.

FileHandle

FileHandle(const FileHandle &) = delete
Deleted constructor.

FileHandle

inline
inline FileHandle(FileHandle && other) noexcept

is_open

const
inline bool is_open() const

stream

inline
inline std::fstream & stream()

Public Static Methods

ReturnNameDescription
FileHandleopen static

open

static
static inline FileHandle open(const std::string & path, std::ios::openmode mode)

Private Attributes

ReturnNameDescription
std::fstreamstream_

stream_

std::fstream stream_