minor changes
This commit is contained in:
parent
8c35113967
commit
3086bf54ab
2 changed files with 22 additions and 24 deletions
|
@ -17,7 +17,7 @@
|
|||
|
||||
namespace CNORXZ
|
||||
{
|
||||
|
||||
|
||||
/*==========+
|
||||
| SPos |
|
||||
+==========*/
|
||||
|
@ -36,40 +36,40 @@ namespace CNORXZ
|
|||
|
||||
template <SizeT N>
|
||||
template <SizeT N1>
|
||||
constexpr auto SPos<N>::operator+(const SPos<N1>& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator+(const SPos<N1>& a) const
|
||||
{
|
||||
return SPos<N+N1>();
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
template <SizeT N1>
|
||||
constexpr auto SPos<N>::operator-(const SPos<N1>& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator-(const SPos<N1>& a) const
|
||||
{
|
||||
return SPos<N-N1>();
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
template <SizeT N1>
|
||||
constexpr auto SPos<N>::operator*(const SPos<N1>& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator*(const SPos<N1>& a) const
|
||||
{
|
||||
return SPos<N*N1>();
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
template <SizeT N1>
|
||||
constexpr auto SPos<N>::operator()(const SPos<N1>& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator()(const SPos<N1>& a) const
|
||||
{
|
||||
return SPos<N*N1>();
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
constexpr auto SPos<N>::operator+(const UPos& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator+(const UPos& a) const
|
||||
{
|
||||
return UPos(N+a.val());
|
||||
}
|
||||
|
||||
template <SizeT N>
|
||||
constexpr auto SPos<N>::operator*(const UPos& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator*(const UPos& a) const
|
||||
{
|
||||
if constexpr(N == 0){
|
||||
return SPos<0>();
|
||||
|
@ -80,7 +80,7 @@ namespace CNORXZ
|
|||
}
|
||||
|
||||
template <SizeT N>
|
||||
constexpr auto SPos<N>::operator()(const UPos& a) const
|
||||
constexpr decltype(auto) SPos<N>::operator()(const UPos& a) const
|
||||
{
|
||||
if constexpr(N == 0){
|
||||
return SPos<0>();
|
||||
|
@ -187,8 +187,8 @@ namespace CNORXZ
|
|||
| FPos |
|
||||
+==========*/
|
||||
|
||||
inline FPos::FPos(SizeT ext, const SizeT* map, SizeT max, SizeT max2) :
|
||||
mExt(ext), mMap(map), mMax(max), mMax2(max2) {}
|
||||
inline FPos::FPos(SizeT ext, const SizeT* map, SizeT max) :
|
||||
mExt(ext), mMap(map), mMax(max) {}
|
||||
|
||||
constexpr SizeT FPos::size() const
|
||||
{
|
||||
|
|
|
@ -24,33 +24,33 @@ namespace CNORXZ
|
|||
constexpr SPos() = default;
|
||||
constexpr SPos(const SPos& a) = default;
|
||||
constexpr SPos(SPos&& a) = default;
|
||||
|
||||
|
||||
constexpr SizeT size() const;
|
||||
constexpr SizeT val() const;
|
||||
|
||||
template <SizeT N1>
|
||||
constexpr auto operator+(const SPos<N1>& a) const;
|
||||
constexpr decltype(auto) operator+(const SPos<N1>& a) const;
|
||||
template <SizeT N1>
|
||||
constexpr auto operator-(const SPos<N1>& a) const;
|
||||
constexpr decltype(auto) operator-(const SPos<N1>& a) const;
|
||||
template <SizeT N1>
|
||||
constexpr auto operator*(const SPos<N1>& a) const;
|
||||
constexpr decltype(auto) operator*(const SPos<N1>& a) const;
|
||||
template <SizeT N1>
|
||||
constexpr auto operator()(const SPos<N1>& a) const;
|
||||
|
||||
constexpr auto operator+(const UPos& a) const;
|
||||
constexpr auto operator*(const UPos& a) const;
|
||||
constexpr auto operator()(const UPos& a) const;
|
||||
constexpr decltype(auto) operator()(const SPos<N1>& a) const;
|
||||
|
||||
constexpr decltype(auto) operator+(const UPos& a) const;
|
||||
constexpr decltype(auto) operator*(const UPos& a) const;
|
||||
constexpr decltype(auto) operator()(const UPos& a) const;
|
||||
|
||||
template <class PosT>
|
||||
constexpr decltype(auto) extend(const PosT& a) const;
|
||||
|
||||
|
||||
template <class PosT>
|
||||
constexpr decltype(auto) operator<<(const PosT& a) const;
|
||||
|
||||
explicit constexpr operator UPos() const;
|
||||
explicit constexpr operator SizeT() const;
|
||||
};
|
||||
|
||||
|
||||
class UPos
|
||||
{
|
||||
private:
|
||||
|
@ -94,12 +94,11 @@ namespace CNORXZ
|
|||
SizeT mExt = 0;
|
||||
const SizeT* mMap = nullptr;
|
||||
SizeT mMax = 0;
|
||||
SizeT mMax2 = 0; // !!!!
|
||||
|
||||
public:
|
||||
DEFAULT_MEMBERS(FPos);
|
||||
|
||||
inline FPos(SizeT ext, const SizeT* map, SizeT max = 0, SizeT max2 = 0);
|
||||
inline FPos(SizeT ext, const SizeT* map, SizeT max = 0);
|
||||
|
||||
constexpr SizeT size() const;
|
||||
constexpr const SizeT& val() const;
|
||||
|
@ -122,7 +121,6 @@ namespace CNORXZ
|
|||
explicit constexpr operator SizeT() const;
|
||||
|
||||
constexpr SizeT max() const;
|
||||
constexpr SizeT max2() const { return mMax2; }
|
||||
constexpr const SizeT* map() const { return mMap; }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue