15 #pragma warning( disable: 4251 )
18#ifdef __cpp_lib_format
30#include <CArcDeviceDllMain.h>
39 typedef std::queue<std::string>::size_type
qsize_t;
68 void enable(
const bool bEnable =
true );
81 void put(
const std::string& sText );
89 #ifdef __cpp_lib_format
90 template <
typename... Args>
91 void put( std::string_view sFormat,
const Args&... args )
93 if ( !m_bEnabled ) {
return; }
95 std::lock_guard<std::mutex> lockGaurd( m_mutex );
101 if ( m_sQueue.size() >= Q_MAX )
106 m_sQueue.emplace( std::format( sFormat, std::forward<Args>( args )... ) );
109 void put(
const char* pszFmt, ... );
116 const std::string
next(
void );
123 const std::string
last(
void );
128 std::size_t
count(
void )
const noexcept;
150 std::queue<std::string> m_sQueue;
153 mutable std::mutex m_mutex;
void put(const std::string &sText)
const std::string next(void)
CArcLog & operator<<(std::string const &sText)
void setMaxSize(const qsize_t uiSize=Q_MAX)
const std::string last(void)
void put(const char *pszFmt,...)
bool isEnabled(void) const noexcept
std::size_t count(void) const noexcept
void enable(const bool bEnable=true)
bool empty(void) const noexcept
std::weak_ptr< arc::gen4::CArcLog > pLogger_t
std::queue< std::string >::size_type qsize_t