00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef LUX_OSFUNC_H
00024 #define LUX_OSFUNC_H
00025
00026 #include <boost/cstdint.hpp>
00027 using boost::int32_t;
00028 using boost::uint32_t;
00029 #include <istream>
00030 #include <ostream>
00031
00032 namespace lux
00033 {
00034
00035
00036
00037 extern int osHardwareConcurrency();
00038
00039
00040
00041 extern bool osIsLittleEndian();
00042 extern void osWriteLittleEndianFloat(bool isLittleEndian,
00043 std::basic_ostream<char> &os, float value);
00044 extern float osReadLittleEndianFloat(bool isLittleEndian,
00045 std::basic_istream<char> &is);
00046 extern void osWriteLittleEndianDouble(bool isLittleEndian,
00047 std::basic_ostream<char> &os, double value);
00048 extern double osReadLittleEndianDouble(bool isLittleEndian,
00049 std::basic_istream<char> &is);
00050 extern void osWriteLittleEndianInt(bool isLittleEndian,
00051 std::basic_ostream<char> &os, int32_t value);
00052 extern int32_t osReadLittleEndianInt(bool isLittleEndian,
00053 std::basic_istream<char> &is);
00054 extern void osWriteLittleEndianUInt(bool isLittleEndian,
00055 std::basic_ostream<char> &os, uint32_t value);
00056 extern uint32_t osReadLittleEndianUInt(bool isLittleEndian,
00057 std::basic_istream<char> &is);
00058
00059 }
00060
00061 #endif // LUX_OSFUNC_H