Skip to content

Commit

Permalink
Move function definitions inline to fix compiler warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
kronbichler committed May 27, 2022
1 parent b41251d commit f71c1d3
Showing 1 changed file with 34 additions and 44 deletions.
78 changes: 34 additions & 44 deletions include/deal.II/grid/grid_tools.h
Original file line number Diff line number Diff line change
Expand Up @@ -3324,7 +3324,23 @@ namespace GridTools
*/
template <class Archive>
void
save(Archive &ar, const unsigned int version) const;
save(Archive &ar, const unsigned int) const
{
// Implement the code inline as some compilers do otherwise complain
// about the use of a deprecated interface.
Assert(cell_ids.size() == data.size(),
ExcDimensionMismatch(cell_ids.size(), data.size()));
// archive the cellids in an efficient binary format
const std::size_t n_cells = cell_ids.size();
ar & n_cells;
for (const auto &id : cell_ids)
{
CellId::binary_type binary_cell_id = id.template to_binary<dim>();
ar & binary_cell_id;
}

ar &data;
}

/**
* Read the data of this object from a stream for the purpose of
Expand All @@ -3334,7 +3350,23 @@ namespace GridTools
*/
template <class Archive>
void
load(Archive &ar, const unsigned int version);
load(Archive &ar, const unsigned int)
{
// Implement the code inline as some compilers do otherwise complain
// about the use of a deprecated interface.
std::size_t n_cells;
ar & n_cells;
cell_ids.clear();
cell_ids.reserve(n_cells);
for (unsigned int c = 0; c < n_cells; ++c)
{
CellId::binary_type value;
ar & value;
cell_ids.emplace_back(value);
}
ar &data;
}


#ifdef DOXYGEN
/**
Expand Down Expand Up @@ -4279,48 +4311,6 @@ namespace GridTools



template <int dim, typename T>
template <class Archive>
void
CellDataTransferBuffer<dim, T>::save(Archive &ar,
const unsigned int /*version*/) const
{
Assert(cell_ids.size() == data.size(),
ExcDimensionMismatch(cell_ids.size(), data.size()));
// archive the cellids in an efficient binary format
const std::size_t n_cells = cell_ids.size();
ar & n_cells;
for (const auto &id : cell_ids)
{
CellId::binary_type binary_cell_id = id.template to_binary<dim>();
ar & binary_cell_id;
}

ar &data;
}



template <int dim, typename T>
template <class Archive>
void
CellDataTransferBuffer<dim, T>::load(Archive &ar,
const unsigned int /*version*/)
{
std::size_t n_cells;
ar & n_cells;
cell_ids.clear();
cell_ids.reserve(n_cells);
for (unsigned int c = 0; c < n_cells; ++c)
{
CellId::binary_type value;
ar & value;
cell_ids.emplace_back(value);
}
ar &data;
}


namespace internal
{
template <typename DataType,
Expand Down

0 comments on commit f71c1d3

Please sign in to comment.