From 422ffb50d35e107eeb9332672d4a9ffa05c5ee94 Mon Sep 17 00:00:00 2001 From: Henrich Lauko <xlauko@mail.muni.cz> Date: Thu, 10 Oct 2019 07:58:55 +0000 Subject: [PATCH] rst: Allow abstract constructors to take arguments. --- dios/include/rst/common.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dios/include/rst/common.hpp b/dios/include/rst/common.hpp index f2e19144b..a7141bdd0 100644 --- a/dios/include/rst/common.hpp +++ b/dios/include/rst/common.hpp @@ -120,6 +120,13 @@ namespace __dios::rst::abstract { return taint< C >(); } + template< typename C, typename A, typename ...Args > + _LART_INLINE C make_abstract( Args && ...args ) noexcept + { + __lart_stash( static_cast< void * >( A::lift_any( std::forward< Args >( args )... ) ) ); + return taint< C >(); + } + template< typename A, typename C > _LART_INLINE auto lift_one( C c ) noexcept { -- GitLab