summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid <david@xagasoft.com>2009-02-24 20:57:05 +0000
committerDavid <david@xagasoft.com>2009-02-24 20:57:05 +0000
commite198e10ffd710e9681635593dff65bf4abd45bda (patch)
treee03f40c7ea68ef646d32caa85326733a99e47c8f /src
parentbbc76396d899e6b59ce17643095c8d48f7083662 (diff)
downloadlibbu++-e198e10ffd710e9681635593dff65bf4abd45bda.tar.gz
libbu++-e198e10ffd710e9681635593dff65bf4abd45bda.tar.bz2
libbu++-e198e10ffd710e9681635593dff65bf4abd45bda.tar.xz
libbu++-e198e10ffd710e9681635593dff65bf4abd45bda.zip
david - apparently the mingw compiler has a couple issues...
1) i had to make iterator and const_iterator friends of each other so they could see each other's private constructors 2) apparently there is a bug in the name-lookup related to inline typedef structs and the friend keyword... had to move the typedef struct const_iterator to after the actual struct.
Diffstat (limited to 'src')
-rw-r--r--src/fbasicstring.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/fbasicstring.h b/src/fbasicstring.h
index 8bbbe91..cac7dd7 100644
--- a/src/fbasicstring.h
+++ b/src/fbasicstring.h
@@ -124,9 +124,10 @@ namespace Bu
124 } 124 }
125 125
126 struct iterator; 126 struct iterator;
127 typedef struct const_iterator 127 struct const_iterator
128 { 128 {
129 friend class FBasicString<chr, nMinSize, chralloc, chunkalloc>; 129 friend class FBasicString<chr, nMinSize, chralloc, chunkalloc>;
130 friend struct iterator;
130 private: 131 private:
131 const_iterator( Chunk *pChunk, int iPos ) : 132 const_iterator( Chunk *pChunk, int iPos ) :
132 pChunk( pChunk ), 133 pChunk( pChunk ),
@@ -349,11 +350,12 @@ namespace Bu
349 } 350 }
350 return const_iterator( NULL, 0 ); 351 return const_iterator( NULL, 0 );
351 } 352 }
352 } const_iterator; 353 };
353 354
354 typedef struct iterator 355 typedef struct iterator
355 { 356 {
356 friend class FBasicString<chr, nMinSize, chralloc, chunkalloc>; 357 friend class FBasicString<chr, nMinSize, chralloc, chunkalloc>;
358 friend struct const_iterator;
357 private: 359 private:
358 iterator( Chunk *pChunk, int iPos ) : 360 iterator( Chunk *pChunk, int iPos ) :
359 pChunk( pChunk ), 361 pChunk( pChunk ),
@@ -590,6 +592,8 @@ namespace Bu
590 } 592 }
591 } iterator; 593 } iterator;
592 594
595 typedef struct const_iterator const_iterator;
596
593 //typedef chr *iterator; 597 //typedef chr *iterator;
594// typedef const chr *const_iterator; 598// typedef const chr *const_iterator;
595 // typedef iterator const_iterator; 599 // typedef iterator const_iterator;