CeylanTypes.h File Reference

#include <list>
#include <inttypes.h>
Include dependency graph for CeylanTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Ceylan::Uint64
 This is really just a hack to prevent the compiler from complaining: More...

Namespaces

namespace  Ceylan
 

This part of the Ceylan namespace gathers some convenient string manipulation facilities to be widely used.


Defines

#define _ceylan_int8_t   int8_t
 Cross-platform definition of the main Ceylan common basic data types.
#define _ceylan_uint8_t   uint8_t
#define _ceylan_int16_t   int16_t
#define _ceylan_uint16_t   uint16_t
#define _ceylan_int32_t   int32_t
#define _ceylan_uint32_t   uint32_t
#define _ceylan_int64_t   int64_t
#define _ceylan_uint64_t   uint64_t
#define CEYLAN_FAKES_64_BIT_TYPE
 64-bit data types are not supported on all platforms.
#define CEYLAN_COMPILE_TIME_ASSERT(name, x)   typedef int CEYLAN_stop_wrong_size_for_ ## name[(x) * 2 - 1]

Typedefs

typedef _ceylan_int8_t Ceylan::Sint8
 Signed 8-bit int (signed char, GLbyte).
typedef _ceylan_uint8_t Ceylan::Uint8
 Unsigned 8-bit int (unsigned char, GLubyte, GLboolean).
typedef char Ceylan::Byte
 char, signed char, and unsigned char are different types.
typedef _ceylan_int16_t Ceylan::Sint16
 Signed 16-bit int (signed short, GLshort).
typedef _ceylan_uint16_t Ceylan::Uint16
 Unsigned 16-bit int (unsigned short, GLushort).
typedef _ceylan_int32_t Ceylan::Sint32
 Signed 32-bit int (signed int, GLint, GLsizei).
typedef _ceylan_uint32_t Ceylan::Uint32
 Unsigned 32-bit int (unsigned int, GLuint, GLenum, GLbitfield).
typedef signed long Ceylan::SignedLongInteger
 Variable able to store very large signed integer values.
typedef unsigned long Ceylan::UnsignedLongInteger
 Variable able to store very large positive integer values.
typedef struct Ceylan::Uint64 Ceylan::Sint64
typedef float Ceylan::Float32
 Now, floating point numbers.
typedef double Ceylan::Float64
 64-bit doubles a.k.a.
typedef long double Ceylan::LongFloat
 Variable able to store very large (signed) floating-point values.
typedef Ceylan::Uint16 Ceylan::Count
 80-bit long double are non standard.
typedef std::list
< Ceylan::Uint16 >::size_type 
Ceylan::ListSize
 Variable able to store element for list.
typedef Ceylan::Uint32 Ceylan::Flags
 Flags, fields of 32 bits.

Functions

 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (uint8, sizeof(Uint8)==1)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (sint8, sizeof(Sint8)==1)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (uint16, sizeof(Uint16)==2)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (sint16, sizeof(Sint16)==2)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (uint32, sizeof(Uint32)==4)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (sint32, sizeof(Sint32)==4)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (float32, sizeof(Float32)==4)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (uint64, sizeof(Uint64)==8)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (sint64, sizeof(Sint64)==8)
 Ceylan::CEYLAN_COMPILE_TIME_ASSERT (float64, sizeof(Float64)==8)

Variables

