Jpp  15.0.0-rc.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
JIO::JByteArrayReader Class Reference

Byte array binary input. More...

#include <JByteArrayIO.hh>

Inheritance diagram for JIO::JByteArrayReader:
JIO::JReader JLANG::JBinaryInput JLANG::JAbstractObjectStatus JNET::JSocketInputChannel< JPrefix_t >

Public Member Functions

 JByteArrayReader ()
 Default constructor. More...
 
 JByteArrayReader (const char *buffer, const int length=0)
 Constructor. More...
 
int size () const
 Get size. More...
 
const char * data () const
 Get data. More...
 
int getRemainingSize () const
 Get remaining size. More...
 
const char * getRemainingData () const
 Get remaining data. More...
 
int tellg () const
 Get read position. More...
 
void seekg (const int pos)
 Set read position. More...
 
virtual bool getStatus () const override
 Status of reader. More...
 
virtual int read (char *buffer, const int length) override
 Read byte array. More...
 
virtual void clear ()
 Clear status of reader. More...
 
JReaderoperator>> (JSerialisable &object)
 Read serialisable data object. More...
 
JReaderoperator>> (bool &value)
 
JReaderoperator>> (char &value)
 
JReaderoperator>> (unsigned char &value)
 
JReaderoperator>> (short &value)
 
JReaderoperator>> (unsigned short &value)
 
JReaderoperator>> (int &value)
 
JReaderoperator>> (unsigned int &value)
 
JReaderoperator>> (long int &value)
 
JReaderoperator>> (unsigned long int &value)
 
JReaderoperator>> (long long int &value)
 
JReaderoperator>> (unsigned long long int &value)
 
JReaderoperator>> (float &value)
 
JReaderoperator>> (double &value)
 
JReaderoperator>> (long double &value)
 
JReaderoperator>> (JLANG::JObjectID &value)
 
JReaderload (JSerialisable &object)
 Read object. More...
 
template<class T >
JReaderload (T &object)
 Read object. More...
 
 operator bool () const
 Type conversion operator. More...
 
bool operator! () const
 Negated status of this object. More...
 

Protected Attributes

const char * __data
 
int __size
 
int __pos
 

Detailed Description

Byte array binary input.

This class implements the JReader interface.

Definition at line 25 of file JByteArrayIO.hh.

Constructor & Destructor Documentation

JIO::JByteArrayReader::JByteArrayReader ( )
inline

Default constructor.

Definition at line 32 of file JByteArrayIO.hh.

32  :
33  __data(NULL),
34  __size(0),
35  __pos (0)
36  {}
JIO::JByteArrayReader::JByteArrayReader ( const char *  buffer,
const int  length = 0 
)
inline

Constructor.

Parameters
bufferpointer to input data
lengthnumber of bytes

Definition at line 45 of file JByteArrayIO.hh.

45  :
46  __data(buffer),
47  __size(length),
48  __pos (0)
49  {}

Member Function Documentation

int JIO::JByteArrayReader::size ( ) const
inline

Get size.

Returns
number of bytes

Definition at line 57 of file JByteArrayIO.hh.

58  {
59  return __size;
60  }
const char* JIO::JByteArrayReader::data ( ) const
inline

Get data.

Returns
pointer to data

Definition at line 68 of file JByteArrayIO.hh.

69  {
70  return __data;
71  }
int JIO::JByteArrayReader::getRemainingSize ( ) const
inline

Get remaining size.

Returns
number of bytes

Definition at line 79 of file JByteArrayIO.hh.

80  {
81  return __size - __pos;
82  }
const char* JIO::JByteArrayReader::getRemainingData ( ) const
inline

Get remaining data.

Returns
pointer to remaining data

Definition at line 90 of file JByteArrayIO.hh.

91  {
92  return __data + __pos;
93  }
int JIO::JByteArrayReader::tellg ( ) const
inline

Get read position.

Returns
read position

Definition at line 101 of file JByteArrayIO.hh.

102  {
103  return __pos;
104  }
void JIO::JByteArrayReader::seekg ( const int  pos)
inline

Set read position.

Parameters
posread position

Definition at line 112 of file JByteArrayIO.hh.

113  {
114  __pos = pos;
115  }
virtual bool JIO::JByteArrayReader::getStatus ( ) const
inlineoverridevirtual

Status of reader.

Returns
status of this reader

