Recast  1
Game with custom magic
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ThreadedChunkedTemperatureWorldUpdater Class Reference

#include <ThreadedChunkedTemperatureWorldUpdater.hpp>

Inheritance diagram for ThreadedChunkedTemperatureWorldUpdater:
Inheritance graph
Collaboration diagram for ThreadedChunkedTemperatureWorldUpdater:
Collaboration graph

Classes

struct  ThreadData
 

Public Member Functions

 ThreadedChunkedTemperatureWorldUpdater (std::shared_ptr< ITemperatureWorldChunkableObservable< ITemperatureWorldChunkableGeneratable< ITemperatureWorldChunkableMutable< ITemperatureWorldChunkable< ITemperatureWorld >>>>> world, std::function< std::shared_ptr< IUpdaterTemperatureWorldSemiChunkUpdatable< IUpdater >>(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >>)> makeChunkUpdaterFn)
 
 ~ThreadedChunkedTemperatureWorldUpdater ()
 
void update () override
 
- Public Member Functions inherited from IUpdater
virtual ~IUpdater () noexcept=default
 

Static Protected Member Functions

static void _work (std::shared_ptr< ThreadData > data)
 
static void _watchChunk (std::shared_ptr< ThreadData > data, std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk)
 

Protected Attributes

std::shared_ptr< ThreadData_data
 

Detailed Description

Implementation of chunked temperature world updater. It updates every chunk asynchronously in a thread pool. This class is thread-safe.

Constructor & Destructor Documentation

ThreadedChunkedTemperatureWorldUpdater::ThreadedChunkedTemperatureWorldUpdater ( std::shared_ptr< ITemperatureWorldChunkableObservable< ITemperatureWorldChunkableGeneratable< ITemperatureWorldChunkableMutable< ITemperatureWorldChunkable< ITemperatureWorld >>>>>  world)

Here is the call graph for this function:

ThreadedChunkedTemperatureWorldUpdater::~ThreadedChunkedTemperatureWorldUpdater ( )

Member Function Documentation

void ThreadedChunkedTemperatureWorldUpdater::_watchChunk ( std::shared_ptr< ThreadData data,
std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >>  chunk 
)
staticprotected

Here is the caller graph for this function:

void ThreadedChunkedTemperatureWorldUpdater::_work ( std::shared_ptr< ThreadData data)
staticprotected

Here is the caller graph for this function:

void ThreadedChunkedTemperatureWorldUpdater::update ( )
overridevirtual

Updates.

Implements IUpdater.

Member Data Documentation

std::shared_ptr<ThreadData> ThreadedChunkedTemperatureWorldUpdater::_data
protected

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