Mercurial > projects > ldc
comparison tango/tango/util/collection/impl/Cell.d @ 132:1700239cab2e trunk
[svn r136] MAJOR UNSTABLE UPDATE!!!
Initial commit after moving to Tango instead of Phobos.
Lots of bugfixes...
This build is not suitable for most things.
author | lindquist |
---|---|
date | Fri, 11 Jan 2008 17:57:40 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:5825d48b27d1 | 132:1700239cab2e |
---|---|
1 /* | |
2 File: Cell.d | |
3 | |
4 Originally written by Doug Lea and released into the public domain. | |
5 Thanks for the assistance and support of Sun Microsystems Labs, Agorics | |
6 Inc, Loral, and everyone contributing, testing, and using this code. | |
7 | |
8 History: | |
9 Date Who What | |
10 24Sep95 dl@cs.oswego.edu Create from tango.util.collection.d working file | |
11 9Apr97 dl made Serializable | |
12 | |
13 */ | |
14 | |
15 | |
16 module tango.util.collection.impl.Cell; | |
17 | |
18 /** | |
19 * | |
20 * | |
21 * Cell is the base of a bunch of implementation classes | |
22 * for lists and the like. | |
23 * The base version just holds an Object as its element value | |
24 * | |
25 author: Doug Lea | |
26 * @version 0.93 | |
27 * | |
28 * <P> For an introduction to this package see <A HREF="index.html"> Overview </A>. | |
29 **/ | |
30 | |
31 public class Cell (T) | |
32 { | |
33 // instance variables | |
34 private T element_; | |
35 | |
36 /** | |
37 * Make a cell with element value v | |
38 **/ | |
39 | |
40 public this (T v) | |
41 { | |
42 element_ = v; | |
43 } | |
44 | |
45 /** | |
46 * Make A cell with null element value | |
47 **/ | |
48 | |
49 public this () | |
50 { | |
51 // element_ = null; | |
52 } | |
53 | |
54 /** | |
55 * return the element value | |
56 **/ | |
57 | |
58 public final T element() | |
59 { | |
60 return element_; | |
61 } | |
62 | |
63 /** | |
64 * set the element value | |
65 **/ | |
66 | |
67 public final void element (T v) | |
68 { | |
69 element_ = v; | |
70 } | |
71 | |
72 public final int elementHash () | |
73 { | |
74 return typeid(T).getHash(&element_); | |
75 } | |
76 | |
77 protected Cell duplicate() | |
78 { | |
79 return new Cell (element_); | |
80 } | |
81 } |