23#include "ParticleList.hpp"
25#include <boost/range/iterator_range.hpp>
33 using storage_type = std::vector<CellRef>;
43 m_neighbors =
rhs.m_neighbors;
46 std::distance(
rhs.m_neighbors.begin(),
62 m_red_black_divider =
res.out;
90 storage_type m_neighbors;
neighbors_type m_neighbors
std::vector< std::pair< Particle *, Particle * > > m_verlet_list
Interaction pairs.
auto & particles()
Particles.
neighbors_type & neighbors()
All neighbors of the cell.
auto const & particles() const
storage_type::const_iterator const_iterator
storage_type::value_type value_type
Neighbors & operator=(const Neighbors &rhs)
storage_type::iterator iterator
Neighbors(std::span< const CellRef > red_neighbors, std::span< const CellRef > black_neighbors)
cell_range black()
Black partition of neighbors.
Neighbors(const Neighbors &rhs)
cell_range all()
All neighbors.
boost::iterator_range< iterator > cell_range
cell_range red()
Red partition of neighbors.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.