annotate qt/qtd/Str.d @ 1:e78566595089

initial import
author mandel
date Mon, 11 May 2009 16:01:50 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /**
e78566595089 initial import
mandel
parents:
diff changeset
2 *
e78566595089 initial import
mandel
parents:
diff changeset
3 * Copyright: Copyright QtD Team, 2008-2009
e78566595089 initial import
mandel
parents:
diff changeset
4 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>
e78566595089 initial import
mandel
parents:
diff changeset
5 *
e78566595089 initial import
mandel
parents:
diff changeset
6 * Copyright QtD Team, 2008-2009
e78566595089 initial import
mandel
parents:
diff changeset
7 * Distributed under the Boost Software License, Version 1.0.
e78566595089 initial import
mandel
parents:
diff changeset
8 * (See accompanying file boost-license-1.0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
e78566595089 initial import
mandel
parents:
diff changeset
9 *
e78566595089 initial import
mandel
parents:
diff changeset
10 */
e78566595089 initial import
mandel
parents:
diff changeset
11
e78566595089 initial import
mandel
parents:
diff changeset
12 module qt.qtd.Str;
e78566595089 initial import
mandel
parents:
diff changeset
13
e78566595089 initial import
mandel
parents:
diff changeset
14 version (Tango)
e78566595089 initial import
mandel
parents:
diff changeset
15 {
e78566595089 initial import
mandel
parents:
diff changeset
16 import tango.text.convert.Utf : toString;
e78566595089 initial import
mandel
parents:
diff changeset
17 alias char[] string;
e78566595089 initial import
mandel
parents:
diff changeset
18 }
e78566595089 initial import
mandel
parents:
diff changeset
19 else
e78566595089 initial import
mandel
parents:
diff changeset
20 {
e78566595089 initial import
mandel
parents:
diff changeset
21 import std.utf : toString = toUTF8;
e78566595089 initial import
mandel
parents:
diff changeset
22 }
e78566595089 initial import
mandel
parents:
diff changeset
23
e78566595089 initial import
mandel
parents:
diff changeset
24 public static char** toStringzArray(char[][] args)
e78566595089 initial import
mandel
parents:
diff changeset
25 {
e78566595089 initial import
mandel
parents:
diff changeset
26 if ( args is null )
e78566595089 initial import
mandel
parents:
diff changeset
27 {
e78566595089 initial import
mandel
parents:
diff changeset
28 return null;
e78566595089 initial import
mandel
parents:
diff changeset
29 }
e78566595089 initial import
mandel
parents:
diff changeset
30 char** argv = (new char*[args.length]).ptr;
e78566595089 initial import
mandel
parents:
diff changeset
31 int argc = 0;
e78566595089 initial import
mandel
parents:
diff changeset
32 foreach (char[] p; args)
e78566595089 initial import
mandel
parents:
diff changeset
33 {
e78566595089 initial import
mandel
parents:
diff changeset
34 argv[argc++] = cast(char*)(p.dup~'\0');
e78566595089 initial import
mandel
parents:
diff changeset
35 }
e78566595089 initial import
mandel
parents:
diff changeset
36 argv[argc] = null;
e78566595089 initial import
mandel
parents:
diff changeset
37
e78566595089 initial import
mandel
parents:
diff changeset
38 return argv;
e78566595089 initial import
mandel
parents:
diff changeset
39 }
e78566595089 initial import
mandel
parents:
diff changeset
40 version(Windows)
e78566595089 initial import
mandel
parents:
diff changeset
41 {
e78566595089 initial import
mandel
parents:
diff changeset
42 export extern(C) void _d_toUtf8(wchar* arr, uint size, string* str)
e78566595089 initial import
mandel
parents:
diff changeset
43 {
e78566595089 initial import
mandel
parents:
diff changeset
44 *str = toString(arr[0..size]);
e78566595089 initial import
mandel
parents:
diff changeset
45 }
e78566595089 initial import
mandel
parents:
diff changeset
46 }
e78566595089 initial import
mandel
parents:
diff changeset
47 else
e78566595089 initial import
mandel
parents:
diff changeset
48 {
e78566595089 initial import
mandel
parents:
diff changeset
49 extern(C) void _d_toUtf8(wchar* arr, uint size, string* str)
e78566595089 initial import
mandel
parents:
diff changeset
50 {
e78566595089 initial import
mandel
parents:
diff changeset
51 *str = toString(arr[0..size]);
e78566595089 initial import
mandel
parents:
diff changeset
52 }
e78566595089 initial import
mandel
parents:
diff changeset
53 }
e78566595089 initial import
mandel
parents:
diff changeset
54
e78566595089 initial import
mandel
parents:
diff changeset
55