v0.1.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Pages
CGUL Namespace Reference

General utility library. More...

Namespaces

 DataTypes
 Enum full of basic image data types.
 
 File
 A simple file utility.
 
 GL
 Contains all of the OpenGL defines.
 
 ImageFormats
 Namespace full of pre-defined image formats. They are named using the same system as OpenGL. See: http://www.opengl.org/wiki/Image_Format.
 
 ImageMixMethods
 Enum holding the supported image mixing methods.
 
 Math
 A namespace containing many common mathematical functions.
 
 Memory
 A simple memory utility.
 
 Network
 An experimental network namespace.
 
 OpenGL
 Experimental OpenGL wrapper.
 

Classes

class  Array
 
class  Container
 
class  FixedList
 A fixed list interface to set a fixed amount of data and fill in the slots of data. More...
 
class  HashMap
 
class  List
 
class  Vector
 A vector functionally equivalent to an std::vector but capable of acting as a FixedList. More...
 
struct  Exception
 
struct  FatalException
 
struct  FileException
 
struct  ImageException
 
struct  NetworkException
 
struct  OpenGLException
 
struct  StringException
 
struct  SystemCode
 
struct  WindowException
 
struct  _CGUL_PIXELFORMATDESCRIPTOR
 
struct  _CGUL_PTHREAD_MUTEX_T
 
struct  _CGUL_PTHREAD_COND_T
 
class  Font
 
class  Glyph
 
struct  Vector3T
 A three dimensional 32 bit floating point vector. More...
 
struct  Vector4T
 A four dimensional 32 bit floating point vector. More...
 
struct  ColorT
 An RGBA (red, green, blue, alpha) color. More...
 
class  ImageFilter
 A class for performing convolution filters on images. Filter rule: filter size must be odd (e.x 3x3, 5x5, etc) Note: Works similar to the method at: http://lodev.org/cgtutor/filtering.html. More...
 
struct  ImageFormat
 A struct that defines an image format and how to treat it. More...
 
class  Image
 A container capable of loading and manipulating RGBA images. More...
 
class  ImageHandler
 Singleton class that registers image loaders/writers. More...
 
class  ImageLoader
 Base class for image loaders. More...
 
class  Angle
 
struct  Vector2T
 A two dimensional 32 bit floating point vector. More...
 
struct  QuaternionT
 Quaternion. More...
 
struct  MatrixT
 A 4v4 matrix. More...
 
class  Random
 A linear congruential generator capable of generating pseudorandom numbers. More...
 
class  AutoRelease
 An AutoRelease class to help be RAII compliant. More...
 
class  ConditionVariable
 
class  Event
 A simple file utility. More...
 
class  FileFinder
 
class  Logger
 
class  Mutex
 
class  Regex
 Regular expressions. More...
 
class  String
 A Utf-8 compliant string. More...
 
class  Thread
 
class  Timer
 A timer to keep track of time, similar to a stop watch. More...
 
struct  WindowKeyButtonEvent
 
struct  WindowMouseButtonEvent
 
struct  WindowMouseMoveEvent
 
class  Window
 A class capable of creating windows and manipulating them. More...
 
struct  WindowStyle
 Contains customizable attributes for window creation. More...
 

Typedefs

typedef float Float32
 A 32 bit (4 bytes) floating point number.
 
typedef double Float64
 A 64 bit (8 bytes) floating point number.
 
typedef int8_t SInt8
 An 8 bit (1 byte) signed integer number.
 
typedef uint8_t UInt8
 An 8 bit (1 byte) unsigned integer number.
 
typedef int16_t SInt16
 A 16 bit (2 bytes) signed integer number.
 
typedef uint16_t UInt16
 A 16 bit (2 bytes) unsigned integer number.
 
typedef int32_t SInt32
 A 32 bit (4 bytes) signed integer number.
 
typedef uint32_t UInt32
 A 32 bit (4 bytes) unsigned integer number.
 
typedef int64_t SInt64
 A 64 bit (8 bytes) signed integer number.
 
