36 std::unique_ptr<Generator>
43 return std::make_unique<generator::List>(
dynamic_cast<const type::List&
>(n));
45 return std::make_unique<generator::Dict>(
dynamic_cast<const type::Dict&
>(n));
47 return std::make_unique<generator::Object>(
dynamic_cast<const type::Object&
>(n));
49 return std::make_unique<generator::Tuple>(
dynamic_cast<const type::Tuple&
>(n));
51 return std::make_unique<generator::Pair>(
dynamic_cast<const type::Pair&
>(n));
53 return std::make_unique<generator::NDArray>(
dynamic_cast<const type::NDArray&
>(n));
55 return std::make_unique<generator::Matrix>(
dynamic_cast<const type::Matrix&
>(n));
57 return std::make_unique<generator::Quaternion>(
60 return std::make_unique<generator::Image>(
dynamic_cast<const type::Image&
>(n));
62 return std::make_unique<generator::PointCloud>(
65 return std::make_unique<generator::IntEnum>(
dynamic_cast<const type::IntEnum&
>(n));
67 return std::make_unique<generator::Int>(
dynamic_cast<const type::Int&
>(n));
69 return std::make_unique<generator::Long>(
dynamic_cast<const type::Long&
>(n));
71 return std::make_unique<generator::Float>(
dynamic_cast<const type::Float&
>(n));
73 return std::make_unique<generator::Double>(
dynamic_cast<const type::Double&
>(n));
75 return std::make_unique<generator::String>(
dynamic_cast<const type::String&
>(n));
77 return std::make_unique<generator::Bool>(
dynamic_cast<const type::Bool&
>(n));
79 return std::make_unique<generator::AnyObject>(