1 Star 0 Fork 0

lugang/cpp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
OutputStream.h 2.80 KB
一键复制 编辑 原始数据 按行查看 历史
lugang51 提交于 2023-12-22 10:18 +08:00 . add output function
//
// Created by lester on 2023/12/21.
//
#ifndef TEST_OUTPUTSTREAM_H
#define TEST_OUTPUTSTREAM_H
#include "LengthBuffer.h"
class OutputStream{
public:
friend class Logger;
~OutputStream() = default;
OutputStream() = default;
OutputStream& operator <<(uint8_t value);
OutputStream& operator <<(uint16_t value);
OutputStream& operator <<(uint32_t value);
OutputStream& operator <<(uint64_t value);
OutputStream& operator <<(int8_t value);
OutputStream& operator <<(int16_t value);
OutputStream& operator <<(int32_t value);
OutputStream& operator <<(int64_t value);
OutputStream& operator <<(float value);
OutputStream& operator <<(double value);
OutputStream& operator <<(const std::string& value);
private:
SmallBuffer buffer_;
};
OutputStream& OutputStream::operator<<(int value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(uint8_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(uint16_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(uint32_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(uint64_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(int8_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;;
}
OutputStream& OutputStream::operator<<(int16_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(int64_t value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream& OutputStream::operator<<(float value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream &OutputStream::operator<<(double value) {
std::string stringValue = std::to_string(value);
buffer_.Append(stringValue.c_str(), stringValue.size());
return *this;
}
OutputStream &OutputStream::operator<<(const std::string &value) {
buffer_.Append(value.c_str(),value.size());
return *this;
}
#endif //TEST_OUTPUTSTREAM_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lugang0218/cpp.git
git@gitee.com:lugang0218/cpp.git
lugang0218
cpp
cpp
master

搜索帮助