diff options
Diffstat (limited to 'source/include/memory')
| -rw-r--r-- | source/include/memory/asm_pointer.hpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/source/include/memory/asm_pointer.hpp b/source/include/memory/asm_pointer.hpp deleted file mode 100644 index 9ec2218..0000000 --- a/source/include/memory/asm_pointer.hpp +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef TEACHOS_MEMORY_ASM_POINTER_HPP -#define TEACHOS_MEMORY_ASM_POINTER_HPP - -namespace teachos::memory -{ - - /** - * @brief A pointer that is defined in some assembly source file. - * - * @tparam Type The type of the pointer - * @since 0.0.1 - */ - template<typename Type> - struct asm_pointer - { - /** - * @brief The type of the underlying pointer. - */ - using pointer = Type *; - - /** - * @brief Construct a new asm_pointer for a given assembly-defined pointer. - * @param pointer A pointer defined in assembly. - */ - constexpr asm_pointer(Type *& pointer) - : m_pointer{&pointer} - { - } - - /** - * @brief Access the underlying pointer. - * @return The pointer wrapped by this asm_pointer. - */ - auto constexpr operator*() -> pointer & { return *m_pointer; } - - /** - * @brief Access the underlying pointer. - * @return The pointer wrapped by this asm_pointer. - */ - auto constexpr operator*() const -> pointer const & { return *m_pointer; } - - private: - pointer * m_pointer; - }; - - /** - * @copydoc asm_pointer - * - * @note This specialization allows the use of this type for pointers to constant data. - * @since 0.0.1 - */ - template<typename Type> - struct asm_pointer<Type const> - { - /** @copydoc asm_pointer<Type>::asm_pointer */ - constexpr asm_pointer(Type const & pointer) - : m_pointer{&pointer} - { - } - - /** @copydoc asm_pointer<Type>::operator*() */ - auto constexpr operator*() -> Type const & { return *m_pointer; } - /** @copydoc asm_pointer<Type>::operator*() const */ - auto constexpr operator*() const -> Type const & { return *m_pointer; } - - private: - Type const * m_pointer; - }; - -} // namespace teachos::memory - -#endif
\ No newline at end of file |