typedef uint64_t UInt64
 A 64 bit (8 bytes) unsigned integer number.
 
typedef bool Boolean
 A boolean value (true or false).
 
typedef UInt8 Byte
 Alias for UInt8, an unsigned byte.
 
typedef SInt8 SignedByte
 Alias for SInt8, a signed byte.
 
typedef uintptr_t Size
 A system-dependent sized integer capable of holding addresses in memory.
 
typedef intptr_t SignedSize
 A system-dependent sized signed integer capable of holding addresses in memory.
 
typedef int_fast8_t SIntF8
 
typedef uint_fast8_t UIntF8
 
typedef int_fast16_t SIntF16
 
typedef uint_fast16_t UIntF16
 
typedef int_fast32_t SIntF32
 
typedef uint_fast32_t UIntF32
 
typedef int_fast64_t SIntF64
 
typedef uint_fast64_t UIntF64
 
typedef short SShortN
 System dependent signed short integer. More...
 
typedef unsigned short UShortN
 System dependent unsigned short integer. More...
 
typedef int SIntN
 System dependent signed integer. More...
 
typedef unsigned int UIntN
 System dependent unsigned integer. More...
 
typedef long SLongN
 System dependent signed long integer. More...
 
typedef unsigned long ULongN
 System dependent unsigned long integer. More...
 
typedef SIntN Enum
 A type capable of holding an enumeration. More...
 
typedef SignedSize PtrDiff
 A type capable of holding the difference between two pointers.
 
typedef ColorT< ByteColor
 
typedef MatrixT< Float32MatrixF
 A 4x4 matrix with 32 bit float data types.
 
typedef MatrixT< Float64MatrixD
 A 4x4 matrix with 64 bit float data types.
 
typedef QuaternionT< Float32Quaternion
 
typedef QuaternionT< Float64QuaternionD
 
typedef Vector2T< Float32Vector2F
 
typedef Vector2T< Float64Vector2D
 
typedef Vector2T< SInt8SCoord8
 
typedef Vector2T< UInt8UCoord8
 
typedef Vector2T< SInt16SCoord16
 
typedef Vector2T< UInt16UCoord16
 
typedef Vector2T< SInt32SCoord32
 
typedef Vector2T< UInt32UCoord32
 
typedef Vector2T< SInt64SCoord64
 
typedef Vector2T< UInt64UCoord64
 
typedef Vector2T< SIntF8 > SCoordF8
 
typedef Vector2T< UIntF8 > UCoordF8
 
typedef Vector2T< SIntF16 > SCoordF16
 
typedef Vector2T< UIntF16 > UCoordF16
 
typedef Vector2T< SIntF32 > SCoordF32
 
typedef Vector2T< UIntF32 > UCoordF32
 
typedef Vector2T< SIntF64 > SCoordF64
 
typedef Vector2T< UIntF64 > UCoordF64
 
typedef Vector3T< Float32Vector3F
 
typedef Vector3T< Float64Vector3D
 
typedef Vector4T< Float32Vector4F
 
typedef Vector4T< Float64Vector4D
 
typedef Vector4T< SInt8SRect8
 
typedef Vector4T< UInt8URect8
 
typedef Vector4T< SInt16SRect16
 
typedef Vector4T< UInt16URect16
 
typedef Vector4T< SInt32SRect32
 
typedef Vector4T< UInt32URect32
 
typedef Vector4T< SInt64SRect64
 
typedef Vector4T< UInt64URect64
 
typedef Vector4T< SIntF8 > SRectF8
 
typedef Vector4T< UIntF8 > URectF8
 
typedef Vector4T< SIntF16 > SRectF16
 
typedef Vector4T< UIntF16 > URectF16
 
typedef Vector4T< SIntF32 > SRectF32
 
typedef Vector4T< UIntF32 > URectF32
 
typedef Vector4T< SIntF64 > SRectF64
 
typedef Vector4T< UIntF64 > URectF64
 

Functions

template<typename KeyType , typename ValueType >
std::ostream & operator<< (std::ostream &, const CGUL::HashMap< KeyType, ValueType > &)
 
ImageFormat CreateImageFormat (String name, UInt32 redBits, UInt32 blueBits, UInt32 greenBits, UInt32 alphaBits=0, UInt32 type=DataTypes::UNSIGNED_CHAR, Enum glFormat=0)
 Method for creating image formats.
 
template<typename Type >
std::ostream & operator<< (std::ostream &, const CGUL::Vector2T< Type > &)
 
template<typename Type >
std::ostream & operator<< (std::ostream &, const CGUL::Vector3T< Type > &)
 
template<typename Type >
std::ostream & operator<< (std::ostream &, const CGUL::Vector4T< Type > &)
 
template<class T >
T & Move (T &t)
 
String GetCGULVersion ()
 
UInt32 GetCGULVersionMajor ()
 
UInt32 GetCGULVersionMinor ()
 
UInt32 GetCGULVersionPatch ()
 
String GetCGULCompilerName ()
 

Variables

const SInt8 SInt8Min = 127
 
const SInt8 SInt8Max = -(127) - 1
 
const UInt8 UInt8Min = 0
 
const UInt8 UInt8Max = 255
 
const SInt16 SInt16Min = -(32767) - 1
 
const SInt16 SInt16Max = 32767
 
const UInt16 UInt16Min = 0
 
const UInt16 UInt16Max = 65535
 
const SInt32 SInt32Min = -(2147483647) - 1
 
const SInt32 SInt32Max = 2147483647
 
const UInt32 UInt32Min = 0
 
const UInt32 UInt32Max = 4294967295U
 

Detailed Description

General utility library.

Typedef Documentation

typedef SIntN CGUL::Enum

A type capable of holding an enumeration.

Enumerations are iffy in C++. Older compilers hate typed enumerations. It's best, for portability, to reference all enumerations as system-specific sized integer. (and hope that you never need more than 65535 enumerations)

typedef int CGUL::SIntN

System dependent signed integer.

CGUL redefines some of the standard integers in C and C++ for explicitness. It is clear that using "SInt" rather than "SInt32" that the user wants a system-dependent (and usually "faster") integer rather than a fixed size integer. Short integers will be less than or equal in size as "normal" integers (SInt and UInt) and long integers will be larger than or equal in size as "normal" integers. Note that, depending on whatever wonky system/compiler you're using, all three types of integers could be the the same size, all the way down to 8 bytes small. On modern systems most short integers will be 16 bits, "normal" integers will be 32 bits, and long integers will be 32 bits on a 32 bit machine and 64 bits on a 64 bit machine.

See Also
SShort
UShort
SInt
UInt
SLong
ULong
typedef long CGUL::SLongN

System dependent signed long integer.

See Also
SInt
typedef short CGUL::SShortN

System dependent signed short integer.

See Also
SInt
typedef unsigned int CGUL::UIntN

System dependent unsigned integer.

See Also
SInt
typedef unsigned long CGUL::ULongN

System dependent unsigned long integer.

See Also
SInt
typedef unsigned short CGUL::UShortN

System dependent unsigned short integer.

See Also
SInt

Function Documentation

CGUL::String CGUL::GetCGULCompilerName ( )

The string returned is in no specific parseable format and is only useful for debugging. The compiler used to build CGUL is determined by the CMake build system and any unknown compiler will result in an "Unknown" compiler.

Returns
A string containing information about the compiler.
CGUL::String CGUL::GetCGULVersion ( )
Returns
A version in the format "1.2.3"
CGUL::UInt32 CGUL::GetCGULVersionMajor ( )
Returns
The major version number (first digit in "1.2.3").
CGUL::UInt32 CGUL::GetCGULVersionMinor ( )
Returns
The minor version number (second digit in "1.2.3").
CGUL::UInt32 CGUL::GetCGULVersionPatch ( )
Returns
The patch version number (third digit in "1.2.3").