3 variant构造
- rttr/variant.h
- rttr/variant.cpp
- rttr/detail/variant/variant_impl.h
rttr的variant主要的功能将对象类型擦除后用于统一传递和保存,同时在variant构造的时候会同时保存传入对象的type信息,方便以后恢复。
variant的构造
先看variant一个最重要的构造函数。
template<typename T, typename Tp = detail::decay_variant_t<T>>
variant(T&& val) : m_policy(&detail::variant_policy<Tp>::invoke)
{
detail::variant_policy<Tp>::create(std::forward(val), m_data);
}
阅读更多 »3 variant构造