/* * Copyright 2016 - 2023 Gary Talent (gary@drinkingtea.net). All rights reserved. */ #pragma once #include #include "typeconv.hpp" namespace nostalgia::foundation { class Module { public: constexpr Module() noexcept = default; Module(const Module&) noexcept = delete; Module(Module&&) noexcept = delete; Module &operator=(const Module&) noexcept = delete; Module &operator=(Module&&) noexcept = delete; constexpr virtual ~Module() noexcept = default; [[nodiscard]] virtual ox::Vector converters() const noexcept; [[nodiscard]] virtual ox::Vector packTransforms() const noexcept; }; void registerModule(const Module *mod) noexcept; [[nodiscard]] const ox::Vector *modules() noexcept; }