[Proposal] Add module for C-strings support in Phobos

Denis Shelomovskij verylonglogin.reg at gmail.com
Thu Mar 20 01:24:25 PDT 2014


It's filed as enhancement 12418 [2]:

C-strings processing is a special and common case so:
1. C-strings should be supported with both performance and usability.
2. There should be a dedicated module for C-strings (instead of adding 
such functions here and there in other modules).

Current state: there is no good support for C-strings in Phobos, there 
is slow and broken `toStringz` (Issue 12417 [3]), and no standard way to 
make many common operations, like converting returned C-string to string 
and releasing its memory or creating a C-string from string using an 
allocation function.

So I propose to add `unstd.c.string` [1] module to Phobos which include 
all use-cases I have seen implementing (correct and fast in contrast to 
existing ones like GtkD (yes, it's both incorrect and slow because of 
tons of GC allocations)) C library wrappers.


[1] http://denis-sh.bitbucket.org/unstandard/unstd.c.string.html
[2] https://d.puremagic.com/issues/show_bug.cgi?id=12418
[3] https://d.puremagic.com/issues/show_bug.cgi?id=12417

-- 
Денис В. Шеломовский
Denis V. Shelomovskij


More information about the Digitalmars-d mailing list