|
World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
Functions responsible for allocating, freeing, and copying memory. Подробнее...
Граф связей класса Heap Management:Определения типов | |
| typedef GLsizeiptr | size |
Функции | |
| void * | av_malloc (size_t size) av_malloc_attrib av_alloc_size(1) |
| void * | av_mallocz (size_t size) av_malloc_attrib av_alloc_size(1) |
| av_alloc_size (1, 2) void *av_malloc_array(size_t nmemb | |
| void * | av_calloc (size_t nmemb, size_t size) av_malloc_attrib |
| void * | av_realloc (void *ptr, size_t size) av_alloc_size(2) |
| av_warn_unused_result int | av_reallocp (void *ptr, size_t size) |
| void * | av_realloc_f (void *ptr, size_t nelem, size_t elsize) |
| av_alloc_size (2, 3) void *av_realloc_array(void *ptr | |
| int | av_reallocp_array (void *ptr, size_t nmemb, size_t size) |
| void * | av_fast_realloc (void *ptr, unsigned int *size, size_t min_size) |
| void | av_fast_malloc (void *ptr, unsigned int *size, size_t min_size) |
| void | av_fast_mallocz (void *ptr, unsigned int *size, size_t min_size) |
| void | av_free (void *ptr) |
| void | av_freep (void *ptr) |
| char * | av_strdup (const char *s) av_malloc_attrib |
| char * | av_strndup (const char *s, size_t len) av_malloc_attrib |
| void * | av_memdup (const void *p, size_t size) |
| void | av_memcpy_backptr (uint8_t *dst, int back, int cnt) |
Переменные | |
| size_t | size |
| size_t | nmemb |
Functions responsible for allocating, freeing, and copying memory.
All memory allocation functions have a built-in upper limit of INT_MAX bytes. This may be changed with av_max_alloc(), although exercise extreme caution when doing so.
#include <C:/git/world-of-might-and-magic/lib/win32/x86/sdl2-2.0.12/include/SDL_opengl_glext.h>
См. определение в файле SDL_opengl_glext.h строка 540
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate a memory block with alignment suitable for all memory accesses (including vectors if available on the CPU).
| size | Size in bytes for the memory block to be allocated |
NULL if the block cannot be allocated Используется в Movie::LoadFromLOD() и AudioBufferDataSource::Open().
Граф вызова функции:#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate a memory block with alignment suitable for all memory accesses (including vectors if available on the CPU) and zero all the bytes of the block.
| size | Size in bytes for the memory block to be allocated |
NULL if it cannot be allocated | av_alloc_size | ( | 1 | , |
| 2 | |||
| ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate a memory block for an array with av_malloc().
The allocated memory will have size size * nmemb bytes.
| nmemb | Number of element |
| size | Size of a single element |
NULL if the block cannot be allocated Allocate a memory block for an array with av_mallocz().
The allocated memory will have size size * nmemb bytes.
| nmemb | Number of elements |
| size | Size of the single element |
NULL if the block cannot be allocated#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Non-inlined equivalent of av_mallocz_array().
Created for symmetry with the calloc() C function.
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate, reallocate, or free a block of memory.
If ptr is NULL and size > 0, allocate a new block. If size is zero, free the memory block pointed to by ptr. Otherwise, expand or shrink that block of memory according to size.
| ptr | Pointer to a memory block already allocated with av_realloc() or NULL |
| size | Size in bytes of the memory block to be allocated or reallocated |
NULL if the block cannot be reallocated or the function is used to free the memory block#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate, reallocate, or free a block of memory through a pointer to a pointer.
If *ptr is NULL and size > 0, allocate a new block. If size is zero, free the memory block pointed to by *ptr. Otherwise, expand or shrink that block of memory according to size.
| [in,out] | ptr | Pointer to a pointer to a memory block already allocated with av_realloc(), or a pointer to NULL. The pointer is updated on success, or freed on failure. |
| [in] | size | Size in bytes for the memory block to be allocated or reallocated |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate, reallocate, or free a block of memory.
This function does the same thing as av_realloc(), except:
nelem * elsize bytes, after checking the result of the multiplication for integer overflow.| av_alloc_size | ( | 2 | , |
| 3 | |||
| ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate, reallocate, or free an array.
If ptr is NULL and nmemb > 0, allocate a new block. If nmemb is zero, free the memory block pointed to by ptr.
| ptr | Pointer to a memory block already allocated with av_realloc() or NULL |
| nmemb | Number of elements in the array |
| size | Size of the single element of the array |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate, reallocate, or free an array through a pointer to a pointer.
If *ptr is NULL and nmemb > 0, allocate a new block. If nmemb is zero, free the memory block pointed to by *ptr.
| [in,out] | ptr | Pointer to a pointer to a memory block already allocated with av_realloc(), or a pointer to NULL. The pointer is updated on success, or freed on failure. |
| [in] | nmemb | Number of elements |
| [in] | size | Size of the single element |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Reallocate the given buffer if it is not large enough, otherwise do nothing.
If the given buffer is NULL, then a new uninitialized buffer is allocated.
If the given buffer is not large enough, and reallocation fails, NULL is returned and *size is set to 0, but the original buffer is not changed or freed.
A typical use pattern follows:
| [in,out] | ptr | Already allocated buffer, or NULL |
| [in,out] | size | Pointer to the size of buffer ptr. *size is updated to the new allocated size, in particular 0 in case of failure. |
| [in] | min_size | Desired minimal size of buffer ptr |
ptr if the buffer is large enough, a pointer to newly reallocated buffer if the buffer was not large enough, or NULL in case of error #include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate a buffer, reusing the given one if large enough.
Contrary to av_fast_realloc(), the current buffer contents might not be preserved and on error the old buffer is freed, thus no special handling to avoid memleaks is necessary.
*ptr is allowed to be NULL, in which case allocation always happens if size_needed is greater than 0.
| [in,out] | ptr | Pointer to pointer to an already allocated buffer. *ptr will be overwritten with pointer to new buffer on success or NULL on failure |
| [in,out] | size | Pointer to the size of buffer *ptr. *size is updated to the new allocated size, in particular 0 in case of failure. |
| [in] | min_size | Desired minimal size of buffer *ptr |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Allocate and clear a buffer, reusing the given one if large enough.
Like av_fast_malloc(), but all newly allocated space is initially cleared. Reused buffer is not cleared.
*ptr is allowed to be NULL, in which case allocation always happens if size_needed is greater than 0.
| [in,out] | ptr | Pointer to pointer to an already allocated buffer. *ptr will be overwritten with pointer to new buffer on success or NULL on failure |
| [in,out] | size | Pointer to the size of buffer *ptr. *size is updated to the new allocated size, in particular 0 in case of failure. |
| [in] | min_size | Desired minimal size of buffer *ptr |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Free a memory block which has been allocated with a function of av_malloc() or av_realloc() family.
| ptr | Pointer to the memory block which should be freed. |
ptr = NULL is explicitly allowed. Используется в Movie::ReleaseAVCodec().
Граф вызова функции:#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Free a memory block which has been allocated with a function of av_malloc() or av_realloc() family, and set the pointer pointing to it to NULL.
| ptr | Pointer to the pointer to the memory block which should be freed |
*ptr = NULL is safe and leads to no action. | char* av_strdup | ( | const char * | s | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Duplicate a string.
| s | String to be duplicated |
s or NULL if the string cannot be allocated | char* av_strndup | ( | const char * | s, |
| size_t | len | ||
| ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Duplicate a substring of a string.
| s | String to be duplicated |
| len | Maximum length of the resulting string (not counting the terminating byte) |
s or NULL if the string cannot be allocated #include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Duplicate a buffer with av_malloc().
| p | Buffer to be duplicated |
| size | Size in bytes of the buffer copied |
p or NULL if the buffer cannot be allocated #include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/mem.h>
Overlapping memcpy() implementation.
| dst | Destination buffer |
| back | Number of bytes back to start copying (i.e. the initial size of the overlapping window); must be > 0 |
| cnt | Number of bytes to copy; must be >= 0 |
cnt > back is valid, this will copy the bytes we just copied, thus creating a repeating pattern with a period length of back.