mirror of
https://github.com/oatpp/oatpp.git
synced 2025-01-30 16:59:30 +08:00
stream::ConsistentOutputStream. Add convenience methods for all oatpp-predefined-types.
This commit is contained in:
parent
e4ea48bf3c
commit
aa61aa7a44
@ -325,6 +325,42 @@ async::CoroutineStarter IOStream::initContextsAsync() {
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// ConsistentOutputStream
|
||||
|
||||
v_io_size ConsistentOutputStream::writeAsString(v_int8 value){
|
||||
v_char8 a[16];
|
||||
auto size = utils::conversion::int32ToCharSequence(value, &a[0], 16);
|
||||
if(size > 0){
|
||||
return writeSimple(&a[0], size);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
v_io_size ConsistentOutputStream::writeAsString(v_uint8 value){
|
||||
v_char8 a[16];
|
||||
auto size = utils::conversion::uint32ToCharSequence(value, &a[0], 16);
|
||||
if(size > 0){
|
||||
return writeSimple(&a[0], size);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
v_io_size ConsistentOutputStream::writeAsString(v_int16 value){
|
||||
v_char8 a[16];
|
||||
auto size = utils::conversion::int32ToCharSequence(value, &a[0], 16);
|
||||
if(size > 0){
|
||||
return writeSimple(&a[0], size);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
v_io_size ConsistentOutputStream::writeAsString(v_uint16 value){
|
||||
v_char8 a[16];
|
||||
auto size = utils::conversion::uint32ToCharSequence(value, &a[0], 16);
|
||||
if(size > 0){
|
||||
return writeSimple(&a[0], size);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
v_io_size ConsistentOutputStream::writeAsString(v_int32 value){
|
||||
v_char8 a[16];
|
||||
auto size = utils::conversion::int32ToCharSequence(value, &a[0], 16);
|
||||
@ -408,6 +444,14 @@ ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int8& valu
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt8& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
}
|
||||
s.writeSimple("[<UInt8(null)>]");
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int16& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
@ -416,6 +460,14 @@ ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int16& val
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt16& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
}
|
||||
s.writeSimple("[<UInt16(null)>]");
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int32& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
@ -424,6 +476,14 @@ ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int32& val
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt32& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
}
|
||||
s.writeSimple("[<UInt32(null)>]");
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int64& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
@ -432,6 +492,14 @@ ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int64& val
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt64& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
}
|
||||
s.writeSimple("[<UInt64(null)>]");
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Float32& value) {
|
||||
if(value.getPtr()) {
|
||||
return operator << (s, value->getValue());
|
||||
@ -465,35 +533,6 @@ ConsistentOutputStream& operator << (ConsistentOutputStream& s, const char* str)
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int32 value) {
|
||||
s.writeAsString(value);
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int64 value) {
|
||||
s.writeAsString(value);
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_float32 value) {
|
||||
s.writeAsString(value);
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_float64 value) {
|
||||
s.writeAsString(value);
|
||||
return s;
|
||||
}
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, bool value) {
|
||||
if(value) {
|
||||
s.OutputStream::writeSimple("true");
|
||||
} else {
|
||||
s.OutputStream::writeSimple("false");
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// DataTransferProcessor
|
||||
|
||||
|
@ -374,6 +374,34 @@ public:
|
||||
class ConsistentOutputStream : public OutputStream {
|
||||
public:
|
||||
|
||||
/**
|
||||
* Convert value to string and write to stream.
|
||||
* @param value
|
||||
* @return - actual number of bytes written. &id:oatpp::v_io_size;. <br>
|
||||
*/
|
||||
v_io_size writeAsString(v_int8 value);
|
||||
|
||||
/**
|
||||
* Convert value to string and write to stream.
|
||||
* @param value
|
||||
* @return - actual number of bytes written. &id:oatpp::v_io_size;. <br>
|
||||
*/
|
||||
v_io_size writeAsString(v_uint8 value);
|
||||
|
||||
/**
|
||||
* Convert value to string and write to stream.
|
||||
* @param value
|
||||
* @return - actual number of bytes written. &id:oatpp::v_io_size;. <br>
|
||||
*/
|
||||
v_io_size writeAsString(v_int16 value);
|
||||
|
||||
/**
|
||||
* Convert value to string and write to stream.
|
||||
* @param value
|
||||
* @return - actual number of bytes written. &id:oatpp::v_io_size;. <br>
|
||||
*/
|
||||
v_io_size writeAsString(v_uint16 value);
|
||||
|
||||
/**
|
||||
* Convert value to string and write to stream.
|
||||
* @param value
|
||||
@ -427,19 +455,35 @@ public:
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const oatpp::String& str);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int8& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt8& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int16& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt16& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int32& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt32& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Int64& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const UInt64& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Float32& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Float64& value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const Boolean& value);
|
||||
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, const char* str);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int32 value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int64 value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_float32 value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_float64 value);
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, bool value);
|
||||
|
||||
template<typename T>
|
||||
ConsistentOutputStream& operator << (ConsistentOutputStream& s, T value) {
|
||||
s.writeAsString(value);
|
||||
return s;
|
||||
}
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int8 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_uint8 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int16 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_uint16 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int32 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_uint32 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_int64 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_uint64 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_float32 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, v_float64 value);
|
||||
//ConsistentOutputStream& operator << (ConsistentOutputStream& s, bool value);
|
||||
|
||||
/**
|
||||
* Error of Asynchronous stream transfer.
|
||||
|
Loading…
Reference in New Issue
Block a user