| 290 | /// dynamic type factory with custom storage type |
| 291 | template <typename Any=axis::any_std, typename Storage, typename T, typename... Ts> |
| 292 | histogram<std::vector<Any, detail::srebind<Storage, Any>>, detail::rm_cv_ref<Storage>> |
| 293 | make_dynamic_histogram_with(Storage&& s, T&& axis0, Ts&&... axis) { |
| 294 | using H = histogram<std::vector<Any, detail::srebind<Storage, Any>>, detail::rm_cv_ref<Storage>>; |
| 295 | auto axes = typename H::axes_type( |
| 296 | {Any(std::forward<T>(axis0)), Any(std::forward<Ts>(axis))...}, s.get_allocator()); |
| 297 | return H(std::move(axes), std::forward<Storage>(s)); |
| 298 | } |
| 299 | |
| 300 | /// dynamic type factory with standard storage type |
| 301 | template <typename Any=axis::any_std, typename T, typename... Ts> |