FMI Library: part of JModelica.org
|
Go to the source code of this file.
Macros | |
#define | jm_mangle_ex(name, type) name## _ ##type |
jm_mange macro is used to construct names for the template instances Extra level (jm_mange_ex) is needed to force argument expansion (pre-scan) More... | |
#define | jm_mangle(name, type) jm_mangle_ex(name,type) |
#define | jm_vector(T) jm_mangle(jm_vector, T) |
jm_vector(T) is the type name (i.e., to be used as jm_vector(int) vi;) More... | |
#define | JM_VECTOR_MINIMAL_CAPACITY 16 |
#define | JM_VECTOR_MAX_MEMORY_CHUNK 1024 |
#define | jm_vector_declare_template(T) |
#define | jm_diff_name(a, b) strcmp(a.name,b.name) |
Functions | |
jm_vector_declare_template (char) static jm_string jm_vector_char2string(jm_vector(char)*v) | |
jm_vector_declare_template (int) jm_vector_declare_template(double) jm_vector_declare_template(jm_voidp) jm_vector_declare_template(size_t) jm_vector_declare_template(jm_string) jm_vector_declare_template(jm_name_ID_map_t) jm_define_comp_f(jm_compare_voidp | |
int jm_diff | jm_define_comp_f (jm_compare_int, int, jm_diff) jm_define_comp_f(jm_compare_char |
int jm_diff jm_diff | jm_define_comp_f (jm_compare_double, double, jm_diff) jm_define_comp_f(jm_compare_size_t |
int jm_diff jm_diff jm_diff | jm_define_comp_f (jm_compare_string, jm_string, strcmp) jm_define_comp_f(jm_compare_name |
Variables | |
int jm_diff | char |
int jm_diff jm_diff | size_t |
int jm_diff jm_diff jm_diff | jm_name_ID_map_t |
int jm_diff jm_diff jm_diff | jm_diff_name |
Vector handling functions. | |||||||
Allocates a vector on heap with the specified size and specified number of preallocated items (can be larger than size). extern jm_vector(T)* jm_vector_alloc(T)(size_t size, size_t capacity, jm_callbacks*c ); Note that there is no need to call jm_vector_init for a vector allocated with this function.
| |||||||
#define | jm_vector_alloc(T) jm_mangle(jm_vector_alloc, T) | ||||||
#define | jm_vector_free(T) jm_mangle(jm_vector_free, T) | ||||||
#define | jm_vector_init(T) jm_mangle(jm_vector_init, T) | ||||||
jm_vector_init initializes a vector allocated on stack. More... | |||||||
#define | jm_vector_free_data(T) jm_mangle(jm_vector_free_data, T) | ||||||
#define | jm_vector_get_size(T) jm_mangle(jm_vector_get_size, T) | ||||||
#define | jm_vector_get_item(T) jm_mangle(jm_vector_get_item, T) | ||||||
#define | jm_vector_get_itemp(T) jm_mangle(jm_vector_get_itemp, T) | ||||||
#define | jm_vector_get_last(T) jm_mangle(jm_vector_get_last, T) | ||||||
#define | jm_vector_get_lastp(T) jm_mangle(jm_vector_get_lastp, T) | ||||||
#define | jm_define_comp_f(F, T, COMPAR_OP) | ||||||
A conveniece macro for comparison function definition. More... | |||||||
#define | jm_diff(first, second) (int)(first-second) | ||||||
#define | jm_vector_find(T) jm_mangle(jm_vector_find, T) | ||||||
jm_vector_find functions use linear search to find items in a vector. JM_COMPAR_OP is used for comparison. More... | |||||||
#define | jm_vector_find_index(T) jm_mangle(jm_vector_find_index, T) | ||||||
#define | jm_vector_qsort(T) jm_mangle(jm_vector_qsort, T) | ||||||
#define | jm_vector_bsearch(T) jm_mangle(jm_vector_bsearch, T) | ||||||
#define | jm_vector_bsearch_index(T) jm_mangle(jm_vector_bsearch_index, T) | ||||||
#define | jm_vector_set_item(T) jm_mangle(jm_vector_set_item, T) | ||||||
#define | jm_vector_zero(T) jm_mangle(jm_vector_zero, T) | ||||||
#define | jm_vector_resize(T) jm_mangle(jm_vector_resize, T) | ||||||
#define | jm_vector_reserve(T) jm_mangle(jm_vector_reserve, T) | ||||||
#define | jm_vector_copy(T) jm_mangle(jm_vector_copy, T) | ||||||
#define | jm_vector_clone(T) jm_mangle(jm_vector_clone, T) | ||||||
#define | jm_vector_append(T) jm_mangle(jm_vector_append, T) | ||||||
#define | jm_vector_insert(T) jm_mangle(jm_vector_insert, T) | ||||||
#define | jm_vector_remove_item(T) jm_mangle(jm_vector_remove_item, T) | ||||||
#define | jm_vector_resize1(T) jm_mangle(jm_vector_resize1, T) | ||||||
#define | jm_vector_push_back(T) jm_mangle(jm_vector_push_back, T) | ||||||
#define | jm_vector_foreach(T) jm_mangle(jm_vector_foreach, T) | ||||||
#define | jm_vector_foreach_c(T) jm_mangle(jm_vector_foreach_c, T) | ||||||
typedef int(* | jm_compare_ft) (const void *, const void *) | ||||||
Function type for item comparison. Can be generated with jm_define_comp_f. More... | |||||||
Definition of jm_vector and supporting functions
Definition in file jm_vector.h.
#define jm_diff_name | ( | a, | |
b | |||
) | strcmp(a.name,b.name) |