1#ifndef HALIDE_OBJC_SUPPORT_H
2#define HALIDE_OBJC_SUPPORT_H
69 typedef objc_id (*init_with_bytes_no_copy_method)(
objc_id ns_string,
objc_sel sel,
const char *string,
size_t length,
size_t encoding,
uint8_t freeWhenDone);
73 init_with_bytes_no_copy_method method = (init_with_bytes_no_copy_method)&
objc_msgSend;
74 return (*method)(ns_string,
sel_getUid(
"initWithBytesNoCopy:length:encoding:freeWhenDone:"),
75 string, length, 4, 0);
78extern "C" size_t strlen(
const char *
string);
83 NSLog(format_string, ns_string);
90 NSLog(format_string, obj);
WEAK void retain_ns_object(objc_id obj)
size_t strlen(const char *string)
WEAK void release_ns_object(objc_id obj)
WEAK void drain_autorelease_pool(objc_id pool)
WEAK void ns_log_utf8_string(const char *string)
WEAK objc_id wrap_string_as_ns_string(const char *string, size_t length)
WEAK void ns_log_object(objc_id obj)
WEAK objc_id create_autorelease_pool()
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
objc_id objc_getClass(const char *name)
void NSLog(objc_id format,...)
objc_sel sel_getUid(const char *string)
unsigned __INT8_TYPE__ uint8_t