Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated CellDataTransferBuffer #15528

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/news/changes/incompatibilities/20230629DanielArndt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Removed: The deprecated GridTools::CellDataTransferBuffer class has been removed.
<br>
(Daniel Arndt, 2023/06/29)
100 changes: 0 additions & 100 deletions include/deal.II/grid/grid_tools.h
Original file line number Diff line number Diff line change
Expand Up @@ -3615,106 +3615,6 @@ namespace GridTools
compute_vertices_with_ghost_neighbors(
const Triangulation<dim, spacedim> &tria);

/**
* A structure that allows the transfer of cell data of type @p T from one processor
* to another. It corresponds to a packed buffer that stores a vector of
* CellId and a vector of type @p T.
*
* This class facilitates the transfer by providing the save/load functions
* that are able to pack up the vector of CellId's and the associated
* data of type @p T into a stream.
*
* Type @p T is assumed to be serializable by <code>boost::serialization</code> (for
* example <code>unsigned int</code> or <code>std::vector@<double@></code>).
*
* @deprecated The implementation in deal.II has been rewritten, making this class
* obsolete for use within deal.II. Use your own data structures instead.
*/
template <int dim, typename T>
struct DEAL_II_DEPRECATED CellDataTransferBuffer
{
/**
* A vector to store IDs of cells to be transferred.
*/
std::vector<CellId> cell_ids;

/**
* A vector of cell data to be transferred.
*/
std::vector<T> data;

/**
* Write the data of this object to a stream for the purpose of
* serialization using the [BOOST serialization
* library](https://www.boost.org/doc/libs/1_74_0/libs/serialization/doc/index.html)
*
* @pre The user is responsible to keep the size of @p data
* equal to the size as @p cell_ids .
*/
template <class Archive>
void
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
* serialization using the [BOOST serialization
* library](https://www.boost.org/doc/libs/1_74_0/libs/serialization/doc/index.html).
* Throw away the previous content.
*/
template <class Archive>
void
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
/**
* Read or write the data of this object to or from a stream for the
* purpose of serialization using the [BOOST serialization
* library](https://www.boost.org/doc/libs/1_74_0/libs/serialization/doc/index.html).
*/
template <class Archive>
void
serialize(Archive &archive, const unsigned int version);
#else
// This macro defines the serialize() method that is compatible with
// the templated save() and load() method that have been implemented.
BOOST_SERIALIZATION_SPLIT_MEMBER()
#endif
};



/**
* An implementation of the marching-square (2d) and marching-cube algorithm
* for creating data structures (vectors of Point and CellData) to
Expand Down