#ifndef RFL_PARSING_SCHEMAFUL_UNIQUEPTRREADER_HPP_ #define RFL_PARSING_SCHEMAFUL_UNIQUEPTRREADER_HPP_ #include #include #include "../../Result.hpp" #include "../Parser_base.hpp" namespace rfl::parsing::schemaful { template struct UniquePtrReader { static Result> read( const R& _r, const size_t _index, const typename R::InputVarType& _var) noexcept { if (_index == 1) { return std::unique_ptr(); } return Parser, ProcessorsType>::read(_r, _var) .transform([](T&& _t) { return std::make_unique(std::move(_t)); }); } }; } // namespace rfl::parsing::schemaful #endif