Implements JLANG::JAbstractObjectStatus.

Definition at line 123 of file JByteArrayIO.hh.

124  {
125  return __size - __pos >= 0;
126  }
virtual int JIO::JByteArrayReader::read ( char *  buffer,
const int  length 
)
inlineoverridevirtual

Read byte array.

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

Implements JLANG::JBinaryInput.

Definition at line 136 of file JByteArrayIO.hh.

137  {
138  memcpy(buffer, __data + __pos, length);
139 
140  __pos += length;
141 
142  return length;
143  }
virtual void JIO::JReader::clear ( )
inlinevirtualinherited

Clear status of reader.

Reimplemented in JIO::JFileStreamReader, JIO::JBufferedReader, and JIO::JStreamReader.

Definition at line 71 of file JSerialisable.hh.

72  {}
JReader& JIO::JReader::operator>> ( JSerialisable object)
inlineinherited

Read serialisable data object.

Parameters
objectserialisable data object
Returns
JReader

Definition at line 81 of file JSerialisable.hh.

82  {
83  return object.read(*this);
84  }
JReader& JIO::JReader::operator>> ( bool &  value)
inlineinherited

Definition at line 87 of file JSerialisable.hh.

87 { read((char*) &value, sizeof(bool)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( char &  value)
inlineinherited

Definition at line 88 of file JSerialisable.hh.

88 { read((char*) &value, sizeof(char)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( unsigned char &  value)
inlineinherited

Definition at line 89 of file JSerialisable.hh.

89 { read((char*) &value, sizeof(unsigned char)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( short &  value)
inlineinherited

Definition at line 90 of file JSerialisable.hh.

90 { read((char*) &value, sizeof(short)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( unsigned short &  value)
inlineinherited

Definition at line 91 of file JSerialisable.hh.

91 { read((char*) &value, sizeof(unsigned short)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( int &  value)
inlineinherited

Definition at line 92 of file JSerialisable.hh.

92 { read((char*) &value, sizeof(int)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( unsigned int &  value)
inlineinherited

Definition at line 93 of file JSerialisable.hh.

93 { read((char*) &value, sizeof(unsigned int)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( long int &  value)
inlineinherited

Definition at line 94 of file JSerialisable.hh.

94 { read((char*) &value, sizeof(long int)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( unsigned long int &  value)
inlineinherited

Definition at line 95 of file JSerialisable.hh.

95 { read((char*) &value, sizeof(unsigned long int)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( long long int &  value)
inlineinherited

Definition at line 96 of file JSerialisable.hh.

96 { read((char*) &value, sizeof(long long int)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( unsigned long long int &  value)
inlineinherited

Definition at line 97 of file JSerialisable.hh.

97 { read((char*) &value, sizeof(unsigned long long int)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( float &  value)
inlineinherited

Definition at line 98 of file JSerialisable.hh.

98 { read((char*) &value, sizeof(float)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( double &  value)
inlineinherited

Definition at line 99 of file JSerialisable.hh.

99 { read((char*) &value, sizeof(double)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( long double &  value)
inlineinherited

Definition at line 100 of file JSerialisable.hh.

100 { read((char*) &value, sizeof(long double)); return *this; }
virtual int read(char *buffer, const int length)=0
Read byte array.
JReader& JIO::JReader::operator>> ( JLANG::JObjectID value)
inlineinherited

Definition at line 101 of file JSerialisable.hh.

101 { return (*this) >> value.getID(); }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
JReader& JIO::JReader::load ( JSerialisable object)
inlineinherited

Read object.

Parameters
objectobject
Returns
this reader

Definition at line 110 of file JSerialisable.hh.

111  {
112  return object.read(*this);
113  }
template<class T >
JReader& JIO::JReader::load ( T object)
inlineinherited

Read object.

Parameters
objectobject
Returns
this reader

Definition at line 123 of file JSerialisable.hh.

124  {
125  return *this >> object;
126  }
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.
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  }
virtual bool getStatus() const =0
Get status of object.

Member Data Documentation

const char* JIO::JByteArrayReader::__data
protected

Definition at line 147 of file JByteArrayIO.hh.

int JIO::JByteArrayReader::__size
protected

Definition at line 148 of file JByteArrayIO.hh.

int JIO::JByteArrayReader::__pos
protected

Definition at line 149 of file JByteArrayIO.hh.


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