isInitAllOneBits

Undocumented in source.

Members

Manifest constants

isInitAllOneBits
enum isInitAllOneBits;
Undocumented in source.
isInitAllOneBits
enum isInitAllOneBits;
Undocumented in source.

Examples

1 static assert(isInitAllOneBits!char);
2 static assert(isInitAllOneBits!wchar);
3 static assert(!isInitAllOneBits!dchar);
4 
5 static assert(isInitAllOneBits!(char[4]));
6 static assert(!isInitAllOneBits!(int[4]));
7 static assert(!isInitAllOneBits!Object);
8 
9 static struct S1
10 {
11 	char a;
12 	char b;
13 }
14 static assert(isInitAllOneBits!S1);
15 
16 static struct S2
17 {
18 	char a = 1;
19 }
20 static assert(!isInitAllOneBits!S2);
21 
22 static struct S3
23 {
24 	S1 a;
25 	char b;
26 }
27 static assert(isInitAllOneBits!S3);
28 static assert(isInitAllOneBits!(S3[2]));
29 
30 static struct S4
31 {
32 	S1 a;
33 	S2 b;
34 }
35 static assert(!isInitAllOneBits!S4);
36 
37 static struct Sshort
38 {
39 	short r = cast(short)0xffff;
40 }
41 static assert(isInitAllOneBits!Sshort);
42 
43 static struct Sint
44 {
45 	int r = 0xffff_ffff;
46 }
47 static assert(isInitAllOneBits!Sint);
48 
49 static struct Slong
50 {
51 	long r = 0xffff_ffff_ffff_ffff;
52 }
53 static assert(isInitAllOneBits!Slong);
54 
55 // Verify that when there is padding between fields isInitAllOneBits is false.
56 static struct S10
57 {
58 	align(4) char a;
59 	align(4) char b;
60 }
61 static assert(!isInitAllOneBits!S10);
62 
63 static class C1
64 {
65 	char c;
66 }
67 static assert(!isInitAllOneBits!C1);

Meta