+
Point of view
All features
expanded class FOREIGN_TYPES
Summary
Direct parents
Insert list: ANY, FFI_EXTERNALS
Overview
Features
{ANY}
  • copy (other: FOREIGN_TYPES)
    Update current object using fields of object attached to other, so as to yield equal objects.
  • is_equal (other: FOREIGN_TYPES): BOOLEAN
    Is other attached to an object considered equal to current object?
Types
{ANY}
Objects factory
{ANY}
Objects conversion back from the external call
{}
External calls hidden function __builtin_memcpy skipped.
{}
variable-size types
{WRAPPER_HANDLER}
C type definitions (typedefs)
{WRAPPER_HANDLER}
  • comparison_fn_t: POINTER
    typedef comparison_fn_t from /usr/include/stdlib.h Empty by design, used for anchored declarations.
  • timer_t: POINTER
    typedef timer_t from /usr/include/time.h Empty by design, used for anchored declarations.
  • clockid_t: INTEGER_32
    typedef clockid_t from /usr/include/time.h Empty by design, used for anchored declarations.
  • time_t: INTEGER_64
    typedef time_t from /usr/include/time.h Empty by design, used for anchored declarations.
  • clock_t: INTEGER_64
    typedef clock_t from /usr/include/time.h Empty by design, used for anchored declarations.
  • uintmax_t: NATURAL_64
    typedef uintmax_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • intmax_t: INTEGER_64
    typedef intmax_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uintptr_t: NATURAL_64
    typedef uintptr_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • intptr_t: INTEGER_64
    typedef intptr_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_fast64_t: NATURAL_64
    typedef uint_fast64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_fast32_t: NATURAL_64
    typedef uint_fast32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_fast16_t: NATURAL_64
    typedef uint_fast16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_fast8_t: CHARACTER
    typedef uint_fast8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_fast64_t: INTEGER_64
    typedef int_fast64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_fast32_t: INTEGER_64
    typedef int_fast32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_fast16_t: INTEGER_64
    typedef int_fast16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_fast8_t: CHARACTER
    typedef int_fast8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_least64_t: NATURAL_64
    typedef uint_least64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_least32_t: NATURAL_32
    typedef uint_least32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_least16_t: NATURAL_16
    typedef uint_least16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint_least8_t: CHARACTER
    typedef uint_least8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_least64_t: INTEGER_64
    typedef int_least64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_least32_t: INTEGER_32
    typedef int_least32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_least16_t: INTEGER_16
    typedef int_least16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int_least8_t: CHARACTER
    typedef int_least8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint64_t: NATURAL_64
    typedef uint64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint32_t: NATURAL_32
    typedef uint32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint16_t: NATURAL_16
    typedef uint16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • uint8_t: CHARACTER
    typedef uint8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int64_t: INTEGER_64
    typedef int64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int32_t: INTEGER_32
    typedef int32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int16_t: INTEGER_16
    typedef int16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • int8_t: CHARACTER
    typedef int8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • ssize_t: INTEGER_64
    typedef ssize_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • off64_t: INTEGER_64
    typedef off64_t from /usr/include/stdio.h Empty by design, used for anchored declarations.
  • off_t: INTEGER_64
    typedef off_t from /usr/include/stdio.h Empty by design, used for anchored declarations.
  • size_t: NATURAL_64
    typedef size_t from /usr/include/stdlib.h Empty by design, used for anchored declarations.
  • ptrdiff_t: INTEGER_64
    typedef ptrdiff_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
  • error_t: INTEGER_32
    typedef error_t from /usr/include/errno.h Empty by design, used for anchored declarations.
copy (other: FOREIGN_TYPES)
effective procedure
{ANY}
Update current object using fields of object attached to other, so as to yield equal objects.
Note: you can't copy object from a different dynamic type.
require
      • not immutable
      • same_dynamic_type(other)
      • not immutable
      • same_dynamic_type(other)
    • not immutable
    • same_dynamic_type(other)
ensure
  • is_equal(other)
