Reference documentation for deal.II version Git 840703ecf3 2019-10-14 17:15:20 -0400
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
block_mask.cc
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2012 - 2018 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 
17 #include <deal.II/fe/block_mask.h>
18 
19 #include <iostream>
20 
21 
22 DEAL_II_NAMESPACE_OPEN
23 
24 std::ostream &
25 operator<<(std::ostream &out, const BlockMask &mask)
26 {
27  if (mask.block_mask.size() == 0)
28  out << "[all blocks selected]";
29  else
30  {
31  out << '[';
32  for (unsigned int i = 0; i < mask.block_mask.size(); ++i)
33  {
34  out << (mask.block_mask[i] ? "true" : "false");
35  if (i != mask.block_mask.size() - 1)
36  out << ',';
37  }
38  out << ']';
39  }
40 
41  return out;
42 }
43 
44 
45 
46 std::size_t
48 {
49  return sizeof(*this) + MemoryConsumption::memory_consumption(block_mask);
50 }
51 
52 
53 DEAL_II_NAMESPACE_CLOSE
OutputOperator< VectorType > & operator<<(OutputOperator< VectorType > &out, unsigned int step)
Definition: operator.h:170
std::vector< bool > block_mask
Definition: block_mask.h:215
std::size_t memory_consumption() const
Definition: block_mask.cc:47
std::enable_if< std::is_fundamental< T >::value, std::size_t >::type memory_consumption(const T &t)