namespace dkh { template TylerMapSource::TylerMapSource (const char* parFilename) : base_class(m_stream->tellg()), m_stream(new std::ifstream(parFilename)) { parse_map_data(*m_stream); } template TylerMapSource::TylerMapSource (const std::string& parFilename) : base_class(m_stream->tellg()), m_stream(new std::ifstream(parFilename)) { parse_map_data(*m_stream); } template TylerMapSource::TylerMapSource (std::istream* parData) : base_class(m_stream->tellg()), m_stream(parData) { parse_map_data(*m_stream); } template void TylerMapSource::parse_map_data (std::istream& parSrc) { std::vector map_dims; std::vector tile_dims; parseMapHeaders(parSrc, D, map_dims, tile_dims); DK_ASSERT(map_dims.size() == D); DK_ASSERT(tile_dims.size() == D); for (std::size_t z = 0; z < D; ++z) { m_map_size[z] = map_dims[z]; m_tile_size[z] = tile_dims[z]; } } template const typename TylerMapSource::coords& TylerMapSource::mapSize() const { return m_map_size; } template const typename TylerMapSource::coords& TylerMapSource::tileSize() const { return m_tile_size; } template void TylerMapSource::fetch_raw (char* parOut, const coords& parFrom, const coords& parTo, std::size_t parSize) { (void)parOut; (void)parFrom; (void)parTo; (void)parSize; } template dk::MapTypes TylerMapSource::mapType() const { return base_class::mapType(); } template int TylerMapSource::layersCount() const { return m_layer_count; } template void TylerMapSource::chainedMaps (std::vector& parOut) const { return base_class::chainedMaps(parOut); } template dk::HashType TylerMapSource::layerTypeHash (int parIndex) const { return base_class::layerTypeHash(parIndex); } } //namespace dkh