00001 /********************************************************************** 00002 * $Id: ByteOrderValues.h 1820 2006-09-06 16:54:23Z mloskot $ 00003 * 00004 * GEOS - Geometry Engine Open Source 00005 * http://geos.refractions.net 00006 * 00007 * Copyright (C) 2005-2006 Refractions Research Inc. 00008 * Copyright (C) 2001-2002 Vivid Solutions Inc. 00009 * 00010 * This is free software; you can redistribute and/or modify it under 00011 * the terms of the GNU Lesser General Public Licence as published 00012 * by the Free Software Foundation. 00013 * See the COPYING file for more information. 00014 * 00015 **********************************************************************/ 00016 00017 #ifndef GEOS_IO_BYTEORDERVALUES_H 00018 #define GEOS_IO_BYTEORDERVALUES_H 00019 00020 #include <geos/platform.h> 00021 00022 namespace geos { 00023 namespace io { 00024 00025 /* 00026 * \class ByteOrderValues io.h geos.h 00027 * 00028 * Methods to read and write primitive datatypes from/to byte 00029 * sequences, allowing the byte order to be specified 00030 * 00031 * Similar to the standard Java <code>ByteBuffer</code> class. 00032 */ 00033 class ByteOrderValues { 00034 00035 public: 00036 00037 static int ENDIAN_BIG; 00038 static int ENDIAN_LITTLE; 00039 00040 static int getInt(const unsigned char *buf, int byteOrder); 00041 static void putInt(int intValue, unsigned char *buf, int byteOrder); 00042 00043 static int64 getLong(const unsigned char *buf, int byteOrder); 00044 static void putLong(int64 longValue, unsigned char *buf, int byteOrder); 00045 00046 static double getDouble(const unsigned char *buf, int byteOrder); 00047 static void putDouble(double doubleValue, unsigned char *buf, int byteOrder); 00048 00049 }; 00050 00051 } // namespace io 00052 } // namespace geos 00053 00054 #endif // #ifndef GEOS_IO_BYTEORDERVALUES_H 00055 00056 /********************************************************************** 00057 * $Log$ 00058 * Revision 1.1 2006/03/20 18:18:14 strk 00059 * io.h header split 00060 * 00061 **********************************************************************/