10 #include "fnetorderstream.h"
14 ConvertNetworkOrder (void* buffer, size_t bytes)
16 #ifndef WORDS_BIGENDIAN
20 char* start = static_cast<char*>(buffer);
21 char* end = start + bytes - 1; // last byte
22 size_t nSwap = bytes / 2;
25 unsigned char c = *start;
33 ConvertReverseNetworkOrder (void* buffer, size_t bytes)
35 #ifdef WORDS_BIGENDIAN
39 char* start = static_cast<char*>(buffer);
40 char* end = start + bytes - 1; // last byte
41 size_t nSwap = bytes / 2;
44 unsigned char c = *start;
51 fnetorderstream& fnetorderstream::writeInt16 (kuint16 n) {
52 #ifndef WORDS_BIGENDIAN
55 write (reinterpret_cast<const char*>(&n), 2);
59 fnetorderstream& fnetorderstream::writeInt32 (kuint32 n) {
60 #ifndef WORDS_BIGENDIAN
63 write (reinterpret_cast<const char*>(&n), 4);
67 fnetorderstream& fnetorderstream::writeFloat32 (kfloat32 n) {
68 #ifndef WORDS_BIGENDIAN
71 write (reinterpret_cast<const char*>(&n), 4);
75 fnetorderstream& fnetorderstream::writeFloat64 (kfloat64 n) {
76 #ifndef WORDS_BIGENDIAN
79 write (reinterpret_cast<const char*>(&n), 8);
83 fnetorderstream& fnetorderstream::readInt16 (kuint16& n) {
84 read (reinterpret_cast<char*>(&n), 2);
85 #ifndef WORDS_BIGENDIAN
91 fnetorderstream& fnetorderstream::readInt32 (kuint32& n) {
92 read (reinterpret_cast<char*>(&n), 4);
93 #ifndef WORDS_BIGENDIAN
99 fnetorderstream& fnetorderstream::readFloat32 (kfloat32& n) {
100 read (reinterpret_cast<char*>(&n), 4);
101 #ifndef WORDS_BIGENDIAN
107 fnetorderstream& fnetorderstream::readFloat64 (kfloat64& n) {
108 read (reinterpret_cast<char*>(&n), 8);
109 #ifndef WORDS_BIGENDIAN
117 frnetorderstream& frnetorderstream::writeInt16 (kuint16 n) {
118 #ifdef WORDS_BIGENDIAN
121 write (reinterpret_cast<char*>(&n), 2);
125 frnetorderstream& frnetorderstream::writeInt32 (kuint32 n) {
126 #ifdef WORDS_BIGENDIAN
129 write (reinterpret_cast<char*>(&n), 4);
133 frnetorderstream& frnetorderstream::writeFloat32 (kfloat32 n) {
134 #ifdef WORDS_BIGENDIAN
137 write (reinterpret_cast<char*>(&n), 4);
141 frnetorderstream& frnetorderstream::writeFloat64 (kfloat64 n) {
142 #ifdef WORDS_BIGENDIAN
145 write (reinterpret_cast<char*>(&n), 8);
149 frnetorderstream& frnetorderstream::readInt16 (kuint16& n) {
150 read (reinterpret_cast<char*>(&n), 2);
151 #ifdef WORDS_BIGENDIAN
157 frnetorderstream& frnetorderstream::readInt32 (kuint32& n) {
158 read (reinterpret_cast<char*>(&n), 4);
159 #ifdef WORDS_BIGENDIAN
165 frnetorderstream& frnetorderstream::readFloat32 (kfloat32& n) {
166 read (reinterpret_cast<char*>(&n), 4);
167 #ifdef WORDS_BIGENDIAN
173 frnetorderstream& frnetorderstream::readFloat64 (kfloat64& n) {
174 read (reinterpret_cast<char*>(&n), 8);
175 #ifdef WORDS_BIGENDIAN