Reference documentation for deal.II version 9.0.0
block_mask.cc
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2012 - 2014 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 at
12 // the top level of the deal.II distribution.
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 &operator << (std::ostream &out,
25  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:163
std::vector< bool > block_mask
Definition: block_mask.h:207
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)