annotate dwt/dwthelper/utils.d @ 103:0179b2e17eb2

Package custom compiles
author Frank Benoit <benoit@tionex.de>
date Fri, 18 Jan 2008 17:00:39 +0100
parents c3d44df6708f
children b5304cc16c4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /**
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Authors: Frank Benoit <keinfarbton@googlemail.com>
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 */
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 module dwt.dwthelper.utils;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5
25
fc2b263b8a3f Merged back the System.arraycopy and use a System class
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
6 public import dwt.dwthelper.System;
fc2b263b8a3f Merged back the System.arraycopy and use a System class
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
7
12
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 import tango.io.Stdout;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 import tango.stdc.stdlib : exit;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 void implMissing( char[] file, uint line ){
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 Stderr.formatln( "implementation missing in file {} line {}", file, line );
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 Stderr.formatln( "exiting ..." );
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 exit(1);
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16
26
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
17 abstract class ArrayWrapper{
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
18 }
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
19
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
20 class ArrayWrapperT(T) : ArrayWrapper {
27
ffa3c27c4328 Display
Frank Benoit <benoit@tionex.de>
parents: 26
diff changeset
21 public T[] array;
ffa3c27c4328 Display
Frank Benoit <benoit@tionex.de>
parents: 26
diff changeset
22 public this( T[] data ){
ffa3c27c4328 Display
Frank Benoit <benoit@tionex.de>
parents: 26
diff changeset
23 array = data;
ffa3c27c4328 Display
Frank Benoit <benoit@tionex.de>
parents: 26
diff changeset
24 }
26
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
25 }
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
26
92
ddb19cb18d2e package dnd
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
27 alias ArrayWrapperT!(byte) ArrayWrapperByte;
ddb19cb18d2e package dnd
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
28 alias ArrayWrapperT!(int) ArrayWrapperInt;
ddb19cb18d2e package dnd
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
29 alias ArrayWrapperT!(Object) ArrayWrapperObject;
ddb19cb18d2e package dnd
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
30 alias ArrayWrapperT!(char) ArrayWrapperString;
ddb19cb18d2e package dnd
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
31 alias ArrayWrapperT!(char[]) ArrayWrapperString2;
26
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
32
103
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
33 dchar getFirstCodepoint( char[] str ){
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
34 return str[0];
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
35 }
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
36 dchar CharacterToLower( dchar c ){
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
37 dchar[] r = tango.text.Unicode.toLower( [c] );
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
38 return r[0];
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
39 }
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
40 dchar CharacterToUpper( dchar c ){
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
41 dchar[] r = tango.text.Unicode.toUpper( [c] );
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
42 return r[0];
0179b2e17eb2 Package custom compiles
Frank Benoit <benoit@tionex.de>
parents: 93
diff changeset
43 }
26
09f5459a5014 Display in work
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
44