diff --git a/include/doorkeeper/components/basemapsource.hpp b/include/doorkeeper/components/basemapsource.hpp index 2477b6b..944c6f2 100644 --- a/include/doorkeeper/components/basemapsource.hpp +++ b/include/doorkeeper/components/basemapsource.hpp @@ -11,7 +11,7 @@ namespace dk { template class BaseMapSource { public: - typedef dk::Vector coords; + typedef dk::Vector coords; BaseMapSource ( void ) = default; virtual ~BaseMapSource ( void ) noexcept = default; diff --git a/include/doorkeeper/components/layer.hpp b/include/doorkeeper/components/layer.hpp index 8c4a7dd..b5ced60 100644 --- a/include/doorkeeper/components/layer.hpp +++ b/include/doorkeeper/components/layer.hpp @@ -20,7 +20,7 @@ namespace dk { template class LayerBase { public: - typedef Vector coords; + typedef Vector coords; LayerBase ( const coords& parCount, const coords& parTileSize, const coords& parMasterTileSize ); virtual ~LayerBase ( void ) noexcept = default; diff --git a/include/doorkeeper/components/tileiterator.hpp b/include/doorkeeper/components/tileiterator.hpp index a78e4ab..0bdb349 100644 --- a/include/doorkeeper/components/tileiterator.hpp +++ b/include/doorkeeper/components/tileiterator.hpp @@ -16,7 +16,7 @@ namespace dk { namespace implem { template - size_t get_index_from_pos ( const Vector& parPos, const Vector& parSize ) a_pure; + size_t get_index_from_pos ( const Vector& parPos, const Vector& parSize ) a_pure; template struct TypeWithQualifiers { @@ -34,24 +34,24 @@ namespace dk { #if defined(NDEBUG) template <> - size_t get_index_from_pos<2> ( const Vector& parPos, const Vector& parSize ) a_pure; + size_t get_index_from_pos<2> ( const Vector<2>& parPos, const Vector<2>& parSize ) a_pure; #endif template - Vector buildPastEndCoordinate ( const Vector& parFrom, const Vector& parTo ) a_pure; + Vector buildPastEndCoordinate ( const Vector& parFrom, const Vector& parTo ) a_pure; template - const Vector& get_from_from_iterator ( const TileIterator& parIterator ); + const Vector& get_from_from_iterator ( const TileIterator& parIterator ); } //namespace implem template ::type> class TileIterator : public boost::iterator_facade, T, boost::bidirectional_traversal_tag> { friend class boost::iterator_core_access; - friend const Vector& implem::get_from_from_iterator<> ( const TileIterator& parIterator ); + friend const Vector& implem::get_from_from_iterator<> ( const TileIterator& parIterator ); typedef std::vector vector_type; typedef typename implem::TypeWithQualifiers::result qualif_vector_type; public: - typedef Vector coords; + typedef Vector coords; TileIterator ( void ); TileIterator ( const TileIterator& parOther ) = default; diff --git a/include/doorkeeper/components/viewport.hpp b/include/doorkeeper/components/viewport.hpp index c1e579f..192edd6 100644 --- a/include/doorkeeper/components/viewport.hpp +++ b/include/doorkeeper/components/viewport.hpp @@ -16,7 +16,7 @@ namespace dk { template class Viewport { public: - typedef Vector coords; + typedef Vector coords; Viewport ( const Viewport& parOther ) = default; explicit Viewport ( Tyler& parTyler ); diff --git a/include/doorkeeper/helpers/asciimapsource.hpp b/include/doorkeeper/helpers/asciimapsource.hpp index 9e43858..83a112f 100644 --- a/include/doorkeeper/helpers/asciimapsource.hpp +++ b/include/doorkeeper/helpers/asciimapsource.hpp @@ -14,7 +14,7 @@ namespace dkh { class AsciiMapSource : public dk::BaseMapSource { public: - typedef dk::Vector coords; + typedef dk::Vector<2> coords; typedef implem::AsciiMapTileType MapTileType; enum { MapDimensions = 2 diff --git a/include/doorkeeper/helpers/tilecoordinates.hpp b/include/doorkeeper/helpers/tilecoordinates.hpp index 25ca64e..84bfbf3 100644 --- a/include/doorkeeper/helpers/tilecoordinates.hpp +++ b/include/doorkeeper/helpers/tilecoordinates.hpp @@ -5,16 +5,16 @@ namespace dkh { template - dk::Vector get_diamond_coordinates ( const dk::TileIterator& parIterator, const dk::Vector& parSize ); + dk::Vector<2> get_diamond_coordinates ( const dk::TileIterator& parIterator, const dk::Vector<2>& parSize ); template - dk::Vector get_half_diamond_coordinates ( const dk::TileIterator& parIterator, const dk::Vector& parSize ); + dk::Vector<2> get_half_diamond_coordinates ( const dk::TileIterator& parIterator, const dk::Vector<2>& parSize ); template - dk::Vector get_square_coordinates ( const dk::TileIterator& parIterator, const dk::Vector& parSize ); + dk::Vector get_square_coordinates ( const dk::TileIterator& parIterator, const dk::Vector& parSize ); template - dk::Vector get_hex_coordinates ( const dk::TileIterator& parIterator, const dk::Vector& parSize ); + dk::Vector<2> get_hex_coordinates ( const dk::TileIterator& parIterator, const dk::Vector<2>& parSize ); } //namespace dkh #include "doorkeeper/implem/tilecoordinates.inl" diff --git a/include/doorkeeper/helpers/tylermapsource.hpp b/include/doorkeeper/helpers/tylermapsource.hpp index af25d34..ebae80e 100644 --- a/include/doorkeeper/helpers/tylermapsource.hpp +++ b/include/doorkeeper/helpers/tylermapsource.hpp @@ -20,7 +20,7 @@ namespace dkh { template class TylerMapSource : public dk::BaseMapSource { public: - typedef dk::Vector coords; + typedef dk::Vector coords; typedef T MapTileType; enum { MapDimensions = D diff --git a/include/doorkeeper/implem/helpers.hpp b/include/doorkeeper/implem/helpers.hpp index b679c0e..67d67eb 100644 --- a/include/doorkeeper/implem/helpers.hpp +++ b/include/doorkeeper/implem/helpers.hpp @@ -6,7 +6,7 @@ namespace dk { namespace implem { template - CoordinateScalarType area ( const Vector& parVec ) a_pure; + CoordinateScalarType area ( const Vector& parVec ) a_pure; } //namespace implem } //namespace dk diff --git a/include/doorkeeper/implem/helpers.inl b/include/doorkeeper/implem/helpers.inl index d33daf4..d30e72a 100644 --- a/include/doorkeeper/implem/helpers.inl +++ b/include/doorkeeper/implem/helpers.inl @@ -3,7 +3,7 @@ namespace dk { ///---------------------------------------------------------------------- ///---------------------------------------------------------------------- template - CoordinateScalarType area (const Vector& parVec) { + CoordinateScalarType area (const Vector& parVec) { CoordinateScalarType retval(1); for (size_t d = 0; d < D; ++d) { retval *= parVec[d]; diff --git a/include/doorkeeper/implem/tilecoordinates.inl b/include/doorkeeper/implem/tilecoordinates.inl index 36cc519..23a4d3b 100644 --- a/include/doorkeeper/implem/tilecoordinates.inl +++ b/include/doorkeeper/implem/tilecoordinates.inl @@ -1,8 +1,8 @@ namespace dkh { template inline - dk::Vector get_diamond_coordinates (const dk::TileIterator& parIterator, const dk::Vector& parSize) { - typedef dk::Vector vec; + dk::Vector<2> get_diamond_coordinates (const dk::TileIterator& parIterator, const dk::Vector<2>& parSize) { + typedef dk::Vector<2> vec; const auto abspos(parIterator.abs_position()); const auto from(dk::implem::get_from_from_iterator(parIterator)); @@ -13,14 +13,14 @@ namespace dkh { template inline - dk::Vector get_half_diamond_coordinates (const dk::TileIterator& parIterator, const dk::Vector& parSize) { - typedef dk::Vector vec; + dk::Vector<2> get_half_diamond_coordinates (const dk::TileIterator& parIterator, const dk::Vector<2>& parSize) { + typedef dk::Vector<2> vec; return get_diamond_coordinates(parIterator, parSize / vec(1, 2)); } template inline - dk::Vector get_square_coordinates (const dk::TileIterator& parIterator, const dk::Vector& parSize) { + dk::Vector get_square_coordinates (const dk::TileIterator& parIterator, const dk::Vector& parSize) { return (parIterator.abs_position() - dk::implem::get_from_from_iterator(parIterator)) * parSize; } diff --git a/include/doorkeeper/implem/tileiterator.inl b/include/doorkeeper/implem/tileiterator.inl index f636e3c..9260d00 100644 --- a/include/doorkeeper/implem/tileiterator.inl +++ b/include/doorkeeper/implem/tileiterator.inl @@ -1,7 +1,7 @@ namespace dk { namespace implem { template - inline size_t get_index_from_pos (const Vector& parPos, const Vector& parSize) { + inline size_t get_index_from_pos (const Vector& parPos, const Vector& parSize) { size_t index = 0; for (size_t d = 0; d < D; ++d) { size_t pos = static_cast(parPos[D - 1 - d]); @@ -16,14 +16,14 @@ namespace dk { #if defined(NDEBUG) template <> - inline size_t get_index_from_pos<2> (const Vector& parPos, const Vector& parSize) { + inline size_t get_index_from_pos<2> (const Vector<2>& parPos, const Vector<2>& parSize) { return parPos.y() * parSize.x() + parPos.x(); } #endif template - inline Vector buildPastEndCoordinate (const Vector& parFrom, const Vector& parTo) { - Vector retval; + inline Vector buildPastEndCoordinate (const Vector& parFrom, const Vector& parTo) { + Vector retval; for (size_t d = 0; d < D - 1; ++d) { retval[d] = parFrom[d]; } @@ -32,7 +32,7 @@ namespace dk { } template - inline const Vector& get_from_from_iterator (const TileIterator& parIterator) { + inline const Vector& get_from_from_iterator (const TileIterator& parIterator) { return parIterator.m_from; } } //namespace implem diff --git a/include/doorkeeper/primitivetypes.hpp b/include/doorkeeper/primitivetypes.hpp index 9abcf27..a053342 100644 --- a/include/doorkeeper/primitivetypes.hpp +++ b/include/doorkeeper/primitivetypes.hpp @@ -1,13 +1,15 @@ #ifndef id583F11FE0934446E9135B4ADCFA1E4F9 #define id583F11FE0934446E9135B4ADCFA1E4F9 -#include #include "implem/compatibility.h" #include "implem/configuration.h" #include "implem/vector.hpp" +#include +#include namespace dk { - using cloonel::Vector; + template + using Vector = cloonel::Vector; } //namespace dk #endif