diff --git a/include/oaknut/oaknut.hpp b/include/oaknut/oaknut.hpp index 29bd15f..63bb42c 100644 --- a/include/oaknut/oaknut.hpp +++ b/include/oaknut/oaknut.hpp @@ -53,6 +53,18 @@ struct Label { public: Label() = default; + bool is_bound() const + { + return m_addr.has_value(); + } + + template + T ptr() const + { + static_assert(std::is_pointer_v || std::is_same_v || std::is_same_v); + return reinterpret_cast(m_addr.value()); + } + private: template friend class BasicCodeGenerator;