#ifndef id9B1C02049E474F6997D367932C4C2D21 #define id9B1C02049E474F6997D367932C4C2D21 #include "primitivetypes.hpp" #include #include #include #include #include //This code might need to be removed, but for now it's handy to read a simple //ascii file into a vector without worrying too much about details. //TODO: remove along with the code in the constructor #include "implem/asciimap_parser.hpp" #include #include namespace dk { template class TileStreamer { public: typedef Vector coords; typedef std::unique_ptr StreamPtr; explicit TileStreamer ( StreamPtr&& parStream ); TileStreamer ( const TileStreamer& ) = delete; TileStreamer ( TileStreamer&& ) = default; ~TileStreamer ( void ) noexcept = default; TileStreamer& operator= ( const TileStreamer& ) = delete; void copy ( std::vector& parDest, const coords& parFrom, const coords& parTo ); const coords& tilesCount ( void ) const { return m_count; } private: StreamPtr m_stream; coords m_count; std::vector m_wholedata; }; } //namespace dk #include "implem/tilestreamer.inl" #endif