Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2017
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 :
7 : #ifndef VSET_VSET_MEMMORY_FSB_MMAP_HPP
8 : #define VSET_VSET_MEMMORY_FSB_MMAP_HPP
9 :
10 : #include <vset/memory/strategy.hpp>
11 : #include <vset/memory/manager.hpp>
12 : #include <fas/aop.hpp>
13 :
14 : namespace vset { namespace memory{
15 :
16 : /**
17 : * @brief менеджер памяти на файле отображенном в память
18 : * @tparam T тип хранимых объектов
19 : * @tparam OffsetAspect стратегия смещения. По умолчанию vset::memory::fsb_offset
20 : * @details также доступна стратегия относительного смещения vset::memory::fsb_nth,
21 : * которая работает по смещению не в байтах относительно начала буффера как vset::memory::fsb_offset,
22 : * а по количеству объектов T, что позволит проиндексировать в uint32_t гораздо больше элементов.
23 : */
24 : template<typename T, typename OffsetStrategy = fsb_offset, typename A = fas::aspect<> >
25 2 : struct fsb_mmap
26 : : manager< strategy::fsb_mmap<T, OffsetStrategy>, A >
27 : {};
28 :
29 : }}
30 :
31 : #endif
|