HoverRace  2.0
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
HoverRace::Model::ElemHeap Class Reference

A managed pile of FreeElement instances. More...

#include <ElemHeap.h>

Public Types

using Handle = elems_t::const_iterator
 

Public Member Functions

 ElemHeap ()
 
 ElemHeap (const ElemHeap &)=default
 
 ElemHeap (ElemHeap &&)=default
 
 ~ElemHeap ()
 
Handle Add (std::shared_ptr< FreeElement > elem)
 
ElemHeapoperator= (const ElemHeap &)=default
 
ElemHeapoperator= (ElemHeap &&)=default
 
void StreamIn (Parcel::ObjStream &pArchive)
 
void StreamOut (Parcel::ObjStream &pArchive) const
 

Private Types

using elems_t = std::list< std::shared_ptr< FreeElement >>
 

Private Attributes

elems_t elems
 

Detailed Description

A managed pile of FreeElement instances.

For now, we manage the instances in a similar way to Level::FreeElementList. This abstraction is to allow for future changes in memory management.

Author
Michael Imamura

Member Typedef Documentation

using HoverRace::Model::ElemHeap::elems_t = std::list<std::shared_ptr<FreeElement>>
private
using HoverRace::Model::ElemHeap::Handle = elems_t::const_iterator

Constructor & Destructor Documentation

HoverRace::Model::ElemHeap::ElemHeap ( )
inline
HoverRace::Model::ElemHeap::ElemHeap ( const ElemHeap )
default
HoverRace::Model::ElemHeap::ElemHeap ( ElemHeap &&  )
default
HoverRace::Model::ElemHeap::~ElemHeap ( )
inline

Member Function Documentation

Handle HoverRace::Model::ElemHeap::Add ( std::shared_ptr< FreeElement elem)
inline
ElemHeap& HoverRace::Model::ElemHeap::operator= ( const ElemHeap )
default
ElemHeap& HoverRace::Model::ElemHeap::operator= ( ElemHeap &&  )
default
void HoverRace::Model::ElemHeap::StreamIn ( Parcel::ObjStream pArchive)
void HoverRace::Model::ElemHeap::StreamOut ( Parcel::ObjStream pArchive) const

Member Data Documentation

elems_t HoverRace::Model::ElemHeap::elems
private

The documentation for this class was generated from the following files: