rapidyaml 0.14.0
parse and emit YAML, and do it fast
Loading...
Searching...
No Matches
file_put_contents()

Save a buffer to disk. More...

Functions

void c4::yml::file_put_contents (void const *buf, size_t sz, const char *filename, const char *access="wb")
 save a contiguous buffer into a file
template<class ContiguousContainer>
void c4::yml::file_put_contents (ContiguousContainer const &v, const char *filename, const char *access="wb")
 save a contiguous buffer into a file

Detailed Description

Save a buffer to disk.

Function Documentation

◆ file_put_contents() [1/2]

void c4::yml::file_put_contents ( void const * buf,
size_t sz,
const char * filename,
const char * access = "wb" )
inline

save a contiguous buffer into a file

Definition at line 57 of file file.hpp.

58{
59 detail::ScopedFILE f(filename, access);
60 size_t written = std::fwrite(buf, 1, sz, f.file); // NOLINT
61 if(C4_UNLIKELY(written != sz))
62 _RYML_ERR_BASIC("{}: failed file write: expected={}B actual={}B", filename, sz, written); // LCOV_EXCL_LINE
63}

◆ file_put_contents() [2/2]

template<class ContiguousContainer>
void c4::yml::file_put_contents ( ContiguousContainer const & v,
const char * filename,
const char * access = "wb" )

save a contiguous buffer into a file

Definition at line 67 of file file.hpp.

68{
69 size_t vsz = static_cast<size_t>(v.size()) * sizeof(typename ContiguousContainer::value_type);
70 void const* vbuf = v.empty() ? nullptr : &v[0];
71 file_put_contents(vbuf, vsz, filename, access);
72}
void file_put_contents(void const *buf, size_t sz, const char *filename, const char *access="wb")
save a contiguous buffer into a file
Definition file.hpp:57