|
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. More...
|
|
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. More...
|
|
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 |
|
virtual std::any | get_type_info () const =0 |
|
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 |
|
virtual Index | rows () const =0 |
|
virtual Index | cols () const =0 |
|
virtual bool | is_row_major () const =0 |
|
virtual void * | data ()=0 |
|
virtual const void * | data () const =0 |
|
virtual void | resize (Index, Index)=0 |
|
virtual std::unique_ptr< ArrayBase > | clone () const =0 |
|
template<typename T > |
std::unique_ptr< ArrayBase > | row_slice (const std::vector< T > &row_indices) const |
|
virtual std::unique_ptr< ArrayBase > | row_slice (Index num_rows, const IndexFunction &mapping_fn) const =0 |
| Using index function for row mapping. More...
|
|
virtual std::unique_ptr< ArrayBase > | row_slice (Index num_rows, const WeightedIndexFunction &mapping_fn) const =0 |
| This is the most generic version of row_slice method. More...
|
|
virtual std::string | type_name () const =0 |
|
|
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.