42 #ifndef VECTOR_SPACE_COMPOSITE_STE_H
43 #define VECTOR_SPACE_COMPOSITE_STE_H
49 namespace AbstractLinAlgPack {
139 ,
int num_vector_spaces
219 #ifdef DOXYGEN_COMPILE
246 return vector_spaces_.size();
253 return &vector_spaces_[0];
259 return &vec_spaces_offsets_[0];
264 #endif // VECTOR_SPACE_COMPOSITE_STE_H
std::vector< index_type > vec_spaces_offsets_t
RTOp_index_type index_type
void initialize(const VectorSpace::space_ptr_t vec_spaces[], int num_vector_spaces, const VectorSpace::space_fcty_ptr_t &small_vec_spc_fcty=Teuchos::null)
Initialize with a set of vector space objects.
vec_mut_ptr_t create_member() const
multi_vec_mut_ptr_t create_members(size_type num_vecs) const
space_fcty_ptr_t small_vec_spc_fcty() const
space_ptr_t clone() const
. One-based subregion index range class.
RTOp_index_type size_type
Abstract interface for objects that represent a space for mutable coordinate vectors.
space_ptr_t sub_space(const Range1D &rng) const
Abstract interface for objects that can create vector spaces of a specified dimension.
VectorSpace * vector_spaces
VectorSpace subclass for the composite of one or more VectorSpace objects.
const VectorSpace::space_ptr_t * vector_spaces() const
std::vector< VectorSpace::space_ptr_t > vector_spaces_t
const index_type * vector_spaces_offsets() const
Returns array (length this->num_vector_spaces() + 1) of offsets for each constitient vector space in ...
VectorSpaceFactory * small_vec_spc_fcty
int num_vector_spaces() const
Return the value of num_vec_spaces passed to this->initialize().
bool is_compatible(const VectorSpace &vec_space) const
Returns true if same type and has compatible vector spaces.
void get_vector_space_position(index_type i, int *kth_vector_space, index_type *kth_global_offset) const
Get the position of the vector space object and its offset into the composite vector of the vector sp...