![]() |
IgANet
IGAnets - Isogeometric Analysis Networks
|
Compile-time block tensor core. More...
#include </home/runner/work/iganet/iganet/include/utils/blocktensor.hpp>
Public Member Functions | |
| BlockTensorCore ()=default | |
| Default constructor. | |
| template<typename... Ts, std::size_t... dims> | |
| BlockTensorCore (BlockTensor< Ts, dims... > &&...other) | |
| Constructor from BlockTensor objects. | |
| template<typename... Ts, std::size_t... dims> | |
| BlockTensorCore (BlockTensorCore< Ts, dims... > &&...other) | |
| Constructor from BlockTensorCore objects. | |
| template<typename... Ts> | |
| BlockTensorCore (Ts &&...data) | |
| Constructor from variadic templates. | |
| std::array< std::shared_ptr< T >,(Dims *...)> & | data () |
| Returns a non-constant reference to the data array. | |
| const std::array< std::shared_ptr< T >,(Dims *...)> & | data () const |
| Returns a constant reference to the data array. | |
| T & | operator() (std::size_t idx) |
| Returns a non-constant reference to entry (idx) | |
| const T & | operator() (std::size_t idx) const |
| Returns a constant reference to entry (idx) | |
| std::shared_ptr< T > & | operator[] (std::size_t idx) |
| Returns a non-constant shared pointer to entry (idx) | |
| const std::shared_ptr< T > & | operator[] (std::size_t idx) const |
| Returns a constant shared pointer to entry (idx) | |
| void | pretty_print (std::ostream &os) const noexcept override=0 |
| Returns a string representation of the BlockTensorCore object. | |
| template<typename Data > | |
| T & | set (std::size_t idx, Data &&data) |
| Stores the given data object at the given index. | |
Static Public Member Functions | |
| template<std::size_t i> | |
| static constexpr std::size_t | dim () |
| Returns the i-th dimension. | |
| static constexpr auto | dims () |
| Returns all dimensions as array. | |
| static constexpr std::size_t | entries () |
| Returns the total number of entries. | |
| static constexpr std::size_t | size () |
| Returns the number of dimensions. | |
Protected Attributes | |
| std::array< std::shared_ptr< T >,(Dims *...)> | data_ |
| Array storing the data. | |
Protected Attributes inherited from iganet::utils::FullQualifiedName | |
| at::optional< std::string > | name_ |
| String storing the full qualified name of the object. | |
Additional Inherited Members | |
Protected Member Functions inherited from iganet::utils::FullQualifiedName | |
| virtual | ~FullQualifiedName ()=default |
| virtual const std::string & | name () const noexcept |
| Returns the full qualified name of the object. | |
Compile-time block tensor core.
|
default |
Default constructor.
|
inlineexplicit |
Constructor from BlockTensorCore objects.
|
inlineexplicit |
Constructor from BlockTensor objects.
|
inlineexplicit |
Constructor from variadic templates.
|
inline |
Returns a non-constant reference to the data array.
|
inline |
Returns a constant reference to the data array.
|
inlinestaticconstexpr |
Returns the i-th dimension.
|
inlinestaticconstexpr |
Returns all dimensions as array.
|
inlinestaticconstexpr |
Returns the total number of entries.
|
inline |
Returns a non-constant reference to entry (idx)
|
inline |
Returns a constant reference to entry (idx)
|
inline |
Returns a non-constant shared pointer to entry (idx)
|
inline |
Returns a constant shared pointer to entry (idx)
|
inlineoverridepure virtualnoexcept |
Returns a string representation of the BlockTensorCore object.
Implements iganet::utils::FullQualifiedName.
Implemented in iganet::utils::BlockTensor< T, Rows >, iganet::utils::BlockTensor< T, Rows, Cols >, and iganet::utils::BlockTensor< T, Rows, Cols, Slices >.
|
inline |
Stores the given data object at the given index.
|
inlinestaticconstexpr |
Returns the number of dimensions.
|
protected |
Array storing the data.