Provided by: libustr-dev_1.0.4-3ubuntu2_amd64
ustr-import - ustr string library import tool
ustr-import [--32|--64] [-d][d] [-c] [-b x] [-e 1|0] [-s 1|0] section
This tool lets you use the Ustr string library without incuring dependencies on the library itself, so API/ABI compatibility is 100% (nothing changes unless you do it) and installing your application doesn't require the library to be pre-installed.
--32 If you installed with multilib, this runs the 32 bit variant (and installs the variable multilib build code as ustr-conf.h). --64 If you installed with multilib, this runs the 64 bit variant (and installs the variable multilib build code as ustr-conf.h). -d Turn debugging on, USTR_ASSERT() now runs code etc. -d Turn extra debugging on, including End of String (EOS) markers that takeup space. Note that you can do -dd to add both at once. -c Use C files, this requires that you alter the build system to compile the C files and link them into your application. The default is to just provide headers that you can just include. -b Specify the default reference count byte size: 0, 1, 2 or 4 (or 8 on 64 bit platforms). Note that 2 bytes is the minimum if you have explicit size storage. -e Specify the default exact sized allocations flag, without this flag allocations are rounded up to the neared half power of two. -s Specify the default explicit size storage flag, without this flag allocations have an implicit size based on their length with it a size value is stored with the string (thus taking significantly larger space for small strings, but this doesn't require reallocating the string when growing and shrinking the string). Note that turning this on also increases the minimum sizes for length and reference count storage.
all All of the following sections are included. b Working with binary numbers in NBO format. cmp Comparing, strcmp() for Ustr's, although the Ustr versions are safer and much faster. cntl Control options dynamically. fmt Formatted output, sprintf() for Ustr's. gdb Copy just the .gdbinit file to the local dir. io Input Output. ins Inserting data. main The core functions, including strcat(), strdup() and delete for Ustr's. Always safer and often much faster. parse Parsing integers, Ie. Nice versions of strtol(). pool A bundled memory pool API, to use with the ustrp functions. replace Replacing all occurances of data. sc Shortcut functions for Ustr's. set Setting data, strcpy() for Ustr's. split Slit the data, strtok() / strsep() for Ustr's. spn Spanning, strspn() / strcspn() for Ustr's. srch Searching, strchr() / strrchr() / strstr() for Ustr's, although the Ustr versions are safer and much faster. sub Substituting data. utf8 Working with UTF8.
/ustr/include/ustr-conf.h /ustr/include/ustr-conf-debug.h In multilib. this is the header to choose the correct conf.h header based on the byte size. /ustr/include/ustr*.h The default "extern" header files. /usr/share/ustr-*/ustr-*-internal.h Internal functions, used the implement the public interfaces. /usr/share/ustr-*/ustr-*-code.h The code behind the public interfaces. /usr/share/ustr-*/ustr-*-code.c The C files, which use the code header files to create objects. /usr/share/ustr-*/.gdbinit The GDB init file containing macros to help inspect Ustr's in the debugger.