DoorKeeper/include/doorkeeper/components/tilemapdata.hpp
King_DuckZ 701366bf86 Replace size_t with uint32_t for template parameter D
This fixes the build on 64-bit machines, where size_t and uint32_t from vector.hpp would mismatch.
2015-01-08 12:20:17 +01:00

35 lines
952 B
C++

#ifndef id8F5106DFABC14263ADF235C56E434207
#define id8F5106DFABC14263ADF235C56E434207
#include "doorkeeper/primitivetypes.hpp"
#include "doorkeeper/implem/compatibility.h"
#include "doorkeeper/implem/vector.hpp"
#include "doorkeeper/implem/helpers.hpp"
#include "doorkeeper/mapreaders/mapstreambase.hpp"
#include <cstddef>
#include <iterator>
#include <memory>
#include <algorithm>
#include <cstdint>
namespace dk {
template <typename T, uint32_t D>
class TileMapData {
public:
typedef Vector<CoordinateScalarType, D> coords;
TileMapData ( void ) = delete;
explicit TileMapData ( std::unique_ptr<MapStreamBase<D>>&& parStream );
~TileMapData ( void ) noexcept = default;
void fetch ( std::vector<T>& parOut, const coords& parFrom, const coords& parTo );
const coords& mapSize ( void ) const;
private:
const std::unique_ptr<MapStreamBase<D>> m_mapstream;
};
} //namespace dk
#include "doorkeeper/implem/tilemapdata.inl"
#endif