This class is a thin wrapper around an Eigen matrix.
More...
#include <lagrange/experimental/Array.h>
|
|
using | EigenType = _EigenType |
| |
|
using | Self = EigenArray<EigenType> |
| |
|
using | Index = ArrayBase::Index |
| |
|
using | WeightedIndexFunction |
| |
|
using | Index = Eigen::Index |
| |
|
using | IndexFunction = std::function<Index(Index)> |
| |
| using | WeightedIndexFunction |
| |
|
|
template<typename T> |
| | EigenArray (const Eigen::MatrixBase< T > &data) |
| |
|
template<typename T> |
| | EigenArray (Eigen::MatrixBase< T > &&data) |
| |
| std::any | get_type_info () const override |
| |
|
EigenType & | get_ref () |
| |
|
const EigenType & | get_ref () const |
| |
|
template<typename Derived> |
| void | set (Derived &&data) |
| |
| Index | rows () const override |
| |
| Index | cols () const override |
| |
| bool | is_row_major () const override |
| |
| void * | data () override |
| |
| const void * | data () const override |
| |
| void | resize (Index r, Index c) override |
| |
| std::unique_ptr< ArrayBase > | clone () const override |
| |
| std::unique_ptr< ArrayBase > | row_slice (Index num_rows, const IndexFunction &mapping_fn) const override |
| | Using index function for row mapping.
|
| |
| std::unique_ptr< ArrayBase > | row_slice (Index num_rows, const WeightedIndexFunction &mapping_fn) const override |
| | This is the most generic version of row_slice method.
|
| |
| std::string | type_name () const override |
| |
|
| ArrayBase (ScalarEnum type) |
| |
|
template<typename TargetType> |
| Eigen::Map< TargetType > | view () |
| |
|
template<typename TargetType> |
| Eigen::Map< const TargetType > | view () const |
| |
|
template<typename Derived> |
| bool | is_base_of () const |
| |
|
template<typename DerivedPtr> |
| auto | down_cast () -> std::add_pointer_t< std::decay_t< std::remove_pointer_t< DerivedPtr > > > |
| |
|
template<typename DerivedPtr> |
| auto | down_cast () const -> std::add_pointer_t< std::add_const_t< std::decay_t< std::remove_pointer_t< DerivedPtr > > > > |
| |
|
template<typename Derived> |
| void | set (const Eigen::MatrixBase< Derived > &data) |
| |
|
template<typename Derived> |
| void | set (Eigen::MatrixBase< Derived > &&data) |
| |
|
ScalarEnum | get_scalar_type () const |
| |
|
template<typename TargetType> |
| const auto & | get () const |
| |
|
template<typename TargetType> |
| auto & | get () |
| |
|
template<typename Scalar> |
| Scalar * | data () |
| |
|
template<typename Scalar> |
| const Scalar * | data () const |
| |
|
template<typename T> |
| std::unique_ptr< ArrayBase > | row_slice (const std::vector< T > &row_indices) const |
| |
|
|
template<typename TargetType> |
| bool | is_compatible (bool ignore_storage_order=false) const |
| |
|
template<typename Derived> |
| static std::unique_ptr< ArrayBase > | row_slice_impl (const Eigen::MatrixBase< Derived > &matrix, Index num_rows, const IndexFunction &mapping) |
| |
|
template<typename Derived> |
| static std::enable_if_t< std::is_integral< typename Derived::Scalar >::value, std::unique_ptr< ArrayBase > > | row_slice_impl (const Eigen::MatrixBase< Derived > &matrix, Index num_rows, const WeightedIndexFunction &mapping) |
| |
|
template<typename Derived> |
| static std::enable_if_t<!std::is_integral< typename Derived::Scalar >::value, std::unique_ptr< ArrayBase > > | row_slice_impl (const Eigen::MatrixBase< Derived > &matrix, Index num_rows, const WeightedIndexFunction &mapping) |
| |
|
const ScalarEnum | m_scalar_type |
| |
template<typename _EigenType>
class lagrange::experimental::EigenArray< _EigenType >
This class is a thin wrapper around an Eigen matrix.
It takes ownership of the Eigen matrix.
◆ get_type_info()
template<typename _EigenType>
| std::any get_type_info |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ rows()
template<typename _EigenType>
◆ cols()
template<typename _EigenType>
◆ is_row_major()
template<typename _EigenType>
| bool is_row_major |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ data() [1/2]
template<typename _EigenType>
◆ data() [2/2]
template<typename _EigenType>
| const void * data |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ resize()
template<typename _EigenType>
| void resize |
( |
Index | r, |
|
|
Index | c ) |
|
inlineoverridevirtual |
◆ clone()
template<typename _EigenType>
◆ row_slice() [1/2]
template<typename _EigenType>
| std::unique_ptr< ArrayBase > row_slice |
( |
Index | num_rows, |
|
|
const IndexFunction & | mapping_fn ) const |
|
inlineoverridevirtual |
Using index function for row mapping.
- Parameters
-
| mapping_fn | An index mapping function: input_row_index = mapping_fn(output_row_index)). |
Implements ArrayBase.
◆ row_slice() [2/2]
template<typename _EigenType>
| std::unique_ptr< ArrayBase > row_slice |
( |
Index | num_rows, |
|
|
const WeightedIndexFunction & | mapping_fn ) const |
|
inlineoverridevirtual |
This is the most generic version of row_slice method.
- Parameters
-
| mapping_fn | A mapping function that maps each output row index to a vector of (input_row_index, weight). |
Implements ArrayBase.
◆ type_name()
template<typename _EigenType>
| std::string type_name |
( |
| ) |
const |
|
inlineoverridevirtual |
The documentation for this class was generated from the following file: