Open Reality Reference Guide
fbarray.h File Reference

A template class for arrays. More...

#include <kaydaradef.h>
#include <fbsdk/fbversion.h>
#include <assert.h>
#include <string.h>

Go to the source code of this file.

Classes

class  FBArrayTemplate< Type >
 Template class to contain an array of items. More...
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Ensure that FBSDK_DLL is defined only once... More...
 
#define FB_DEFINE_ARRAY(DllTag, Type)    typedef class DllTag FBArrayTemplate< FB##Type* > FBArray##Type;
 Define an array (template) for a component (discard the FB..). More...
 
#define FBImplementArray(DllTag, Type)    template class DllTag FBSDKNamespaceFunc( FBArrayTemplate ) < FB##Type* >;
 Implement an array. More...
 

Typedefs

typedef class K_DLLIMPORT FBArrayTemplate< bool * > FBArrayHBool
 Pre-defined common used array types. More...
 
typedef class K_DLLIMPORT FBArrayTemplate< char * > FBArrayHChar
 
typedef class K_DLLIMPORT FBArrayTemplate< int * > FBArrayHkInt
 
typedef class K_DLLIMPORT FBArrayTemplate< unsigned int * > FBArrayHkUInt
 
typedef class K_DLLIMPORT FBArrayTemplate< float * > FBArrayHkFloat
 
typedef class K_DLLIMPORT FBArrayTemplate< double * > FBArrayHkDouble
 
typedef class K_DLLIMPORT FBArrayTemplate< void * > FBArrayHVoid
 
typedef class K_DLLIMPORT FBArrayTemplate< bool > FBArrayBool
 
typedef class K_DLLIMPORT FBArrayTemplate< char > FBArrayChar
 
typedef class K_DLLIMPORT FBArrayTemplate< int > FBArrayInt
 
typedef class K_DLLIMPORT FBArrayTemplate< unsigned int > FBArrayUInt
 
typedef class K_DLLIMPORT FBArrayTemplate< float > FBArrayFloat
 
typedef class K_DLLIMPORT FBArrayTemplate< double > FBArrayDouble
 

Functions

K_DLLIMPORT void * FBRealloc (void *memblock, size_t size)
 General allocation function, actually calling standard function "realloc". More...
 
K_DLLIMPORT void FBFree (void *memblock)
 General free function, actually calling standard function "free". More...
 

Detailed Description

A template class for arrays.

Definition in file fbarray.h.

Macro Definition Documentation

◆ FB_DEFINE_ARRAY

#define FB_DEFINE_ARRAY (   DllTag,
  Type 
)     typedef class DllTag FBArrayTemplate< FB##Type* > FBArray##Type;

Define an array (template) for a component (discard the FB..).

Define a type corresponding to the array in the header file.

Parameters
DllTagAssociated DLL.
TypeType (component) to register as an array (discard the FB).

Definition at line 360 of file fbarray.h.

◆ FBImplementArray

#define FBImplementArray (   DllTag,
  Type 
)     template class DllTag FBSDKNamespaceFunc( FBArrayTemplate ) < FB##Type* >;

Implement an array.

Instanciates the template class in the *.cxx file.

Parameters
DllTagAssociated DLL.
TypeType to register as an array.

Definition at line 368 of file fbarray.h.

◆ FBSDK_DLL

#define FBSDK_DLL   K_DLLIMPORT

Ensure that FBSDK_DLL is defined only once...

Definition at line 47 of file fbarray.h.

Typedef Documentation

◆ FBArrayHBool

typedef class K_DLLIMPORT FBArrayTemplate<bool *> FBArrayHBool

Pre-defined common used array types.

Definition at line 69 of file fbarray.h.

Function Documentation

◆ FBFree()

K_DLLIMPORT void FBFree ( void *  memblock)

General free function, actually calling standard function "free".

Parameters
memblockMemory block to free.

Referenced by FBArrayTemplate< FBConsoleChannel * >::Clear().

◆ FBRealloc()

K_DLLIMPORT void* FBRealloc ( void *  memblock,
size_t  size 
)

General allocation function, actually calling standard function "realloc".

Parameters
memblockMemory block to reallocate.
sizeSize of block to allocate
Returns
new allocated or resized block.

Referenced by FBArrayTemplate< FBConsoleChannel * >::InsertAt(), and FBArrayTemplate< FBConsoleChannel * >::SetCount().