c_pointer_types.sa
Generated by gen_html_sa_files from ICSI. Contact gomes@icsi.berkeley.edu for details
immutable class C_CHAR_PTR
immutable class C_CHAR_PTR is
-- ANSI C ``char *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{CHAR};
zero:SAME is builtin C_CHAR_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_CHAR_PTR_IS_EQ; end;
end;
immutable class C_UNSIGNED_CHAR_PTR
immutable class C_UNSIGNED_CHAR_PTR is
-- ANSI C ``unsigned char *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{CHAR};
zero:SAME is builtin C_UNSIGNED_CHAR_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_UNSIGNED_CHAR_PTR_IS_EQ; end;
end;
immutable class C_SIGNED_CHAR_PTR
immutable class C_SIGNED_CHAR_PTR is
-- ANSI C ``signed char *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{CHAR};
zero:SAME is builtin C_SIGNED_CHAR_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_SIGNED_CHAR_PTR_IS_EQ; end;
end;
immutable class C_SHORT_PTR
immutable class C_SHORT_PTR is
-- ANSI C ``short *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
zero:SAME is builtin C_SHORT_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_SHORT_PTR_IS_EQ; end;
end;
immutable class C_INT_PTR
immutable class C_INT_PTR is
-- ANSI C ``int *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{INT};
zero:SAME is builtin C_INT_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_INT_PTR_IS_EQ; end;
end;
immutable class C_LONG_PTR
immutable class C_LONG_PTR is
-- ANSI C ``long *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
zero:SAME is builtin C_LONG_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_LONG_PTR_IS_EQ; end;
end;
immutable class C_UNSIGNED_SHORT_PTR
immutable class C_UNSIGNED_SHORT_PTR is
-- ANSI C ``unsigned short *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
zero:SAME is builtin C_UNSIGNED_SHORT_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_UNSIGNED_SHORT_PTR_IS_EQ; end;
end;
immutable class C_UNSIGNED_INT_PTR
immutable class C_UNSIGNED_INT_PTR is
-- ANSI C ``unsigned int *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{INT};
zero:SAME is builtin C_UNSIGNED_INT_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_UNSIGNED_INT_PTR_IS_EQ; end;
end;
immutable class C_UNSIGNED_LONG_PTR
immutable class C_UNSIGNED_LONG_PTR is
-- ANSI C ``unsigned long *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
zero:SAME is builtin C_UNSIGNED_LONG_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_UNSIGNED_LONG_PTR_IS_EQ; end;
end;
immutable class C_FLOAT_PTR
immutable class C_FLOAT_PTR is
-- ANSI C ``int *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{C_FLOAT};
zero:SAME is builtin C_FLOAT_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_FLOAT_PTR_IS_EQ; end;
end;
immutable class C_DOUBLE_PTR
immutable class C_DOUBLE_PTR is
-- ANSI C ``int *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
include CREATE_C_PTR{FLTD};
zero:SAME is builtin C_DOUBLE_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_DOUBLE_PTR_IS_EQ; end;
end;
immutable class C_LONG_DOUBLE_PTR
immutable class C_LONG_DOUBLE_PTR is
-- ANSI C ``int *'' (built in type)
include COMPARABLE;
include CONVERT_FROM_C_PTR;
zero:SAME is builtin C_LONG_DOUBLE_PTR_ZERO; end;
is_eq(p:SAME):BOOL is builtin C_LONG_DOUBLE_PTR_IS_EQ; end;
end;
partial class CONVERT_FROM_C_PTR
partial class CONVERT_FROM_C_PTR is
-- create from void*
create(vptr:C_PTR):SAME is
builtin CONVERT_FROM_C_PTR_CREATE_C_PTR;
end;
end;
partial class CREATE_C_PTR{T<$OB}
partial class CREATE_C_PTR{T<$OB} is
-- create routines for C pointer types
create(arr:ARRAY{T}):SAME is
return create(arr.array_ptr);
end;
create(arr:ARRAY2{T}):SAME is
return create(arr.array_ptr);
end;
create(arr:ARRAY3{T}):SAME is
return create(arr.array_ptr);
end;
-- other constructors should be added here when needed
end;