Memory mapping synchronisation flags.
blocking = MS_SYNCnon_blocking = MS_ASYNCinvalidate = MS_INVALIDATEMemory mapping flags.
shared = MAP_SHAREDpriv = MAP_PRIVATEfixed = MAP_FIXEDanonymous = MAP_ANONYMOUSbit32 = MAP_32BITgrows_down = MAP_GROWSDOWNhuge_page = MAP_HUGETLBhuge_page_2mb = MAP_HUGE_2MBhuge_page_1gb = MAP_HUGE_1GBlocked = MAP_LOCKEDnon_blocking = MAP_NONBLOCKno_reserve = MAP_NORESERVEpopulate = MAP_POPULATEstack = MAP_STACKuninitilalised = MAP_UNINITIALIZEDMemory page access control flags.
none = PROT_NONEread = PROT_READwrite = PROT_WRITEexecute = PROT_EXECMemory mapping advices.
normal = MADV_NORMALrandom = MADV_RANDOMsequential = MADV_SEQUENTIALwill_need = MADV_WILLNEEDdo_not_need = MADV_DONTNEEDnullify = MADV_REMOVEinaccessible_on_fork = MADV_DONTFORKaccessible_on_fork = MADV_DOFORKpoison = MADV_HWPOISONmergeable = MADV_MERGEABLEunmergeable = MADV_UNMERGEABLEsoft_offline = MADV_SOFT_OFFLINEhuge_page = MADV_HUGEPAGEno_huge_page = MADV_NOHUGEPAGEdo_not_dump = MADV_DONTDUMPdump = MADV_DODUMPfree = MADV_FREEwipe_on_fork = MADV_WIPEONFORKkeep_on_fork = MADV_KEEPONFORKnullify() -> voidFill memory mapping with noughts.
mark_free() -> voidMark memory mapping as free. Kernel may free it any time, unless the programme writes to it.
advise(advise_type adv) -> voidSet memory mapping options and perform actions.
unlock() -> voidUnlock memory pages to allow swapping.
lock() -> voidLock memory pages to prevent swapping.
sync(sync_flag flags = sync_flag::blocking) -> voidFlush dirty pages to disk.
unmap() -> voidsize_in_bytes() const -> size_typesize() const -> size_typeswap(memory_ptr & rhs) -> voidview() const -> memory_view< T >view() -> memory_view< T >release() -> memory_view< T >reset(memory_view< T > m) -> voidoperator>=(const memory_ptr & rhs) const -> booloperator>(const memory_ptr & rhs) const -> booloperator<=(const memory_ptr & rhs) const -> booloperator<(const memory_ptr & rhs) const -> booloperator!=(const memory_ptr & rhs) const -> booloperator==(const memory_ptr & rhs) const -> booloperator!() const -> booloperator bool() constoperator*() const -> const T &operator*() -> T &operator->() const -> const T *operator->() -> T *operator&() const -> const T *operator&() -> T *get() const -> const T *get() -> T *template <class ... Args> emplace(Args &&... args) -> void~memory_ptr()template <class ... Args> memory_ptr(page_flag page_flags, map_flag map_flags, Args &&... args)template <class ... Args> memory_ptr(size_type count, page_flag page_flags, map_flag map_flags, Args &&... args)memory_ptr(no_init, fd_type fd, page_flag page_flags, map_flag map_flags)template <class ... Args> memory_ptr(fd_type fd, page_flag page_flags, map_flag map_flags, Args &&... args)template <class ... Args> memory_ptr(fd_type fd, offset_type offset, size_type count, page_flag page_flags, map_flag map_flags, Args &&... args)memory_ptr(no_init, fd_type fd, offset_type offset, size_type count, page_flag page_flags, map_flag map_flags)memory_ptr(memory_view< T > m)explicitoperator=(memory_ptr && rhs) -> memory_ptr &memory_ptr(memory_ptr && rhs)operator=(const memory_ptr &) -> memory_ptr &memory_ptr(const memory_ptr &)memory_ptr()Memory mapping for files.
using const_reverse_iterator = std::reverse_iterator< const_iterator >Constant reverse iterator.
using reverse_iterator = std::reverse_iterator< iterator >Reverse iterator.
using size_type = std::size_tAlias to std::size_t.
using iterator = value_type *
Pointer to T.
using value_type = T
Alias to T.
const typedef value_type * const_iterator
Constant pointer to T.
swap(memory_mapping & rhs) -> void
Swap with rhs.
max_size() const -> size_typeMaximum mapping size supported by the library.
max_size() -> size_typeMaximum mapping size supported by the library.
operator[](size_type i) const -> const value_type &Get reference to the specified element.
operator[](size_type i) -> value_type &Get reference to the specified element.
data() const -> const value_type *Get pointer to the first element.
data() -> value_type *Get pointer to the first element.
back() const -> const value_type &Get last element.
back() -> value_type &Get last element.
front() const -> const value_type &Get first element.
front() -> value_type &Get first element.
empty() const -> boolCheck if the container is empty.
size() const -> size_typeGet the number of elements in the container.
crend() const -> const_iteratorGet reversed iterator to the end of the container.
rend() const -> const_iteratorGet reversed iterator to the end of the container.
cend() const -> const_iteratorGet iterator to the end of the container.
end() const -> const_iteratorGet iterator to the end of the container.
end() -> iteratorGet iterator to the end of the container.
crbegin() const -> const_iteratorGet iterator to the beginning of the container.
rbegin() const -> const_iteratorGet iterator to the beginning of the container.
cbegin() const -> const_iteratorGet iterator to the beginning of the container.
begin() const -> const_iteratorGet iterator to the beginning of the container.
begin() -> iteratorGet iterator to the beginning of the container.
nullify() -> voidFill memory mapping with noughts.
mark_free() -> voidMark memory mapping as free. Kernel may free it any time, unless the programme writes to it.
advise(advise_type adv) -> voidSet memory mapping options and perform actions.
unlock() -> voidUnlock memory pages to allow swapping.
lock() -> voidLock memory pages to prevent swapping.
sync(sync_flag flags = sync_flag::blocking) -> voidFlush dirty pages to disk.
resize(size_type new_size, remap_flags flags = {}) -> voidunmap() -> void~memory_mapping()Destructor.
operator=(const memory_mapping &) -> memory_mapping &memory_mapping(const memory_mapping &)operator=(memory_mapping && rhs) -> memory_mapping &Move-assignment.
memory_mapping(memory_mapping && rhs)Move-constuctor.
memory_mapping(size_type count, page_flag page_flags = page_flag::read|page_flag::write, map_flag map_flags = map_flag::anonymous|map_flag::priv)explicit
Construct anonymous memory mapping (not backed by any file).
memory_mapping(const char * filename, page_flag page_flags = page_flag::read|page_flag::write, map_flag map_flags = map_flag::priv)explicit
Construct memory mapping for the whole file filename.
memory_mapping(fd_type fd, page_flag page_flags = page_flag::read|page_flag::write, map_flag map_flags = map_flag::priv)explicit
Construct memory mapping for file descriptor fd.
memory_mapping(const char * filename, offset_type offset, size_type count, page_flag page_flags = page_flag::read|page_flag::write, map_flag map_flags = map_flag::priv)explicit
Construct memory mapping for file filename.
memory_mapping(fd_type fd, offset_type offset, size_type count, page_flag page_flags = page_flag::read|page_flag::write, map_flag map_flags = map_flag::priv)
Construct memory mapping for file descriptor fd.
memory_mapping(T * data, size_type size)memory_mapping()template <class T> operator<=(const memory_mapping< T > & lhs, const memory_mapping< T > & rhs) -> booltemplate <class T> swap(memory_mapping< T > & lhs, memory_mapping< T > & rhs) -> voidOverload of std::swap for byte_buffer.
template <class T> operator==(const memory_mapping< T > & lhs, const memory_mapping< T > & rhs) -> booltemplate <class T> operator!=(const memory_mapping< T > & lhs, const memory_mapping< T > & rhs) -> booltemplate <class T> operator<(const memory_mapping< T > & lhs, const memory_mapping< T > & rhs) -> booltemplate <class T> operator>=(const memory_mapping< T > & lhs, const memory_mapping< T > & rhs) -> booltemplate <class T> swap(memory_ptr< T > & a, memory_ptr< T > & b) -> voidtemplate <class T> operator>(const memory_mapping< T > & lhs, const memory_mapping< T > & rhs) -> bool