mirror of
https://github.com/matrix-construct/construct
synced 2024-12-28 00:14:07 +01:00
ircd::fs: Add these string_view overloads.
This is to not force string conversions in callerspace. Right now everything gets converted to std::string internally but eventually string_view may be preferable. Either way the overload finds the best behavior for now.
This commit is contained in:
parent
27721860c2
commit
bdf696b91f
2 changed files with 16 additions and 0 deletions
|
@ -95,9 +95,11 @@ namespace ircd::fs
|
||||||
// This suite of IO functions may yield your context.
|
// This suite of IO functions may yield your context.
|
||||||
std::string read(const std::string &name);
|
std::string read(const std::string &name);
|
||||||
string_view read(const std::string &name, const mutable_raw_buffer &buf);
|
string_view read(const std::string &name, const mutable_raw_buffer &buf);
|
||||||
|
string_view read(const string_view &name, const mutable_raw_buffer &buf);
|
||||||
bool write(const std::string &name, const const_raw_buffer &buf);
|
bool write(const std::string &name, const const_raw_buffer &buf);
|
||||||
bool append(const std::string &name, const const_raw_buffer &buf);
|
bool append(const std::string &name, const const_raw_buffer &buf);
|
||||||
bool overwrite(const std::string &name, const const_raw_buffer &buf);
|
bool overwrite(const std::string &name, const const_raw_buffer &buf);
|
||||||
|
bool overwrite(const string_view &name, const const_raw_buffer &buf);
|
||||||
|
|
||||||
struct init;
|
struct init;
|
||||||
}
|
}
|
||||||
|
|
14
ircd/fs.cc
14
ircd/fs.cc
|
@ -64,6 +64,13 @@ ircd::fs::write(const std::string &path,
|
||||||
return overwrite(path, buf);
|
return overwrite(path, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
ircd::fs::overwrite(const string_view &path,
|
||||||
|
const const_raw_buffer &buf)
|
||||||
|
{
|
||||||
|
return overwrite(std::string{path}, buf);
|
||||||
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ircd::fs::overwrite(const std::string &path,
|
ircd::fs::overwrite(const std::string &path,
|
||||||
const const_raw_buffer &buf)
|
const const_raw_buffer &buf)
|
||||||
|
@ -159,6 +166,13 @@ ircd::fs::read(const std::string &path)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
ircd::string_view
|
||||||
|
ircd::fs::read(const string_view &path,
|
||||||
|
const mutable_raw_buffer &buf)
|
||||||
|
{
|
||||||
|
return ircd::fs::read(std::string{path}, buf);
|
||||||
|
}
|
||||||
|
|
||||||
ircd::string_view
|
ircd::string_view
|
||||||
ircd::fs::read(const std::string &path,
|
ircd::fs::read(const std::string &path,
|
||||||
const mutable_raw_buffer &buf)
|
const mutable_raw_buffer &buf)
|
||||||
|
|
Loading…
Reference in a new issue