openmw-tes3coop/apps/opencs/model/world/subcellcollection.hpp
Alexander "Ace" Olofsson f77ae711e4 Fix template closer
2015-02-09 17:10:09 +01:00

47 lines
1.2 KiB
C++

#ifndef CSM_WOLRD_SUBCOLLECTION_H
#define CSM_WOLRD_SUBCOLLECTION_H
namespace ESM
{
class ESMReader;
}
namespace CSMWorld
{
struct Cell;
template<typename T>
struct IdAccessor;
template<typename T, typename AT = IdAccessor<T> >
class IdCollection;
/// \brief Single type collection of top level records that are associated with cells
template<typename ESXRecordT, typename IdAccessorT = IdAccessor<ESXRecordT> >
class SubCellCollection : public IdCollection<ESXRecordT, IdAccessorT>
{
const IdCollection<Cell>& mCells;
virtual void loadRecord (ESXRecordT& record, ESM::ESMReader& reader);
public:
SubCellCollection (const IdCollection<Cell>& cells);
};
template<typename ESXRecordT, typename IdAccessorT>
void SubCellCollection<ESXRecordT, IdAccessorT>::loadRecord (ESXRecordT& record,
ESM::ESMReader& reader)
{
record.load (reader, mCells);
}
template<typename ESXRecordT, typename IdAccessorT>
SubCellCollection<ESXRecordT, IdAccessorT>::SubCellCollection (
const IdCollection<Cell>& cells)
: mCells (cells)
{}
}
#endif