A bug was discovered in glaze which prevented valid toml output. We have switched to toml++ and reflect-cpp. The interface has remained the same so this should not break any code
25 lines
527 B
C++
25 lines
527 B
C++
#ifndef GENERIC_WRITE_HPP_
|
|
#define GENERIC_WRITE_HPP_
|
|
|
|
#include "../Generic.hpp"
|
|
#include "../parsing/Parent.hpp"
|
|
#include "Parser.hpp"
|
|
|
|
namespace rfl {
|
|
namespace generic {
|
|
|
|
/// Writes an object to a generic.
|
|
template <class... Ps>
|
|
Generic write(const auto& _t) {
|
|
using T = std::remove_cvref_t<decltype(_t)>;
|
|
using ParentType = parsing::Parent<Writer>;
|
|
auto w = Writer();
|
|
Parser<T, Processors<Ps...>>::write(w, _t, typename ParentType::Root{});
|
|
return w.root();
|
|
}
|
|
|
|
} // namespace generic
|
|
} // namespace rfl
|
|
|
|
#endif
|