16 #ifndef dealii_block_indices_h 17 #define dealii_block_indices_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/exceptions.h> 23 #include <deal.II/base/logstream.h> 24 #include <deal.II/base/subscriptor.h> 25 #include <deal.II/base/utilities.h> 30 DEAL_II_NAMESPACE_OPEN
111 reinit(
const std::vector<size_type> &block_sizes);
168 std::pair<unsigned int, size_type>
243 const unsigned int n = bi.size();
247 s << bi.block_size(0);
249 for (
unsigned int i = 1; i < n; ++i)
250 s <<
' ' << bi.block_size(i);
251 s <<
"]->" << bi.total_size();
275 n_blocks =
static_cast<unsigned int>(block_sizes.size());
294 , start_indices(n_blocks + 1)
303 : n_blocks(static_cast<unsigned int>(block_sizes.size()))
304 , start_indices(block_sizes.size() + 1)
312 : n_blocks(b.n_blocks)
313 , start_indices(std::move(b.start_indices))
316 b.start_indices = std::vector<size_type>(1, 0);
330 inline std::pair<unsigned int, BlockIndices::size_type>
350 ExcIndexRangeType<size_type>(
388 for (
unsigned int i = 0; i <
n_blocks; ++i)
422 start_indices = std::move(b.start_indices);
423 n_blocks = b.n_blocks;
425 b.start_indices = std::vector<size_type>(1, 0);
484 DEAL_II_NAMESPACE_CLOSE
#define AssertDimension(dim1, dim2)
size_type block_size(const unsigned int i) const
static ::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
std::string to_string(const number value, const unsigned int digits=numbers::invalid_unsigned_int)
size_type total_size() const
void swap(BlockIndices &u, BlockIndices &v)
bool operator==(const BlockIndices &b) const
#define Assert(cond, exc)
void reinit(const unsigned int n_blocks, const size_type n_elements_per_block)
std::string to_string() const
size_type local_to_global(const unsigned int block, const size_type index) const
std::string int_to_string(const unsigned int value, const unsigned int digits=numbers::invalid_unsigned_int)
std::vector< size_type > start_indices
void swap(Vector< Number > &u, Vector< Number > &v)
unsigned int global_dof_index
BlockIndices & operator=(const BlockIndices &b)
std::size_t memory_consumption() const
size_type block_start(const unsigned int i) const
void push_back(const size_type size)
void swap(BlockIndices &b)
types::global_dof_index size_type
unsigned int size() const
std::pair< unsigned int, size_type > global_to_local(const size_type i) const