6#ifndef SPDLOG_HEADER_ONLY
89 size_t msg_size = buf.size();
90 auto data = buf.data();
126 auto ext_index = fname.
rfind(
'.');
130 if (ext_index == filename_t::npos || ext_index == 0 || ext_index == fname.
size() - 1)
137 if (folder_index != filename_t::npos && folder_index >= ext_index - 1)
const filename_t & filename() const
void reopen(bool truncate)
void write(const memory_buf_t &buf)
static std::tuple< filename_t, filename_t > split_by_extension(const filename_t &fname)
const unsigned int open_interval_
void open(const filename_t &fname, bool truncate=false)
#define SPDLOG_FILENAME_T(s)
T find_last_of(T... args)
SPDLOG_INLINE std::string filename_to_str(const filename_t &filename)
SPDLOG_INLINE bool fopen_s(FILE **fp, const filename_t &filename, const filename_t &mode)
SPDLOG_INLINE size_t filesize(FILE *f)
SPDLOG_INLINE filename_t dir_name(filename_t path)
SPDLOG_INLINE bool create_dir(filename_t path)
SPDLOG_INLINE void sleep_for_millis(unsigned int milliseconds) SPDLOG_NOEXCEPT
static SPDLOG_CONSTEXPR const filename_t::value_type folder_seps_filename[]
SPDLOG_INLINE void throw_spdlog_ex(const std::string &msg, int last_errno)
fmt::basic_memory_buffer< char, 250 > memory_buf_t