diff options
author | Mike Buland <eichlan@xagasoft.com> | 2009-09-25 22:14:26 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2009-09-25 22:14:26 +0000 |
commit | e99509abde688315ac7a82d764b352e2e3312e61 (patch) | |
tree | 9dc82509b89d96f138eefe07674319fc987afb6a /src/tests/variant.cpp | |
parent | 1b7caf3368675eb6825e0dca77782a141dfa0392 (diff) | |
download | libbu++-e99509abde688315ac7a82d764b352e2e3312e61.tar.gz libbu++-e99509abde688315ac7a82d764b352e2e3312e61.tar.bz2 libbu++-e99509abde688315ac7a82d764b352e2e3312e61.tar.xz libbu++-e99509abde688315ac7a82d764b352e2e3312e61.zip |
New Bu::Variant class. Store anything in it, get it out again, find out it's
type. It's really just that easy.
More info, docs, and tweaks to come.
Diffstat (limited to '')
-rw-r--r-- | src/tests/variant.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/tests/variant.cpp b/src/tests/variant.cpp new file mode 100644 index 0000000..a0ac1f2 --- /dev/null +++ b/src/tests/variant.cpp | |||
@@ -0,0 +1,45 @@ | |||
1 | #include <bu/sio.h> | ||
2 | #include <bu/variant.h> | ||
3 | #include <bu/list.h> | ||
4 | |||
5 | using namespace Bu; | ||
6 | |||
7 | Variant getThing( int i ) | ||
8 | { | ||
9 | Variant v; | ||
10 | switch( i ) | ||
11 | { | ||
12 | case 0: | ||
13 | v = 45; | ||
14 | break; | ||
15 | |||
16 | case 1: | ||
17 | v = true; | ||
18 | break; | ||
19 | |||
20 | case 2: | ||
21 | v = List<int>(5).append(10).append(15); | ||
22 | break; | ||
23 | } | ||
24 | |||
25 | return v; | ||
26 | } | ||
27 | |||
28 | int main() | ||
29 | { | ||
30 | Variant a; | ||
31 | Variant b; | ||
32 | Variant c; | ||
33 | |||
34 | a = getThing( 0 ); | ||
35 | b = getThing( 1 ); | ||
36 | c = getThing( 2 ); | ||
37 | |||
38 | sio << "a = " << a << " or " << (int)a << sio.nl | ||
39 | << "b = " << b << " or " << b.toString() << sio.nl | ||
40 | << "c = " << c << " or " << c.toString() << sio.nl | ||
41 | << sio.nl; | ||
42 | |||
43 | return 0; | ||
44 | } | ||
45 | |||