Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JIO::JByteArrayWriter Class Reference

Byte array binary output. More...

#include <JByteArrayIO.hh>

Inheritance diagram for JIO::JByteArrayWriter:
JIO::JWriter std::vector< char > JLANG::JBinaryOutput JLANG::JAbstractObjectStatus JNET::JSocketOutputChannel< JPrefix_t >

Public Member Functions

 JByteArrayWriter (const int size=65536)
 Constructor.
 
virtual bool getStatus () const override
 Status of writer.
 
void clear ()
 Clear buffer.
 
int tellp () const
 Get write position.
 
void seekp (const int pos)
 Set write position.
 
virtual int write (const char *buffer, const int length) override
 Write byte array.
 
JWriteroperator<< (const JSerialisable &object)
 Write serialisable data object.
 
JWriteroperator<< (const bool value)
 
JWriteroperator<< (const char value)
 
JWriteroperator<< (const unsigned char value)
 
JWriteroperator<< (const short value)
 
JWriteroperator<< (const unsigned short value)
 
JWriteroperator<< (const int value)
 
JWriteroperator<< (const unsigned int value)
 
JWriteroperator<< (const long int value)
 
JWriteroperator<< (const unsigned long int value)
 
JWriteroperator<< (const long long int value)
 
JWriteroperator<< (const unsigned long long int value)
 
JWriteroperator<< (const float value)
 
JWriteroperator<< (const double value)
 
JWriteroperator<< (const long double value)
 
JWriteroperator<< (const JLANG::JObjectID &value)
 
JWriterstore (const JSerialisable &object)
 Write object.
 
template<class T >
JWriterstore (const T &object)
 Write object.
 
 operator bool () const
 Type conversion operator.
 
bool operator! () const
 Negated status of this object.
 

Protected Attributes

int __pos
 

Detailed Description

Byte array binary output.

This class implements the JWriter interface.

Definition at line 157 of file JByteArrayIO.hh.

Constructor & Destructor Documentation

◆ JByteArrayWriter()

JIO::JByteArrayWriter::JByteArrayWriter ( const int size = 65536)
inline

Constructor.

Parameters
sizereserved number of bytes

Definition at line 167 of file JByteArrayIO.hh.

167 :
169 __pos(0)
170 {
171 reserve(size);
172 }

Member Function Documentation

◆ getStatus()

virtual bool JIO::JByteArrayWriter::getStatus ( ) const
inlineoverridevirtual

Status of writer.

Returns
status of this writer

Implements JLANG::JAbstractObjectStatus.

Definition at line 180 of file JByteArrayIO.hh.

181 {
182 return true;
183 }

◆ clear()

void JIO::JByteArrayWriter::clear ( )
inline

Clear buffer.

Definition at line 189 of file JByteArrayIO.hh.

190 {
192
193 __pos = 0;
194 }

◆ tellp()

int JIO::JByteArrayWriter::tellp ( ) const
inline

Get write position.

Returns
write position

Definition at line 202 of file JByteArrayIO.hh.

203 {
204 return __pos;
205 }

◆ seekp()

void JIO::JByteArrayWriter::seekp ( const int pos)
inline

Set write position.

Parameters
poswrite position

Definition at line 213 of file JByteArrayIO.hh.

214 {
215 __pos = pos;
216 }

◆ write()

virtual int JIO::JByteArrayWriter::write ( const char * buffer,
const int length )
inlineoverridevirtual

Write byte array.

Parameters
bufferpointer to byte array
lengthnumber of bytes
Returns
number of bytes

Implements JLANG::JBinaryOutput.

Reimplemented in JNET::JSocketOutputChannel< JPrefix_t >.

Definition at line 226 of file JByteArrayIO.hh.

227 {
228 if (__pos + length > (int) this->size()) {
229 this->resize(__pos + length);
230 }
231
232 memcpy(this->data() + __pos, buffer, length);
233
234 __pos += length;
235
236 return length;
237 }

◆ operator<<() [1/16]

JWriter & JIO::JWriter::operator<< ( const JSerialisable & object)
inlineinherited

Write serialisable data object.

Parameters
objectserialisable data object
Returns
JWriter

Definition at line 144 of file JSerialisable.hh.

145 {
146 return object.write(*this);
147 }

◆ operator<<() [2/16]

JWriter & JIO::JWriter::operator<< ( const bool value)
inlineinherited

Definition at line 150 of file JSerialisable.hh.

150{ write((const char*) &value, sizeof(bool)); return *this; }
virtual int write(const char *buffer, const int length)=0
Write byte array.

◆ operator<<() [3/16]

JWriter & JIO::JWriter::operator<< ( const char value)
inlineinherited