CEYLAN_DLL Ceylan::Sint8 Ceylan::Sint8Min = numeric_limits<Ceylan::Sint8>::min()
CEYLAN_DLL Ceylan::Sint8 Ceylan::Sint8Max = numeric_limits<Ceylan::Sint8>::max()
CEYLAN_DLL Ceylan::Uint8 Ceylan::Uint8Min = numeric_limits<Ceylan::Uint8>::min()
CEYLAN_DLL Ceylan::Uint8 Ceylan::Uint8Max = numeric_limits<Ceylan::Uint8>::max()
CEYLAN_DLL Ceylan::Byte Ceylan::ByteMin = numeric_limits<Ceylan::Byte>::min()
CEYLAN_DLL Ceylan::Byte Ceylan::ByteMax = numeric_limits<Ceylan::Byte>::max()
CEYLAN_DLL Ceylan::Sint16 Ceylan::Sint16Min = numeric_limits<Ceylan::Sint16>::min()
CEYLAN_DLL Ceylan::Sint16 Ceylan::Sint16Max = numeric_limits<Ceylan::Sint16>::max()
CEYLAN_DLL Ceylan::Uint16 Ceylan::Uint16Min = numeric_limits<Ceylan::Uint16>::min()
CEYLAN_DLL Ceylan::Uint16 Ceylan::Uint16Max = numeric_limits<Ceylan::Uint16>::max()
CEYLAN_DLL Ceylan::Sint32 Ceylan::Sint32Min = numeric_limits<Ceylan::Sint32>::min()
CEYLAN_DLL Ceylan::Sint32 Ceylan::Sint32Max = numeric_limits<Ceylan::Sint32>::max()
CEYLAN_DLL Ceylan::Uint32 Ceylan::Uint32Min = numeric_limits<Ceylan::Uint32>::min()
CEYLAN_DLL Ceylan::Uint32 Ceylan::Uint32Max = numeric_limits<Ceylan::Uint32>::max()
CEYLAN_DLL
Ceylan::SignedLongInteger 
Ceylan::SignedLongIntegerMin = numeric_limits<Ceylan::SignedLongInteger>::min()
CEYLAN_DLL
Ceylan::SignedLongInteger 
Ceylan::SignedLongIntegerMax = numeric_limits<Ceylan::SignedLongInteger>::max()
CEYLAN_DLL
Ceylan::UnsignedLongInteger 
Ceylan::UnsignedLongIntegerMin = numeric_limits<Ceylan::UnsignedLongInteger>::min()
CEYLAN_DLL
Ceylan::UnsignedLongInteger 
Ceylan::UnsignedLongIntegerMax = numeric_limits<Ceylan::UnsignedLongInteger>::max()
CEYLAN_DLL Ceylan::Float32 Ceylan::Float32Min = -numeric_limits<Ceylan::Float32>::max()
CEYLAN_DLL Ceylan::Float32 Ceylan::Float32Max = numeric_limits<Ceylan::Float32>::max()
CEYLAN_DLL Ceylan::Float64 Ceylan::Float64Min = -numeric_limits<Ceylan::Float64>::max()
CEYLAN_DLL Ceylan::Float64 Ceylan::Float64Max = numeric_limits<Ceylan::Float64>::max()
CEYLAN_DLL Ceylan::LongFloat Ceylan::LongFloatMin = -numeric_limits<Ceylan::LongFloat>::max()
CEYLAN_DLL Ceylan::LongFloat Ceylan::LongFloatMax = numeric_limits<Ceylan::LongFloat>::max()

Define Documentation

#define _ceylan_int16_t   int16_t

Definition at line 111 of file CeylanTypes.h.

#define _ceylan_int32_t   int32_t

Definition at line 114 of file CeylanTypes.h.

#define _ceylan_int64_t   int64_t

Definition at line 117 of file CeylanTypes.h.

#define _ceylan_int8_t   int8_t

Cross-platform definition of the main Ceylan common basic data types.

These basic data types depend on the platform Ceylan will run on: an unsigned short on a platform may be internally the same as an unsigned int on another platform, it has to be known at compile time.

These informations may come from:

  • the configure step
    • set of platform specific definitions, as provided by the operating system (ex: stdint.h, inttypes.h, cstdint, etc.)

Definition at line 108 of file CeylanTypes.h.

#define _ceylan_uint16_t   uint16_t

Definition at line 112 of file CeylanTypes.h.

#define _ceylan_uint32_t   uint32_t

Definition at line 115 of file CeylanTypes.h.

#define _ceylan_uint64_t   uint64_t

Definition at line 118 of file CeylanTypes.h.

#define _ceylan_uint8_t   uint8_t

Definition at line 109 of file CeylanTypes.h.

#define CEYLAN_COMPILE_TIME_ASSERT ( name,
 )     typedef int CEYLAN_stop_wrong_size_for_ ## name[(x) * 2 - 1]

Definition at line 566 of file CeylanTypes.h.

#define CEYLAN_FAKES_64_BIT_TYPE

64-bit data types are not supported on all platforms.

See also:
Low level APIs which manage them (ex: SDL, with SDL_types.h).
Note:
Our definitions for 64-bit data types come directly from SDL (http://www.libsdl.org), many thanks to the SDL community!

We did not want Ceylan to depend on any other non-system library, we therefore chose not to include SDL headers here. Moreover this concern is very close to the platform, and does not depend on other parts of SDL. We therefore adapted the SDL code.

Ceylan uses for this topic The Simple DirectMedia Layer library, that is currently available under the GNU Lesser General Public License (LGPL) version 2 or newer, which can be found online at: http://www.gnu.org/copyleft/lgpl.html. This library is therefore included under the terms of the LGPL license.

See also:
COPYING.LIB under our src directory. The source code for this 1.2.9 version of SDL and the full source of Ceylan are available from the internet, in their respective official web sites: htpp://libsdl.org and http://ceylan.sourceforge.net

Definition at line 383 of file CeylanTypes.h.

Generated on Mon Nov 29 13:40:05 2010 for Ceylan by  doxygen 1.6.3