VTK
9.3.1
Main Page
Related Pages
Topics
Namespaces
Classes
Files
File List
File Members
Common
Core
vtkRange.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#ifndef vtkRange_h
5
#define vtkRange_h
6
7
#include "
vtkMeta.h
"
8
#include "
vtkRangeIterableTraits.h
"
9
10
#include <iterator>
11
#include <type_traits>
12
#include <utility>
13
14
namespace
vtk
15
{
16
VTK_ABI_NAMESPACE_BEGIN
17
73
template
<
typename
IterablePtr,
typename
... Options>
74
auto
Range
(IterablePtr iterable, Options&&... opts) ->
75
typename
detail::IterableTraits<typename detail::StripPointers<IterablePtr>::type
>::RangeType
76
{
77
using
Iterable =
typename
detail::StripPointers<IterablePtr>::type
;
78
using
RangeType =
typename
detail::IterableTraits<Iterable>::RangeType
;
79
return
RangeType{ iterable, std::forward<Options>(opts)... };
80
}
81
82
VTK_ABI_NAMESPACE_END
83
}
// end namespace vtk
84
85
#endif
// vtkRange_h
86
87
// VTK-HeaderTest-Exclude: vtkRange.h
vtk
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
Definition
vtkSMPThreadLocalAPI.h:30
vtk::Range
auto Range(IterablePtr iterable, Options &&... opts) -> typename detail::IterableTraits< typename detail::StripPointers< IterablePtr >::type >::RangeType
Generate an iterable STL proxy object for a VTK container.
Definition
vtkRange.h:74
vtk::detail::IterableTraits
Definition
vtkRangeIterableTraits.h:51
vtk::detail::IterableTraits::RangeType
typename std::decay< RangeTypeInternal >::type RangeType
Definition
vtkRangeIterableTraits.h:56
vtk::detail::StripPointers::type
T type
Definition
vtkMeta.h:39
vtkMeta.h
This file contains a variety of metaprogramming constructs for working with vtk types.
vtkRangeIterableTraits.h
Generated on Fri Oct 25 2024 00:00:00 for VTK by
1.12.0