mn_memory.hpp File Reference
#include "mn_config.hpp"
#include "allocator/mn_allocator_typetraits.hpp"
#include "mn_default_allocator.hpp"
#include "utils/mn_addressof.hpp"
Go to the source code of this file.
Namespaces | |
mn | |
mn::memory | |
mn::memory::detail | |
Functions | |
template<class T > | |
constexpr T * | mn::memory::to_address (T *v) noexcept |
template<class T > | |
T * | mn::memory::detail::ptr_address (T *v, int) noexcept |
template<class T > | |
auto | mn::memory::detail::ptr_address (const T &v, int) noexcept -> decltype(to_address(v)) |
template<class T > | |
auto | mn::memory::detail::ptr_address (const T &v, long) noexcept |
template<class T > | |
auto | mn::memory::to_address (const T &v) noexcept |
Variables | |
struct mn::memory::detail::ptr_difference | mn::memory::detail::T |
struct mn::memory::detail::ptr_difference | mn::memory::detail::type = typename T::difference_type |
Detailed Description
This file is part of the Mini Thread Library (https://github.com/RoseLeBlood/MiniThread ).
- License
- The Mini Thread Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3, or (at your option) any later version.
The Mini Thread Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with the Mini Thread Library; if not, see https://www.gnu.org/licenses/.
Class Documentation
◆ mn::memory::pointer_traits::rebind_to
struct mn::memory::pointer_traits::rebind_to |
template<class TAllocator>
template<class U>
struct mn::memory::pointer_traits< TAllocator >::rebind_to< U >
Class Members | ||
---|---|---|
typedef typename template rebind< U > | type |
◆ mn::memory::pointer_traits< T * >::rebind_to
struct mn::memory::pointer_traits< T * >::rebind_to |
◆ mn::memory::detail::ptr_void
struct mn::memory::detail::ptr_void |
◆ mn::memory::detail::ptr_first< T< U, Args... > >
struct mn::memory::detail::ptr_first< T< U, Args... > > |
◆ mn::memory::detail::ptr_element
struct mn::memory::detail::ptr_element |
◆ mn::memory::detail::ptr_element< T, typename ptr_void< typename T::element_type >::type >
struct mn::memory::detail::ptr_element< T, typename ptr_void< typename T::element_type >::type > |
template<class T>
struct mn::memory::detail::ptr_element< T, typename ptr_void< typename T::element_type >::type >
◆ mn::memory::detail::ptr_difference
struct mn::memory::detail::ptr_difference |
template<class, class = void>
struct mn::memory::detail::ptr_difference< class, class >
Class Members | ||
---|---|---|
typedef ptrdiff_t | type |
◆ mn::memory::detail::ptr_transform< T< U, Args... >, V >
struct mn::memory::detail::ptr_transform< T< U, Args... >, V > |
◆ mn::memory::detail::ptr_rebind
struct mn::memory::detail::ptr_rebind |
template<class T, class U, class = void>
struct mn::memory::detail::ptr_rebind< T, U, class >
Class Members | ||
---|---|---|
typedef typename ptr_transform< T, U >::type | type |
◆ mn::memory::detail::ptr_rebind< T, U, typename ptr_void< typename T::template rebind< U > >::type >
struct mn::memory::detail::ptr_rebind< T, U, typename ptr_void< typename T::template rebind< U > >::type > |
◆ mn::memory::detail::ptr_value
struct mn::memory::detail::ptr_value |
template<class T>
struct mn::memory::detail::ptr_value< T >
Class Members | ||
---|---|---|
typedef T | type |
◆ mn::memory::detail::ptr_value< void >
struct mn::memory::detail::ptr_value< void > |
◆ mn::memory::detail::ptr_value< void >::type
struct mn::memory::detail::ptr_value< void >::type |