Belle II Software development
Reader Class Referenceabstract
Inheritance diagram for Reader:
BufferedReader FileReader< FD >

Public Member Functions

virtual size_t read (void *, size_t)=0
 
virtual bool available ()=0
 
virtual bool readBool ()
 
virtual char readChar ()
 
virtual short readShort ()
 
virtual int readInt ()
 
virtual long long readLong ()
 
virtual unsigned char readUChar ()
 
virtual unsigned short readUShort ()
 
virtual unsigned int readUInt ()
 
virtual unsigned long long readULong ()
 
virtual float readFloat ()
 
virtual double readDouble ()
 
virtual const std::string readString ()
 
virtual void readObject (Serializable &)
 

Protected Member Functions

void reverse (void *buf, size_t len)
 

Detailed Description

Definition at line 22 of file Reader.h.

Constructor & Destructor Documentation

◆ ~Reader()

virtual ~Reader ( )
inlinevirtual

Definition at line 25 of file Reader.h.

25{}

Member Function Documentation

◆ readBool()

bool readBool ( )
virtual

Definition at line 27 of file Reader.cc.

28{
29 bool v;
30 read(&v, sizeof(bool));
31 return v;
32}

◆ readChar()

char readChar ( )
virtual

Definition at line 34 of file Reader.cc.

35{
36 char v;
37 read(&v, sizeof(char));
38 return v;
39}

◆ readDouble()

double readDouble ( )
virtual

Definition at line 118 of file Reader.cc.

119{
120 double v;
121 read(&v, sizeof(double));
122#if defined(__ENDIAN_L__)
123 reverse(&v, sizeof(double));
124#endif
125 return v;
126}

◆ readFloat()

float readFloat ( )
virtual

Definition at line 108 of file Reader.cc.

109{
110 float v;
111 read(&v, sizeof(float));
112#if defined(__ENDIAN_L__)
113 reverse(&v, sizeof(float));
114#endif
115 return v;
116}

◆ readInt()

int readInt ( )
virtual

Definition at line 68 of file Reader.cc.

69{
70 int v;
71 read(&v, sizeof(int));
72#if defined(__ENDIAN_L__)
73 reverse(&v, sizeof(int));
74#endif
75 return v;
76}

◆ readLong()

long long readLong ( )
virtual

Definition at line 88 of file Reader.cc.

89{
90 long long v;
91 read(&v, sizeof(long long));
92#if defined(__ENDIAN_L__)
93 reverse(&v, sizeof(long long));
94#endif
95 return v;
96}

◆ readObject()

void readObject ( Serializable v)
virtual

Definition at line 142 of file Reader.cc.

143{
144 v.readObject(*this);
145}

◆ readShort()

short readShort ( )
virtual

Definition at line 48 of file Reader.cc.

49{
50 short v;
51 read(&v, sizeof(short));
52#if defined(__ENDIAN_L__)
53 reverse(&v, sizeof(short));
54#endif
55 return v;
56}

◆ readString()

const std::string readString ( )
virtual

Definition at line 128 of file Reader.cc.

129{
130 int count = readInt();
131 char str[1025];
132 std::string v;
133 while (count > 0) {
134 int c = (count > 1024) ? 1024 : count;
135 read(str, c);
136 v.append(str, 0, c);
137 count -= c;
138 }
139 return v;
140}

◆ readUChar()

unsigned char readUChar ( )
virtual

Definition at line 41 of file Reader.cc.

42{
43 unsigned char v;
44 read(&v, sizeof(unsigned char));
45 return v;
46}

◆ readUInt()

unsigned int readUInt ( )
virtual

Definition at line 78 of file Reader.cc.

79{
80 unsigned int v;
81 read(&v, sizeof(unsigned int));
82#if defined(__ENDIAN_L__)
83 reverse(&v, sizeof(unsigned int));
84#endif
85 return v;
86}

◆ readULong()

unsigned long long readULong ( )
virtual

Definition at line 98 of file Reader.cc.

99{
100 unsigned long long v;
101 read(&v, sizeof(unsigned long long));
102#if defined(__ENDIAN_L__)
103 reverse(&v, sizeof(unsigned long long));
104#endif
105 return v;
106}

◆ readUShort()

unsigned short readUShort ( )
virtual

Definition at line 58 of file Reader.cc.

59{
60 unsigned short v;
61 read(&v, sizeof(unsigned short));
62#if defined(__ENDIAN_L__)
63 reverse(&v, sizeof(unsigned short));
64#endif
65 return v;
66}

◆ reverse()

void reverse ( void *  buf,
size_t  len 
)
protected

Definition at line 18 of file Reader.cc.

19{
20 for (int c = 0 ; c < (int)len / 2 ; c ++) {
21 char tmp = *((char*)buf + c);
22 *((char*)buf + c) = *((char*)buf + len - 1 - c);
23 *((char*)buf + len - 1 - c) = tmp;
24 }
25}

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