10 #if !defined(EIGEN_PARSED_BY_DOXYGEN)
14 #ifndef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
15 #define EIGEN_INDEXED_VIEW_METHOD_CONST const
16 #define EIGEN_INDEXED_VIEW_METHOD_TYPE ConstIndexedViewType
18 #define EIGEN_INDEXED_VIEW_METHOD_CONST
19 #define EIGEN_INDEXED_VIEW_METHOD_TYPE IndexedViewType
22 #ifndef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
27 template<
typename Indices>
28 struct IvcRowType :
public internal::IndexedViewCompatibleType<Indices,RowsAtCompileTime> {};
30 template<
typename Indices>
31 struct IvcColType :
public internal::IndexedViewCompatibleType<Indices,ColsAtCompileTime> {};
33 template<
typename Indices>
34 struct IvcType :
public internal::IndexedViewCompatibleType<Indices,SizeAtCompileTime> {};
38 template<
typename Indices>
40 ivcRow(
const Indices& indices)
const {
44 template<
typename Indices>
46 ivcCol(
const Indices& indices)
const {
50 template<
typename Indices>
60 template<
typename RowIndices,
typename ColIndices>
69 template<
typename RowIndices,
typename ColIndices>
81 template<
typename RowIndices,
typename ColIndices>
90 return BlockType(derived(),
99 template<
typename RowIndices,
typename ColIndices>
108 #if EIGEN_HAS_STATIC_ARRAY_TEMPLATE
112 template<
typename RowIndicesT, std::
size_t RowIndicesN,
typename ColIndices>
117 (derived(), rowIndices,
ivcCol(colIndices));
120 template<
typename RowIndices,
typename ColIndicesT, std::
size_t ColIndicesN>
125 (derived(),
ivcRow(rowIndices), colIndices);
128 template<
typename RowIndicesT, std::
size_t RowIndicesN,
typename ColIndicesT, std::
size_t ColIndicesN>
132 return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const RowIndicesT (&)[RowIndicesN],const ColIndicesT (&)[ColIndicesN]>
133 (derived(), rowIndices, colIndices);
140 template<
typename Indices>
141 typename internal::enable_if<
151 template<
typename Indices>
152 typename internal::enable_if<
162 template<
typename Indices>
163 typename internal::enable_if<
174 template<
typename IndexType>
181 #if EIGEN_HAS_STATIC_ARRAY_TEMPLATE
183 template<
typename IndicesT, std::
size_t IndicesN>
184 typename internal::enable_if<IsRowMajor,
189 return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,IvcIndex,const IndicesT (&)[IndicesN]>
193 template<
typename IndicesT, std::
size_t IndicesN>
194 typename internal::enable_if<!IsRowMajor,
199 return IndexedView<EIGEN_INDEXED_VIEW_METHOD_CONST Derived,const IndicesT (&)[IndicesN],IvcIndex>
205 #undef EIGEN_INDEXED_VIEW_METHOD_CONST
206 #undef EIGEN_INDEXED_VIEW_METHOD_TYPE
208 #ifndef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
209 #define EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
211 #undef EIGEN_INDEXED_VIEW_METHOD_2ND_PASS
250 template<
typename RowIndices,
typename ColIndices>
252 operator()(
const RowIndices& rowIndices,
const ColIndices& colIndices);
258 template<
typename Indices>
259 IndexedView_or_VectorBlock
#define EIGEN_INDEXED_VIEW_METHOD_CONST
Definition: IndexedViewMethods.h:15
IvcRowType< Indices >::type ivcRow(const Indices &indices) const
Definition: IndexedViewMethods.h:40
internal::enable_if< internal::valid_indexed_view_overload< RowIndices, ColIndices >::value &&internal::traits< typename EIGEN_INDEXED_VIEW_METHOD_TYPE< RowIndices, ColIndices >::type >::ReturnAsIndexedView, typename EIGEN_INDEXED_VIEW_METHOD_TYPE< RowIndices, ColIndices >::type >::type operator()(const RowIndices &rowIndices, const ColIndices &colIndices) EIGEN_INDEXED_VIEW_METHOD_CONST
Definition: IndexedViewMethods.h:73
IvcColType< Indices >::type ivcCol(const Indices &indices) const
Definition: IndexedViewMethods.h:46
internal::IndexedViewCompatibleType< Index, 1 >::type IvcIndex
Definition: IndexedViewMethods.h:36
IvcColType< Indices >::type ivcSize(const Indices &indices) const
Definition: IndexedViewMethods.h:52
#define EIGEN_STATIC_ASSERT_VECTOR_ONLY(TYPE)
Definition: StaticAssert.h:142
Index eval_expr_given_size(Index x, Index)
Definition: IndexedViewHelper.h:63
EIGEN_CONSTEXPR Index size(const T &x)
Definition: Meta.h:479
EIGEN_CONSTEXPR Index first(const T &x) EIGEN_NOEXCEPT
Definition: IndexedViewHelper.h:81
ArithmeticSequence< Index, typename make_size_type< SizeType >::type, IncrType > makeIndexedViewCompatible(const ArithmeticSequence< FirstType, SizeType, IncrType > &ids, Index size, SpecializedType)
Definition: ArithmeticSequence.h:366
@ Specialized
Definition: Constants.h:310
type
The type the bitset is encoded with.
Definition: bitset.hpp:44
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1282
Definition: IndexedViewMethods.h:61
IndexedView< EIGEN_INDEXED_VIEW_METHOD_CONST Derived, typename IvcRowType< RowIndices >::type, typename IvcColType< ColIndices >::type > type
Definition: IndexedViewMethods.h:64
Definition: IndexedViewMethods.h:31
Definition: IndexedViewMethods.h:28
Definition: IndexedViewMethods.h:34