1 /** 
2  *  Authors: Alex 'asperan' Speranza, alex.speranza@studio.unibo.it
3  *  License: 
4  *  MIT License
5  *  
6  *  Copyright (c) 2021 Alex Speranza
7  *  
8  *  Permission is hereby granted, free of charge, to any person obtaining a copy
9  *  of this software and associated documentation files (the "Software"), to deal
10  *  in the Software without restriction, including without limitation the rights
11  *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12  *  copies of the Software, and to permit persons to whom the Software is
13  *  furnished to do so, subject to the following conditions:
14  *  
15  *  The above copyright notice and this permission notice shall be included in all
16  *  copies or substantial portions of the Software.
17  *  
18  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21  *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22  *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23  *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24  *  SOFTWARE.
25  */
26 module boxed.chars;
27 
28 import boxed.templates;
29 
30 /**
31  *  Boxed char value.
32  *  
33  *  Assign operation are not supported.
34  */
35 class BoxedChar : Boxed!char
36 {
37     /**
38      *  Ctor.
39      */
40     this(char value)
41     {
42         super(value);
43     }
44 
45     mixin BoxedAlias;
46 }
47 
48 /**
49  *  Boxed wide char value.
50  *  
51  *  Assign operation are not supported.
52  */
53 class BoxedWchar : Boxed!wchar
54 {
55     /**
56      *  Ctor.
57      */
58     this(wchar value)
59     {
60         super(value);
61     }
62 
63     mixin BoxedAlias;
64 }
65 
66 /**
67  *  Boxed double wide char value.
68  *  
69  *  Assign operation are not supported.
70  */
71 class BoxedDchar : Boxed!dchar
72 {
73     /**
74      *  Ctor.
75      */
76     this(dchar value)
77     {
78         super(value);
79     }
80 
81     mixin BoxedAlias;
82 }
83 
84 /**
85  *  Boxed string value.
86  *  
87  *  Assign operation are not supported.
88  */
89 class BoxedString : Boxed!string
90 {
91     /**
92      *  Ctor.
93      */
94     this(string value)
95     {
96         super(value);
97     }
98 
99     mixin BoxedAlias;
100 }