Definition at line 151 of file JSerialisable.hh.

151{ write((const char*) &value, sizeof(char)); return *this; }

◆ operator<<() [4/16]

JWriter & JIO::JWriter::operator<< ( const unsigned char value)
inlineinherited

Definition at line 152 of file JSerialisable.hh.

152{ write((const char*) &value, sizeof(unsigned char)); return *this; }

◆ operator<<() [5/16]

JWriter & JIO::JWriter::operator<< ( const short value)
inlineinherited

Definition at line 153 of file JSerialisable.hh.

153{ write((const char*) &value, sizeof(short)); return *this; }

◆ operator<<() [6/16]

JWriter & JIO::JWriter::operator<< ( const unsigned short value)
inlineinherited

Definition at line 154 of file JSerialisable.hh.

154{ write((const char*) &value, sizeof(unsigned short)); return *this; }

◆ operator<<() [7/16]

JWriter & JIO::JWriter::operator<< ( const int value)
inlineinherited

Definition at line 155 of file JSerialisable.hh.

155{ write((const char*) &value, sizeof(int)); return *this; }

◆ operator<<() [8/16]

JWriter & JIO::JWriter::operator<< ( const unsigned int value)
inlineinherited

Definition at line 156 of file JSerialisable.hh.

156{ write((const char*) &value, sizeof(unsigned int)); return *this; }

◆ operator<<() [9/16]

JWriter & JIO::JWriter::operator<< ( const long int value)
inlineinherited

Definition at line 157 of file JSerialisable.hh.

157{ write((const char*) &value, sizeof(long int)); return *this; }

◆ operator<<() [10/16]

JWriter & JIO::JWriter::operator<< ( const unsigned long int value)
inlineinherited

Definition at line 158 of file JSerialisable.hh.

158{ write((const char*) &value, sizeof(unsigned long int)); return *this; }

◆ operator<<() [11/16]

JWriter & JIO::JWriter::operator<< ( const long long int value)
inlineinherited

Definition at line 159 of file JSerialisable.hh.

159{ write((const char*) &value, sizeof(long long int)); return *this; }

◆ operator<<() [12/16]

JWriter & JIO::JWriter::operator<< ( const unsigned long long int value)
inlineinherited

Definition at line 160 of file JSerialisable.hh.

160{ write((const char*) &value, sizeof(unsigned long long int)); return *this; }

◆ operator<<() [13/16]

JWriter & JIO::JWriter::operator<< ( const float value)
inlineinherited

Definition at line 161 of file JSerialisable.hh.

161{ write((const char*) &value, sizeof(float)); return *this; }

◆ operator<<() [14/16]

JWriter & JIO::JWriter::operator<< ( const double value)
inlineinherited

Definition at line 162 of file JSerialisable.hh.

162{ write((const char*) &value, sizeof(double)); return *this; }

◆ operator<<() [15/16]

JWriter & JIO::JWriter::operator<< ( const long double value)
inlineinherited

Definition at line 163 of file JSerialisable.hh.

163{ write((const char*) &value, sizeof(long double)); return *this; }

◆ operator<<() [16/16]

JWriter & JIO::JWriter::operator<< ( const JLANG::JObjectID & value)
inlineinherited

Definition at line 164 of file JSerialisable.hh.

164{ return (*this) << value.getID(); }
int getID() const
Get identifier.
Definition JObjectID.hh:50

◆ store() [1/2]

JWriter & JIO::JWriter::store ( const JSerialisable & object)
inlineinherited

Write object.

Parameters
objectobject
Returns
this writer

Definition at line 173 of file JSerialisable.hh.

174 {
175 return object.write(*this);
176 }

◆ store() [2/2]

template<class T >
JWriter & JIO::JWriter::store ( const T & object)
inlineinherited

Write object.

Parameters
objectobject
Returns
this writer

Definition at line 186 of file JSerialisable.hh.

187 {
188 return *this << object;
189 }

◆ operator bool()

JLANG::JAbstractObjectStatus::operator bool ( ) const
inlineinherited

Type conversion operator.

Returns
status of this object

Definition at line 33 of file JAbstractObjectStatus.hh.

34 {
35 return this->getStatus();
36 }
virtual bool getStatus() const =0
Get status of object.

◆ operator!()

bool JLANG::JAbstractObjectStatus::operator! ( ) const
inlineinherited

Negated status of this object.

Returns
negated status of this object

Definition at line 44 of file JAbstractObjectStatus.hh.

45 {
46 return !(this->getStatus());
47 }

Member Data Documentation

◆ __pos

int JIO::JByteArrayWriter::__pos
protected

Definition at line 241 of file JByteArrayIO.hh.


The documentation for this class was generated from the following file: