mulle_snprintf(buf, size, fmt, ...) |
C |
char * (caller buf) |
caller owns storage |
yes |
yes |
— |
returns -1 on overflow, always NULs |
mulle_sprintf(buf, fmt, ...) |
C |
char * (caller buf) |
caller owns storage |
yes |
yes |
— |
unsafe — no size limit |
mulle_vsnprintf(buf, size, fmt, va) |
C |
char * (caller buf) |
caller owns storage |
yes |
yes (va_list) |
— |
va_list variant |
mulle_mvsnprintf(buf, size, fmt, va) |
C |
char * (caller buf) |
caller owns storage |
yes |
yes (mulle_vararg) |
— |
mulle_vararg variant |
mulle_asprintf(&strp, fmt, ...) |
C |
char * (heap) |
caller must mulle_free() |
yes |
yes |
mulle_default_allocator |
heap string, use with mulle_malloc family |
mulle_vasprintf(&strp, fmt, va) |
C |
char * (heap) |
caller must mulle_free() |
yes |
yes (va_list) |
mulle_default_allocator |
va_list variant |
mulle_mvasprintf(&strp, fmt, va) |
C |
char * (heap) |
caller must mulle_free() |
yes |
yes (mulle_vararg) |
mulle_default_allocator |
mulle_vararg variant |
mulle_allocator_asprintf(a, &p, fmt, ...) |
C |
char * (heap) |
caller must free via a |
yes |
yes |
custom |
supply your own allocator |
mulle_allocator_vasprintf(a, &p, fmt, va) |
C |
char * (heap) |
caller must free via a |
yes |
yes (va_list) |
custom |
supply your own allocator |
mulle_sprintf_do(s, fmt, ...) { … } |
C |
char * (stack buffer) |
valid only inside {…} block |
yes |
yes |
— |
stack-local; auto-cleanup on block exit |
mulle_vsprintf_do(s, fmt, args) { … } |
C |
char * (stack buffer) |
valid only inside {…} block |
yes |
yes (va_list) |
— |
va_list variant of above |
mulle_buffer_sprintf(buf, fmt, ...) |
C |
appends to mulle_buffer |
buffer owns |
no |
yes |
buffer's allocator |
does not NUL-terminate; call mulle_buffer_make_string() if needed |
mulle_buffer_vsprintf(buf, fmt, va) |
C |
appends to mulle_buffer |
buffer owns |
no |
yes (va_list) |
buffer's allocator |
va_list variant |
mulle_buffer_mvsprintf(buf, fmt, va) |
C |
appends to mulle_buffer |
buffer owns |
no |
yes (mulle_vararg) |
buffer's allocator |
mulle_vararg variant |
mulle_buffer_do(name) { … } |
C |
mulle_buffer * (stack) |
auto-cleanup on block exit |
no |
— |
NULL (default) |
idiomatic short-lived buffer |
mulle_buffer_do_flexible(name, capacity) { … } |
C |
mulle_buffer * (stack) |
auto-cleanup on block exit |
no |
— |
NULL (default) |
with custom starting capacity |
mulle_buffer_add_string(buf, s) |
C |
appends to mulle_buffer |
buffer owns |
no |
— |
buffer's allocator |
raw string append |
mulle_buffer_add_bytes(buf, bytes, len) |
C |
appends to mulle_buffer |
buffer owns |
no |
— |
buffer's allocator |
raw binary append |
mulle_buffer_extract_string(buf) |
C |
char * (heap) |
caller owns, must free |
yes |
— |
buffer's allocator |
steals ownership from buffer |
mulle_buffer_extract_bytes(buf) |
C |
void * (heap) |
caller owns, must free |
no |
— |
buffer's allocator |
steals ownership from buffer |
mulle_printf(fmt, ...) |
C |
stdout (stream) |
— |
yes |
yes |
— |
output to stdout |
mulle_fprintf(fp, fmt, ...) |
C |
FILE * (stream) |
— |
yes |
yes |
— |
output to any FILE stream |
mulle_dtostr(value, buf) |
C |
char * (caller buf) |
caller owns storage |
yes |
— |
— |
double→string; buffer must be ≥25 bytes |
mulle_dtostr_decompose(value) |
C |
struct mulle_dtostr_decimal |
value type |
— |
— |
— |
decompose double, custom format |
mulle_utf8_convert_to_utf16_string(src, len, a) |
C |
mulle_utf16_t * (heap) |
caller must free via a |
yes |
— |
custom |
encoding conversion |
mulle_utf8_convert_to_utf32_string(src, len, a) |
C |
mulle_utf32_t * (heap) |
caller must free via a |
yes |
— |
custom |
encoding conversion |
|
|
|
|
|
|
|
|
MulleObjC_asprintf(fmt, ...) |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
yes |
mulle_default_allocator |
wrapped in autorelease pool |
MulleObjC_vasprintf(fmt, args) |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
yes (va_list) |
mulle_default_allocator |
va_list variant |
MulleObjC_mvasprintf(fmt, args) |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
yes (mulle_vararg) |
mulle_default_allocator |
mulle_vararg variant |
MulleObjC_strdup(s) |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
— |
mulle_default_allocator |
autoreleased copy of C string |
mulle_buffer_do_autoreleased_string(buf, a, s) { … } |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
— |
custom or NULL |
build in buffer → autorelease result |
MulleObjCAutoreleaseAllocation(p, a) |
ObjC |
void * |
autoreleased — do not free |
— |
— |
custom or NULL |
wrap any malloc'd pointer in autorelease |
-[NSObject UTF8String] |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
— |
— |
equivalent to [[self description] UTF8String] |
-[NSObject description] |
ObjC |
NSString * |
autoreleased |
— |
— |
— |
override to customize |
TypeUTF8String(value) (e.g. CGRectUTF8String, CGSizeUTF8String, …) |
ObjC |
char * (heap) |
autoreleased — do not free |
yes |
— |
— |
type-specific formatting, returns autoreleased C string |
|
|
|
|
|
|
|
|
[NSString stringWithUTF8String:cstr] |
Foundation |
NSString * |
autoreleased |
— |
— |
— |
create NSString from C string |
[NSString stringWithCString:cstr encoding:e] |
Foundation |
NSString * |
autoreleased |
— |
— |
— |
NSString from C string with explicit encoding |
[NSString stringWithFormat:fmt, ...] |
Foundation |
NSString * |
autoreleased |
— |
yes |
— |
formatted NSString |
-[NSString UTF8String] |
Foundation |
char * |
valid for lifetime of NSString |
yes |
— |
— |
get C string from NSString (not autoreleased!) |
NSMutableString + -appendFormat:fmt, ... |
Foundation |
NSMutableString * |
caller retains |
— |
yes |
— |
incrementally build NSString; stringWithFormat: but mutable |
NSMutableString + -appendString:s |
Foundation |
NSMutableString * |
caller retains |
— |
— |
— |
raw NSString append |
NSMutableString + -setString:s |
Foundation |
NSMutableString * |
caller retains |
— |
— |
— |
replace content |
NSStringFromClass(cls) |
Foundation |
NSString * |
autoreleased |
— |
— |
— |
class name as string |
NSStringFromSelector(sel) |
Foundation |
NSString * |
autoreleased |
— |
— |
— |
selector name as string |
@(expr).stringValue |
Foundation |
NSString * |
autoreleased |
— |
— |
— |
boxed value → string |