util: space-efficient MemoryMap

We now use boost::icl::interval_set internally, consuming extremely
lower amounts of memory.  boost::icl was introduced with Boost 1.46;
Debian 7.0 comes with 1.49, so this dependency should be no problem
anymore.

Both the class interface and the memory-map file format stay the same.

Change-Id: I38e8148384c90aa493984d0f6280817df00f1702
This commit is contained in:
Horst Schirmeier
2014-01-30 13:40:12 +01:00
parent 119ae40be9
commit 4bcce14659
3 changed files with 61 additions and 33 deletions

View File

@ -37,8 +37,8 @@ find_package(Protobuf REQUIRED)
include_directories(${PROTOBUF_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
# required by Synchronized*.cc:
find_package(Boost 1.42 COMPONENTS thread regex system REQUIRED)
# required by Synchronized*.cc, MemoryMap.* (needs icl, which came with 1.46):
find_package(Boost 1.46 COMPONENTS thread regex system REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})