升级print打印
升级buffer,支持模板append
This commit is contained in:
@@ -44,9 +44,10 @@ public:
|
|||||||
void append(const char* data, size_t length);
|
void append(const char* data, size_t length);
|
||||||
void append(const ylib::buffer& data);
|
void append(const ylib::buffer& data);
|
||||||
void append(std::initializer_list<uchar> char_list);
|
void append(std::initializer_list<uchar> char_list);
|
||||||
|
template<typename T>
|
||||||
void append_c(char value);
|
void append(const T& value) {
|
||||||
void append_uc(unsigned char value);
|
append((const char*)&value, sizeof(T));
|
||||||
|
}
|
||||||
|
|
||||||
void clear();
|
void clear();
|
||||||
void resize(size_t length);
|
void resize(size_t length);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
namespace ylib
|
namespace ylib
|
||||||
{
|
{
|
||||||
void println(const std::string& text,ylib::ConsoleTextColor color = ylib::ConsoleTextColor::DEFAULT);
|
void println(const std::string& text,ylib::ConsoleTextColor color = ylib::ConsoleTextColor::DEFAULT);
|
||||||
|
void print(const std::string& text, ylib::ConsoleTextColor color = ylib::ConsoleTextColor::DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -74,15 +74,7 @@ void ylib::buffer::append(std::initializer_list<uchar> char_list)
|
|||||||
this->append((char*)new_buf, idx);
|
this->append((char*)new_buf, idx);
|
||||||
free(new_buf);
|
free(new_buf);
|
||||||
}
|
}
|
||||||
void ylib::buffer::append_c(char value)
|
|
||||||
{
|
|
||||||
append((const char*)&value,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ylib::buffer::append_uc(unsigned char value)
|
|
||||||
{
|
|
||||||
append((const char*)&value,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ylib::buffer::clear()
|
void ylib::buffer::clear()
|
||||||
{
|
{
|
||||||
@@ -232,7 +224,7 @@ unsigned char &ylib::buffer::operator[](size_t index) const
|
|||||||
if (index + 1 > m_data.m_use_length)
|
if (index + 1 > m_data.m_use_length)
|
||||||
{
|
{
|
||||||
std::string msg = "ylib::buffer::operator[] index="+std::to_string(index) + " but data length is "+std::to_string(m_data.m_use_length);
|
std::string msg = "ylib::buffer::operator[] index="+std::to_string(index) + " but data length is "+std::to_string(m_data.m_use_length);
|
||||||
throw std::exception(msg.c_str());
|
throw ylib::exception(msg.c_str());
|
||||||
}
|
}
|
||||||
return m_data.data()[index];
|
return m_data.data()[index];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,19 @@ const std::string LINUX_RED = "\033[31m";
|
|||||||
const std::string LINUX_GREEN = "\033[32m";
|
const std::string LINUX_GREEN = "\033[32m";
|
||||||
const std::string LINUX_YELLOW = "\033[33m";
|
const std::string LINUX_YELLOW = "\033[33m";
|
||||||
const std::string LINUX_BLUE = "\033[34m";
|
const std::string LINUX_BLUE = "\033[34m";
|
||||||
//#endif
|
//#endif
|
||||||
void ylib::println(const std::string& text, ylib::ConsoleTextColor color)
|
void ylib::println(const std::string& text, ylib::ConsoleTextColor color)
|
||||||
|
{
|
||||||
|
print(text + "\r\n", color);
|
||||||
|
}
|
||||||
|
void ylib::print(const std::string& text, ylib::ConsoleTextColor color)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
if(color == ylib::YELLOW)
|
if (color == ylib::YELLOW)
|
||||||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
|
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
|
||||||
else
|
else
|
||||||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
|
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
|
||||||
printf("%s\r\n", text.c_str());
|
printf("%s", text.c_str());
|
||||||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), ylib::ConsoleTextColor::DEFAULT);
|
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), ylib::ConsoleTextColor::DEFAULT);
|
||||||
#else
|
#else
|
||||||
switch (color)
|
switch (color)
|
||||||
@@ -40,7 +44,7 @@ void ylib::println(const std::string& text, ylib::ConsoleTextColor color)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
std::cout << LINUX_RESET << std::endl;
|
std::cout << LINUX_RESET << std::endl;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user