faunus
Public Types | Public Member Functions | List of all members
Faunus::CellList::AbstractImmutableCellList< TContainerType, TGridType > Struct Template Referenceabstract

An interface of a immutable cell list. More...

#include <celllist.h>

Inheritance diagram for Faunus::CellList::AbstractImmutableCellList< TContainerType, TGridType >:
Inheritance graph
[legend]

Public Types

using AbstractCellList = AbstractImmutableCellList< TContainerType, TGridType >
 
using ContainerType = TContainerType
 abstract container types
 
using GridType = TGridType
 abstract grid type
 
using Members = typename Container::MembersOf< ContainerType >
 members type
 
using Member = typename Container::MemberOf< ContainerType >
 member type
 
using CellIndex = typename Grid::IndexOf< GridType >
 grid (cell) index type
 
using CellCoord = typename Grid::CoordOf< GridType >
 grid (cell) coordinates type
 

Public Member Functions

virtual const MembersgetMembers (const CellCoord &)=0
 Gets cell members at given cell coordinates.
 
virtual const MembersgetNeighborMembers (const CellCoord &, const CellCoord &)=0
 Gets cell members at given cell coordinates.
 
virtual CellIndex gridSize () const =0
 Get cells count. Valid cell indices are in the range [0, gridSize).
 
virtual std::vector< CellCoordgetCells () const =0
 Gets indicies of non-empty cells. More...
 

Detailed Description

template<class TContainerType, class TGridType>
struct Faunus::CellList::AbstractImmutableCellList< TContainerType, TGridType >

An interface of a immutable cell list.

No methods for manipulating (adding, removing) members are provided.

Template Parameters
TContainerTypea container type to obtain Member and Members subtypes
TGridTypea grid type to obtain index and coordinates subtypes

Member Function Documentation

◆ getCells()

template<class TContainerType, class TGridType>
virtual std::vector<CellCoord> Faunus::CellList::AbstractImmutableCellList< TContainerType, TGridType >::getCells ( ) const
pure virtual

Gets indicies of non-empty cells.

See AbstractContainer interface.

Todo:
refactor as an iterator

Implemented in Faunus::CellList::CellListDifference< TCellListMinuend, TCellListSubtrahend >, and Faunus::CellList::CellListBase< TContainer, TGrid >.


The documentation for this struct was generated from the following file: