diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2007-06-18 22:49:39 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2007-06-18 22:49:39 +0000 |
| commit | 8a7fed8386c152023ddae611fe274b966287370a (patch) | |
| tree | 0f6029b5a7d8795469f27ebfb37a00db3a23b8a6 /src | |
| parent | 33012c4ef4d39efad4fbc2b19f494f5c860fff51 (diff) | |
| download | libbu++-8a7fed8386c152023ddae611fe274b966287370a.tar.gz libbu++-8a7fed8386c152023ddae611fe274b966287370a.tar.bz2 libbu++-8a7fed8386c152023ddae611fe274b966287370a.tar.xz libbu++-8a7fed8386c152023ddae611fe274b966287370a.zip | |
Added more helper guys to atom, it seems weird, but I think it's ok...
Diffstat (limited to 'src')
| -rw-r--r-- | src/atom.h | 14 | ||||
| -rw-r--r-- | src/tests/atom.cpp | 8 |
2 files changed, 22 insertions, 0 deletions
| @@ -84,6 +84,20 @@ namespace Bu | |||
| 84 | return *this; | 84 | return *this; |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | t *operator ->() | ||
| 88 | { | ||
| 89 | if( !pData ) | ||
| 90 | throw Bu::ExceptionBase("Not set"); | ||
| 91 | return pData; | ||
| 92 | } | ||
| 93 | |||
| 94 | t &operator *() | ||
| 95 | { | ||
| 96 | if( !pData ) | ||
| 97 | throw Bu::ExceptionBase("Not set"); | ||
| 98 | return *pData; | ||
| 99 | } | ||
| 100 | |||
| 87 | private: | 101 | private: |
| 88 | t *pData; | 102 | t *pData; |
| 89 | talloc ta; | 103 | talloc ta; |
diff --git a/src/tests/atom.cpp b/src/tests/atom.cpp index cf076b1..2077bfd 100644 --- a/src/tests/atom.cpp +++ b/src/tests/atom.cpp | |||
| @@ -2,10 +2,18 @@ | |||
| 2 | #include <stdio.h> | 2 | #include <stdio.h> |
| 3 | #include <stdlib.h> | 3 | #include <stdlib.h> |
| 4 | 4 | ||
| 5 | typedef struct bob | ||
| 6 | { | ||
| 7 | int a, b; | ||
| 8 | } bob; | ||
| 5 | int main() | 9 | int main() |
| 6 | { | 10 | { |
| 7 | Bu::Atom<int> aInt; | 11 | Bu::Atom<int> aInt; |
| 8 | Bu::Atom<char *> aStr; | 12 | Bu::Atom<char *> aStr; |
| 13 | Bu::Atom<bob> aBob; | ||
| 14 | |||
| 15 | aBob = bob(); | ||
| 16 | aBob->a = 5; | ||
| 9 | 17 | ||
| 10 | aStr.set("Hey there, dude"); | 18 | aStr.set("Hey there, dude"); |
| 11 | aInt.set( 55 ); | 19 | aInt.set( 55 ); |
