diff --git a/dios/include/rst/common.hpp b/dios/include/rst/common.hpp index f2e19144b75fc6be94553e95bf385810bc2bbc6a..a7141bdd0f089aff8f49527c1194677a0ef24f11 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 {