aboutsummaryrefslogtreecommitdiff
path: root/src/dictionary.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2010-08-27 21:53:54 +0000
committerMike Buland <eichlan@xagasoft.com>2010-08-27 21:53:54 +0000
commitc10c9ef627c7e79fde6170fe334238bbcb5d66e5 (patch)
tree4a0971d81e666e91866ddeaf9b58b952ce2fdd0a /src/dictionary.cpp
parent2a72923397d866f33221b9d32a3f9653d1a960e7 (diff)
downloadlibgats-c10c9ef627c7e79fde6170fe334238bbcb5d66e5.tar.gz
libgats-c10c9ef627c7e79fde6170fe334238bbcb5d66e5.tar.bz2
libgats-c10c9ef627c7e79fde6170fe334238bbcb5d66e5.tar.xz
libgats-c10c9ef627c7e79fde6170fe334238bbcb5d66e5.zip
Added formatter handlers for debugging, works really well. Also added a bunch
more helpers to make it as easy to use as possible.
Diffstat (limited to 'src/dictionary.cpp')
-rw-r--r--src/dictionary.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/dictionary.cpp b/src/dictionary.cpp
index 1a9549f..b789bbf 100644
--- a/src/dictionary.cpp
+++ b/src/dictionary.cpp
@@ -6,6 +6,8 @@
6#include "gats/string.h" 6#include "gats/string.h"
7#include "gats/list.h" 7#include "gats/list.h"
8 8
9#include <bu/formatter.h>
10
9template<> 11template<>
10uint32_t Bu::__calcHashCode<Gats::String>( const Gats::String &s ) 12uint32_t Bu::__calcHashCode<Gats::String>( const Gats::String &s )
11{ 13{
@@ -156,3 +158,24 @@ Gats::Dictionary *Gats::Dictionary::getDict( const Bu::FString &sKey )
156 return pOb; 158 return pOb;
157} 159}
158 160
161Bu::Formatter &operator<<( Bu::Formatter &f, const Gats::Dictionary &d )
162{
163 f << "(dict) {";
164 f.incIndent();
165 int iMax = 0;
166 for( Gats::Dictionary::const_iterator i = d.begin(); i; i++ )
167 {
168 if( i.getKey().getSize() > iMax )
169 iMax = i.getKey().getSize();
170 }
171 iMax += 2;
172 for( Gats::Dictionary::const_iterator i = d.begin(); i; i++ )
173 {
174 f << f.nl << Bu::Fmt( iMax ) << i.getKey() + ": " << *i.getValue();
175 }
176 f.decIndent();
177 f << f.nl << "}";
178
179 return f;
180}
181