| 410 | |
| 411 | template <typename T, std::size_t NumDims> |
| 412 | class multi_array_ref : |
| 413 | public const_multi_array_ref<T,NumDims,T*> |
| 414 | { |
| 415 | typedef const_multi_array_ref<T,NumDims,T*> super_type; |
| 416 | public: |
| 417 | typedef typename super_type::value_type value_type; |
| 418 | typedef typename super_type::reference reference; |
| 419 | typedef typename super_type::iterator iterator; |
| 420 | typedef typename super_type::reverse_iterator reverse_iterator; |
| 421 | typedef typename super_type::const_reference const_reference; |
| 422 | typedef typename super_type::const_iterator const_iterator; |
| 423 | typedef typename super_type::const_reverse_iterator const_reverse_iterator; |
| 424 | typedef typename super_type::element element; |
| 425 | typedef typename super_type::size_type size_type; |
| 426 | typedef typename super_type::difference_type difference_type; |
| 427 | typedef typename super_type::index index; |
| 428 | typedef typename super_type::extent_range extent_range; |
| 429 | |
| 430 | typedef typename super_type::storage_order_type storage_order_type; |
| 431 | typedef typename super_type::index_list index_list; |
| 432 | typedef typename super_type::size_list size_list; |
| 433 | |
| 434 | template <std::size_t NDims> |
| 435 | struct const_array_view { |
| 436 | typedef boost::detail::multi_array::const_multi_array_view<T,NDims> type; |
| 437 | }; |
| 438 | |
| 439 | template <std::size_t NDims> |
| 440 | struct array_view { |
| 441 | typedef boost::detail::multi_array::multi_array_view<T,NDims> type; |
| 442 | }; |
| 443 | |
| 444 | template <class ExtentList> |
| 445 | explicit multi_array_ref(T* base, const ExtentList& extents) : |
| 446 | super_type(base,extents) { |
| 447 | boost::function_requires< |
| 448 | CollectionConcept<ExtentList> >(); |
| 449 | } |
| 450 | |
| 451 | template <class ExtentList> |
| 452 | explicit multi_array_ref(T* base, const ExtentList& extents, |
| 453 | const general_storage_order<NumDims>& so) : |
| 454 | super_type(base,extents,so) { |
| 455 | boost::function_requires< |
| 456 | CollectionConcept<ExtentList> >(); |
| 457 | } |
| 458 | |
| 459 | |
| 460 | explicit multi_array_ref(T* base, |
| 461 | const detail::multi_array:: |
| 462 | extent_gen<NumDims>& ranges) : |
| 463 | super_type(base,ranges) { } |
| 464 | |
| 465 | |
| 466 | explicit multi_array_ref(T* base, |
| 467 | const detail::multi_array:: |
| 468 | extent_gen<NumDims>& |
| 469 | ranges, |
nothing calls this directly
no test coverage detected