is_equal (other: FOREIGN_TYPES): BOOLEAN
effective function
{ANY}
Is other attached to an object considered equal to current object?
require
      • other /= Void
      • other /= Void
    • other /= Void
ensure
  • commutative: generating_type = other.generating_type implies Result = other.is_equal(Current)
nothing: FOREIGN_TYPE
once function
{ANY}
uint8: FOREIGN_TYPE
once function
{ANY}
sint8: FOREIGN_TYPE
once function
{ANY}
uint16: FOREIGN_TYPE
once function
{ANY}
sint16: FOREIGN_TYPE
once function
{ANY}
uint32: FOREIGN_TYPE
once function
{ANY}
sint32: FOREIGN_TYPE
once function
{ANY}
uint64: FOREIGN_TYPE
once function
{ANY}
sint64: FOREIGN_TYPE
once function
{ANY}
float: FOREIGN_TYPE
once function
{ANY}
double: FOREIGN_TYPE
once function
{ANY}
schar: FOREIGN_TYPE
once function
{ANY}
c_string: FOREIGN_TYPE
once function
{ANY}
pointer: FOREIGN_TYPE
once function
{ANY}
create_uint8 (data: NATURAL_8): FOREIGN_OBJECT
effective function
{ANY}
create_sint8 (data: INTEGER_8): FOREIGN_OBJECT
effective function
{ANY}
create_uint16 (data: NATURAL_16): FOREIGN_OBJECT
effective function
{ANY}
create_sint16 (data: INTEGER_16): FOREIGN_OBJECT
effective function
{ANY}
create_uint32 (data: NATURAL_32): FOREIGN_OBJECT
effective function
{ANY}
create_sint32 (data: INTEGER_32): FOREIGN_OBJECT
effective function
{ANY}
create_uint64 (data: NATURAL_64): FOREIGN_OBJECT
effective function
{ANY}
create_sint64 (data: INTEGER_64): FOREIGN_OBJECT
effective function
{ANY}
create_float (data: REAL_32): FOREIGN_OBJECT
effective function
{ANY}
create_double (data: REAL_64): FOREIGN_OBJECT
effective function
{ANY}
create_schar (data: CHARACTER): FOREIGN_OBJECT
effective function
{ANY}
create_string (a_string: ABSTRACT_STRING): FOREIGN_OBJECT
effective function
{ANY}
A newly allocated FOREIGN_OBJECT referring to the interned buffer of a_string
create_pointer (data: POINTER): FOREIGN_OBJECT
effective function
{ANY}
new_uint8: FOREIGN_OBJECT
effective function
{}
new_sint8: FOREIGN_OBJECT
effective function
{}
new_uint16: FOREIGN_OBJECT
effective function
{}
new_sint16: FOREIGN_OBJECT
effective function
{}
new_uint32: FOREIGN_OBJECT
effective function
{}
new_sint32: FOREIGN_OBJECT
effective function
{}
new_uint64: FOREIGN_OBJECT
effective function
{}
new_sint64: FOREIGN_OBJECT
effective function
{}
new_float: FOREIGN_OBJECT
effective function
{}
new_double: FOREIGN_OBJECT
effective function
{}
new_schar: FOREIGN_OBJECT
effective function
{}
new_pointer: FOREIGN_OBJECT
effective function
{}
new_c_string: FOREIGN_OBJECT
effective function
{}
ffi_call (a_cif: POINTER, a_fn: POINTER, a_rvalue: POINTER, an_avalue: POINTER)
{}
function ffi_call (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_call
ffi_closure_alloc (a_size: NATURAL_64, a_code: POINTER): POINTER
{}
function ffi_closure_alloc (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_closure_alloc
ffi_closure_free (argument_1: POINTER)
{}
function ffi_closure_free (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_closure_free
ffi_java_ptrarray_to_raw (a_cif: POINTER, an_args: POINTER, a_raw: POINTER)
{}
function ffi_java_ptrarray_to_raw (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_java_ptrarray_to_raw
ffi_java_raw_call (a_cif: POINTER, a_fn: POINTER, a_rvalue: POINTER, an_avalue: POINTER)
{}
function ffi_java_raw_call (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_java_raw_call
ffi_java_raw_size (a_cif: POINTER): NATURAL_64
{}
function ffi_java_raw_size (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_java_raw_size
ffi_java_raw_to_ptrarray (a_cif: POINTER, a_raw: POINTER, an_args: POINTER)
{}
function ffi_java_raw_to_ptrarray (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_java_raw_to_ptrarray
ffi_prep_cif (a_cif: POINTER, an_abi: INTEGER_32, a_nargs: NATURAL_32, a_rtype: POINTER, an_atypes: POINTER): INTEGER_32
{}
function ffi_prep_cif (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_cif
ffi_prep_cif_core (a_cif: POINTER, an_abi: INTEGER_32, an_isvariadic: NATURAL_32, a_nfixedargs: NATURAL_32, a_ntotalargs: NATURAL_32, a_rtype: POINTER, an_atypes: POINTER): INTEGER_32
{}
function ffi_prep_cif_core (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_cif_core
ffi_prep_cif_var (a_cif: POINTER, an_abi: INTEGER_32, a_nfixedargs: NATURAL_32, a_ntotalargs: NATURAL_32, a_rtype: POINTER, an_atypes: POINTER): INTEGER_32
{}
function ffi_prep_cif_var (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_cif_var
ffi_prep_closure (argument_1: POINTER, argument_2: POINTER, a_fun: POINTER, an_user_data: POINTER): INTEGER_32
{}
function ffi_prep_closure (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_closure
ffi_prep_closure_loc (argument_1: POINTER, argument_2: POINTER, a_fun: POINTER, an_user_data: POINTER, a_codeloc: POINTER): INTEGER_32
{}
function ffi_prep_closure_loc (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_closure_loc
ffi_prep_java_raw_closure (argument_1: POINTER, a_cif: POINTER, a_fun: POINTER, an_user_data: POINTER): INTEGER_32
{}
function ffi_prep_java_raw_closure (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_java_raw_closure
ffi_prep_java_raw_closure_loc (argument_1: POINTER, a_cif: POINTER, a_fun: POINTER, an_user_data: POINTER, a_codeloc: POINTER): INTEGER_32
{}
function ffi_prep_java_raw_closure_loc (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_java_raw_closure_loc
ffi_prep_raw_closure (argument_1: POINTER, a_cif: POINTER, a_fun: POINTER, an_user_data: POINTER): INTEGER_32
{}
function ffi_prep_raw_closure (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_raw_closure
ffi_prep_raw_closure_loc (argument_1: POINTER, a_cif: POINTER, a_fun: POINTER, an_user_data: POINTER, a_codeloc: POINTER): INTEGER_32
{}
function ffi_prep_raw_closure_loc (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_prep_raw_closure_loc
ffi_ptrarray_to_raw (a_cif: POINTER, an_args: POINTER, a_raw: POINTER)
{}
function ffi_ptrarray_to_raw (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_ptrarray_to_raw
ffi_raw_call (a_cif: POINTER, a_fn: POINTER, a_rvalue: POINTER, an_avalue: POINTER)
{}
function ffi_raw_call (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_raw_call
ffi_raw_size (a_cif: POINTER): NATURAL_64
{}
function ffi_raw_size (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_raw_size
ffi_raw_to_ptrarray (a_cif: POINTER, a_raw: POINTER, an_args: POINTER)
{}
function ffi_raw_to_ptrarray (in /usr/include/x86_64-linux-gnu/ffi.h) ffi_raw_to_ptrarray
address_of_ffi_type_complex_double: POINTER
{}
Address of ffi_type_complex_double
address_of_ffi_type_complex_float: POINTER
{}
Address of ffi_type_complex_float
address_of_ffi_type_complex_longdouble: POINTER
{}
Address of ffi_type_complex_longdouble
address_of_ffi_type_double: POINTER
{}
Address of ffi_type_double
address_of_ffi_type_float: POINTER
{}
Address of ffi_type_float
address_of_ffi_type_longdouble: POINTER
{}
Address of ffi_type_longdouble
address_of_ffi_type_pointer: POINTER
{}
Address of ffi_type_pointer
address_of_ffi_type_sint16: POINTER
{}
Address of ffi_type_sint16
address_of_ffi_type_sint32: POINTER
{}
Address of ffi_type_sint32
address_of_ffi_type_sint64: POINTER
{}
Address of ffi_type_sint64
address_of_ffi_type_sint8: POINTER
{}
Address of ffi_type_sint8
address_of_ffi_type_uint16: POINTER
{}
Address of ffi_type_uint16
address_of_ffi_type_uint32: POINTER
{}
Address of ffi_type_uint32
address_of_ffi_type_uint64: POINTER
{}
Address of ffi_type_uint64
address_of_ffi_type_uint8: POINTER
{}
Address of ffi_type_uint8
address_of_ffi_type_void: POINTER
{}
Address of ffi_type_void
long: INTEGER_64
effective function
a query with the same type of c 'long int'.
useful when dealing with code that uses long int variable: just insert th class and mark the type as 'like long'
long_unsigned: NATURAL_64
effective function
a query with the same type of c 'long unsigned int'.
useful when dealing with code that uses long int variable: just insert th class and mark the type as 'like long_unsigned'
comparison_fn_t: POINTER
effective function
typedef comparison_fn_t from /usr/include/stdlib.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
timer_t: POINTER
effective function
typedef timer_t from /usr/include/time.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
clockid_t: INTEGER_32
effective function
typedef clockid_t from /usr/include/time.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
time_t: INTEGER_64
effective function
typedef time_t from /usr/include/time.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
clock_t: INTEGER_64
effective function
typedef clock_t from /usr/include/time.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uintmax_t: NATURAL_64
effective function
typedef uintmax_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
intmax_t: INTEGER_64
effective function
typedef intmax_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uintptr_t: NATURAL_64
effective function
typedef uintptr_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
intptr_t: INTEGER_64
effective function
typedef intptr_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_fast64_t: NATURAL_64
effective function
typedef uint_fast64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_fast32_t: NATURAL_64
effective function
typedef uint_fast32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_fast16_t: NATURAL_64
effective function
typedef uint_fast16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_fast8_t: CHARACTER
effective function
typedef uint_fast8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_fast64_t: INTEGER_64
effective function
typedef int_fast64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_fast32_t: INTEGER_64
effective function
typedef int_fast32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_fast16_t: INTEGER_64
effective function
typedef int_fast16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_fast8_t: CHARACTER
effective function
typedef int_fast8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_least64_t: NATURAL_64
effective function
typedef uint_least64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_least32_t: NATURAL_32
effective function
typedef uint_least32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_least16_t: NATURAL_16
effective function
typedef uint_least16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint_least8_t: CHARACTER
effective function
typedef uint_least8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_least64_t: INTEGER_64
effective function
typedef int_least64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_least32_t: INTEGER_32
effective function
typedef int_least32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_least16_t: INTEGER_16
effective function
typedef int_least16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int_least8_t: CHARACTER
effective function
typedef int_least8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint64_t: NATURAL_64
effective function
typedef uint64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint32_t: NATURAL_32
effective function
typedef uint32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint16_t: NATURAL_16
effective function
typedef uint16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
uint8_t: CHARACTER
effective function
typedef uint8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int64_t: INTEGER_64
effective function
typedef int64_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int32_t: INTEGER_32
effective function
typedef int32_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int16_t: INTEGER_16
effective function
typedef int16_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
int8_t: CHARACTER
effective function
typedef int8_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
ssize_t: INTEGER_64
effective function
typedef ssize_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
off64_t: INTEGER_64
effective function
typedef off64_t from /usr/include/stdio.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
off_t: INTEGER_64
effective function
typedef off_t from /usr/include/stdio.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
size_t: NATURAL_64
effective function
typedef size_t from /usr/include/stdlib.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
ptrdiff_t: INTEGER_64
effective function
typedef ptrdiff_t from /usr/include/stdint.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default
error_t: INTEGER_32
effective function
typedef error_t from /usr/include/errno.h Empty by design, used for anchored declarations.
ensure
  • Result.is_default