Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/network/converter.h @ 9717

Last change on this file since 9717 was 9715, checked in by bensch, 18 years ago

renamed newclassid to classid and newobjectlist to objectlist

File size: 1.7 KB
Line 
1/*!
2 * @file converter.h
3 *  Is able to convert int to byte-array and vice versa
4 */
5
6#ifndef _CONVERTER
7#define _CONVERTER
8
9/* include this file, it contains some default definitions */
10#include "netdefs.h"
11
12
13/* include base_object.h since all classes are derived from this one */
14#include "base_object.h"
15
16/* The size of an int in byte */
17#define INTSIZE 4
18/* The size of a float in byte */
19#define FLOATSIZE 4
20
21/*!
22 * a class that can convert int to byte-array and vice versa
23 */
24class Converter : public BaseObject
25{
26  ObjectListDeclaration(Converter);
27  public:
28    static byte* intToByteArray(int x);
29    static int byteArrayToInt(const byte* a);
30
31    static int intToByteArray(int x, byte* a, int length);
32    static int byteArrayToInt(const byte* a, int* x);
33
34    static int _intToByteArray(int x, byte* a, int length);
35    static int _byteArrayToInt(const byte* a, int* x);
36
37    static int stringToByteArray(const std::string & s, byte* a, int maxLength);
38    static int byteArrayToString(const byte* a, std::string&s, int maxLength);
39//    static int byteArrayToStringM(const byte* a, char*& s );
40
41    //Test
42    static char* floatToBinString(float x);
43
44//     static byte* floatToByteArray(float x);
45//     static float byteArrayToFloat(byte* a);
46
47    static int floatToByteArray(float x, byte* a, int length);
48    static int byteArrayToFloat(const byte* a, float* x);
49
50    static int _floatToByteArray(float x, byte* a, int length);
51    static int _byteArrayToFloat(const byte* a, float* x);
52
53
54
55    static void debug();
56    static void floatTest(float x);
57    static void ArrayfloatTest(float x);
58    static float getDenormConst();
59
60
61  private:
62    Converter();
63    virtual ~Converter();
64};
65
66#undef byte
67
68#endif /*_CONVERTER*/
Note: See TracBrowser for help on using the repository browser.