6 #ifndef ASTCLONE_CLONER_HXX
7 # define ASTCLONE_CLONER_HXX
21 T* res =
dynamic_cast<T*
>(result_);
34 res =
dynamic_cast<T*
>(result_);
40 template <
typename CollectionType>
47 auto res =
new CollectionType;
49 typedef typename CollectionType::value_type elt_type;
50 for (
const elt_type& e : c)
53 auto elt =
dynamic_cast<elt_type
>(result_);
61 template <
typename DecsType>
65 const Location& location = e.location_get();
68 typedef DecsType decs_type;
70 typedef typename decs_type::Ds elt_type;
72 auto decs =
new elt_type;
74 for (
const typename elt_type::value_type& i : e.decs_get())
77 auto dec = dynamic_cast <
typename elt_type::value_type>(result_);
82 result_ =
new decs_type(location, decs);
87 #endif // !ASTCLONE_CLONER_HXX