Move some methods from .h to .cpp

This commit is contained in:
zergtmn 2012-08-03 20:12:15 +06:00
parent 16fe6cbe82
commit af349b4bdd
5 changed files with 123 additions and 90 deletions

View file

@ -20,7 +20,6 @@
#define _BYTEBUFFER_H
#include "Common.h"
#include "Log.h"
#include "Utilities/ByteConverter.h"
class ByteBufferException
@ -32,23 +31,7 @@ class ByteBufferException
PrintPosError();
}
void PrintPosError() const
{
char const* traceStr;
#ifdef HAVE_ACE_STACK_TRACE_H
ACE_Stack_Trace trace;
traceStr = trace.c_str();
#else
traceStr = NULL;
#endif
sLog.outError(
"Attempted to %s in ByteBuffer (pos: " SIZEFMTD " size: "SIZEFMTD") "
"value with size: " SIZEFMTD "%s%s",
(add ? "put" : "get"), pos, size, esize,
traceStr ? "\n" : "", traceStr ? traceStr : "");
}
void PrintPosError() const;
private:
bool add;
size_t pos;
@ -421,78 +404,9 @@ class ByteBuffer
memcpy(&_storage[pos], src, cnt);
}
void print_storage() const
{
if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
return;
std::ostringstream ss;
ss << "STORAGE_SIZE: " << size() << "\n";
if (sLog.IsIncludeTime())
ss << " ";
for (size_t i = 0; i < size(); ++i)
ss << uint32(read<uint8>(i)) << " - ";
sLog.outDebug(ss.str().c_str());
}
void textlike() const
{
if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
return;
std::ostringstream ss;
ss << "STORAGE_SIZE: " << size() << "\n";
if (sLog.IsIncludeTime())
ss << " ";
for (size_t i = 0; i < size(); ++i)
ss << read<uint8>(i);
sLog.outDebug(ss.str().c_str());
}
void hexlike() const
{
if (!sLog.HasLogLevelOrHigher(LOG_LVL_DEBUG)) // optimize disabled debug output
return;
std::ostringstream ss;
ss << "STORAGE_SIZE: " << size() << "\n";
if (sLog.IsIncludeTime())
ss << " ";
size_t j = 1, k = 1;
for (size_t i = 0; i < size(); ++i)
{
if ((i == (j * 8)) && ((i != (k * 16))))
{
ss << "| ";
++j;
}
else if (i == (k * 16))
{
ss << "\n";
if (sLog.IsIncludeTime())
ss << " ";
++k;
++j;
}
char buf[4];
snprintf(buf, 4, "%02X", read<uint8>(i));
ss << buf << " ";
}
sLog.outDebug(ss.str().c_str());
}
void print_storage() const;
void textlike() const;
void hexlike() const;
private:
// limited for internal use because can "append" any unexpected type (like pointer and etc) with hard detection problem