#ifndef FTMEMORY_H_
#define FTMEMORY_H_
#include <ft2build.h>
#include FT_CONFIG_CONFIG_H
#include <freetype/fttypes.h>
#include "compiler-macros.h"
FT_BEGIN_HEADER
#undef FT_SET_ERROR
#define FT_SET_ERROR( expression ) …
#define FT_OFFSET( base, count ) …
#ifdef __cplusplus
extern "C++"
{
template <typename T> inline T*
cplusplus_typeof( T*,
void *v )
{
return static_cast <T*> ( v );
}
}
#define FT_ASSIGNP …
#else
#define FT_ASSIGNP( p, val ) …
#endif
#ifdef FT_DEBUG_MEMORY
FT_BASE( const char* ) ft_debug_file_;
FT_BASE( long ) ft_debug_lineno_;
#define FT_DEBUG_INNER …
#define FT_ASSIGNP_INNER …
#else
#define FT_DEBUG_INNER( exp ) …
#define FT_ASSIGNP_INNER( p, exp ) …
#endif
FT_BASE( FT_Pointer )
ft_mem_alloc( FT_Memory memory,
FT_Long size,
FT_Error *p_error );
FT_BASE( FT_Pointer )
ft_mem_qalloc( FT_Memory memory,
FT_Long size,
FT_Error *p_error );
FT_BASE( FT_Pointer )
ft_mem_realloc( FT_Memory memory,
FT_Long item_size,
FT_Long cur_count,
FT_Long new_count,
void* block,
FT_Error *p_error );
FT_BASE( FT_Pointer )
ft_mem_qrealloc( FT_Memory memory,
FT_Long item_size,
FT_Long cur_count,
FT_Long new_count,
void* block,
FT_Error *p_error );
FT_BASE( void )
ft_mem_free( FT_Memory memory,
const void* P );
#define FT_MEM_ALLOC( ptr, size ) …
#define FT_MEM_FREE( ptr ) …
#define FT_MEM_NEW( ptr ) …
#define FT_MEM_REALLOC( ptr, cursz, newsz ) …
#define FT_MEM_QALLOC( ptr, size ) …
#define FT_MEM_QNEW( ptr ) …
#define FT_MEM_QREALLOC( ptr, cursz, newsz ) …
#define FT_MEM_ALLOC_MULT( ptr, count, item_size ) …
#define FT_MEM_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) …
#define FT_MEM_QALLOC_MULT( ptr, count, item_size ) …
#define FT_MEM_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) …
#define FT_MEM_SET_ERROR( cond ) …
#define FT_MEM_SET( dest, byte, count ) …
#define FT_MEM_COPY( dest, source, count ) …
#define FT_MEM_MOVE( dest, source, count ) …
#define FT_MEM_ZERO( dest, count ) …
#define FT_ZERO( p ) …
#define FT_ARRAY_ZERO( dest, count ) …
#define FT_ARRAY_COPY( dest, source, count ) …
#define FT_ARRAY_MOVE( dest, source, count ) …
#define FT_ARRAY_MAX( ptr ) …
#define FT_ARRAY_CHECK( ptr, count ) …
#define FT_MEM_NEW_ARRAY( ptr, count ) …
#define FT_MEM_RENEW_ARRAY( ptr, cursz, newsz ) …
#define FT_MEM_QNEW_ARRAY( ptr, count ) …
#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) …
#define FT_ALLOC( ptr, size ) …
#define FT_REALLOC( ptr, cursz, newsz ) …
#define FT_ALLOC_MULT( ptr, count, item_size ) …
#define FT_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) …
#define FT_QALLOC( ptr, size ) …
#define FT_QREALLOC( ptr, cursz, newsz ) …
#define FT_QALLOC_MULT( ptr, count, item_size ) …
#define FT_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) …
#define FT_FREE( ptr ) …
#define FT_NEW( ptr ) …
#define FT_NEW_ARRAY( ptr, count ) …
#define FT_RENEW_ARRAY( ptr, curcnt, newcnt ) …
#define FT_QNEW( ptr ) …
#define FT_QNEW_ARRAY( ptr, count ) …
#define FT_QRENEW_ARRAY( ptr, curcnt, newcnt ) …
FT_BASE( FT_Pointer )
ft_mem_strdup( FT_Memory memory,
const char* str,
FT_Error *p_error );
FT_BASE( FT_Pointer )
ft_mem_dup( FT_Memory memory,
const void* address,
FT_ULong size,
FT_Error *p_error );
#define FT_MEM_STRDUP( dst, str ) …
#define FT_STRDUP( dst, str ) …
#define FT_MEM_DUP( dst, address, size ) …
#define FT_DUP( dst, address, size ) …
FT_BASE( FT_Int )
ft_mem_strcpyn( char* dst,
const char* src,
FT_ULong size );
#define FT_STRCPYN( dst, src, size ) …
FT_END_HEADER
#endif