From 20bb472b662c264c452ab4eb977e61d0d457bd47 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Fri, 1 Mar 2013 08:36:35 -0800 Subject: [PATCH] Simplify reverse_iterator usage in block alloc. --- Core/Util/BlockAllocator.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Core/Util/BlockAllocator.cpp b/Core/Util/BlockAllocator.cpp index dbd6edc19e..666fd3e213 100644 --- a/Core/Util/BlockAllocator.cpp +++ b/Core/Util/BlockAllocator.cpp @@ -65,7 +65,7 @@ u32 BlockAllocator::AllocAligned(u32 &size, u32 grain, bool fromTop, const char //Allocate from bottom of mem for (std::list::iterator iter = blocks.begin(); iter != blocks.end(); iter++) { - BlockAllocator::Block &b = *iter; + Block &b = *iter; u32 offset = b.start % grain; if (offset != 0) offset = grain - offset; @@ -94,8 +94,7 @@ u32 BlockAllocator::AllocAligned(u32 &size, u32 grain, bool fromTop, const char // Allocate from top of mem. for (std::list::reverse_iterator iter = blocks.rbegin(); iter != blocks.rend(); ++iter) { - std::list::reverse_iterator hey = iter; - BlockAllocator::Block &b = *((++hey).base()); //yes, confusing syntax. reverse_iterators are confusing + Block &b = *iter; u32 offset = (b.start + b.size - size) % grain; u32 needed = offset + size; if (b.taken == false && b.size >= needed) @@ -108,7 +107,8 @@ u32 BlockAllocator::AllocAligned(u32 &size, u32 grain, bool fromTop, const char } else { - blocks.insert(hey.base(), Block(b.start, b.size - needed, false)); + std::list::iterator pos = iter.base(); + blocks.insert(--pos, Block(b.start, b.size - needed, false)); b.taken = true; b.start += b.size - needed; b.size = needed;