APIdock / Ruby
/
method

check_signedness

ruby latest stable - Class: Object

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v1_9_3_392) is shown here.

check_signedness(type, headers = nil, opts = nil, &b)
public

Returns the signedness of the given type . You may optionally specify additional headers to search in for the type .

If the type is found and is a numeric type, a macro is passed as a preprocessor constant to the compiler using the type name, in uppercase, prepended with ‘SIGNEDNESS_OF_’, followed by the type name, followed by ‘=X’ where ‘X’ is positive integer if the type is unsigned, or negative integer if the type is signed.

For example, if size_t is defined as unsigned, then check_signedness(‘size_t’) would returned +1 and the SIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to the compiler, and SIGNEDNESS_OF_INT=-1 if check_signedness(‘int’) is done.

# File lib/mkmf.rb, line 1178
def check_signedness(type, headers = nil, opts = nil, &b)
 typedef, member, prelude = typedef_expr(type, headers)
 signed = nil
 checking_for("signedness of #{type}", STRING_OR_FAILED_FORMAT) do
 signed = try_signedness(typedef, member, [prelude], opts, &b) or next nil
 $defs.push("-DSIGNEDNESS_OF_%s=%+d" % [type.tr_cpp, signed])
 signed < 0 ? "signed" : "unsigned"
 end
 signed
end

AltStyle によって変換されたページ (->オリジナル) /