1 #ifndef LIBJMMCG_CORE_FILE_HPP
2 #define LIBJMMCG_CORE_FILE_HPP
42 class file :
public basic_file_type {
74 std::ios_base::openmode mode;
76 void check_open(
void);
85 explicit file(
const tstring &)
noexcept(
true);
89 file<basic_file_type,API_,Mdl_>::
file(
const tstring &nm,
const std::ios_base::openmode flags,
const bool ad)
90 : basic_file_type(nm.c_str(), flags), auto_delete(ad), fname(nm), mode(flags) {
104 open(tf.fname,mode|=
std::ios_base::out);
111 file<basic_file_type,API_,Mdl_>::check_open(
void)
noexcept(
false) {
113 info::
function desc(__LINE__,
__PRETTY_FUNCTION__,
typeid(&file<basic_file_type,API_,Mdl_>::check_open),info::function::argument(
_T(
"file name"),fname));
114 desc.add_arg(info::function::argument(
_T(
"open mode"), mode));
120 file<basic_file_type,API_,Mdl_>::remove(
void)
noexcept(
false) {
122 if (::remove(fname.c_str())) {
123 throw exception(
_T(
"Failed to delete the specified file."), info::function(__LINE__,
__PRETTY_FUNCTION__,
typeid(&file<basic_file_type,API_,Mdl_>::remove), info::function::argument(
_T(
"file name"), fname)),
JMMCG_REVISION_HDR(
_T(
LIBJMMCG_VERSION_NUMBER)));