• R/O
  • SSH
  • HTTPS

eirrepo: Commit


Commit MetaInfo

Revision357 (tree)
Zeit2020-10-28 21:20:35
Autorquiret

Log Message

- fixes and improvements

Ändern Zusammenfassung

Diff

--- common/sdk/SortedSliceSector.h (revision 356)
+++ common/sdk/SortedSliceSector.h (revision 357)
@@ -123,9 +123,18 @@
123123 return metaData.GetNodeSlice();
124124 }
125125
126+ AINLINE metaDataType& GetMetaData( void )
127+ {
128+ return this->metaData;
129+ }
130+ AINLINE const metaDataType& GetMetaData( void ) const
131+ {
132+ return this->metaData;
133+ }
134+
126135 private:
127136 metaDataType metaData;
128- AVLNode node;
137+ mutable AVLNode node;
129138 };
130139
131140 INSTANCE_SUBSTRUCTCHECK( is_object );
@@ -690,6 +699,26 @@
690699 };
691700 AINLINE std_iterator begin( void ) const { return std_iterator( iterator( *this ) ); }
692701 AINLINE end_std_iterator end( void ) const { return end_std_iterator(); }
702+
703+ AINLINE iterator GetFirstIter( void )
704+ {
705+ if ( AVLNode *avlFirstNode = this->data.avlSliceTree.GetSmallestNode() )
706+ {
707+ return AVL_GETITEM( sliceNode, avlFirstNode, node );
708+ }
709+
710+ return iterator();
711+ }
712+
713+ AINLINE iterator GetLastIter( void )
714+ {
715+ if ( AVLNode *avlLastNode = this->data.avlSliceTree.GetBiggestNode() )
716+ {
717+ return AVL_GETITEM( sliceNode, avlLastNode, node );
718+ }
719+
720+ return iterator();
721+ }
693722 };
694723
695724 }
--- common/sdk/avlsetmaputil.h (revision 356)
+++ common/sdk/avlsetmaputil.h (revision 357)
@@ -28,7 +28,7 @@
2828 { \
2929 return; \
3030 } \
31- AINLINE iteratorName( nodeType *iter ) : real_iter( &iter->nodeRedirNode ) \
31+ AINLINE iteratorName( nodeType *iter ) : real_iter( iter ? &iter->nodeRedirNode : nullptr ) \
3232 { \
3333 return; \
3434 } \
@@ -43,6 +43,10 @@
4343 { \
4444 real_iter.Increment(); \
4545 } \
46+ AINLINE void Decrement( void ) \
47+ { \
48+ real_iter.Decrement(); \
49+ } \
4650 AINLINE nodeType* Resolve( void ) \
4751 { \
4852 return AVL_GETITEM( nodeType, real_iter.Resolve(), nodeRedirNode ); \
Show on old repository browser