// FTTPair - [2020-04-13 11:57:47]
#ifndef _FTTPAIR_H_
#define _FTTPAIR_H_

#include "common.h"

/*
001A62C4
FTTPair<FTTPair<uint,uint>,FTTPair<uint,uint>>::swap(FTTPair<FTTPair<uint,uint>,FTTPair<uint,uint>>&,
                                                     FTTPair<FTTPair<uint,uint>,FTTPair<uint,uint>>&)

001A8716
FTTPair<FTTPair<ushort,ushort>,ushort>::swap(FTTPair<FTTPair<ushort,ushort>, ushort>&,
                                             FTTPair<FTTPair<ushort,ushort>, ushort>&)
*/

class cFloat {
public:
  float field_0;
  float field_4;
};

struct floatpair {
  float m_t1;
  float m_t2;
};

// 001B68EC
cFloat operator/(cFloat const& a2, cFloat const& a3);
void sort(cFloat* pf0, int i1);

template <typename T1, typename T2>
class FTTPair {
public:
  FTTPair(){};
  FTTPair(T1 a1, T2 a2) : m_t1(a1), m_t2(a2){};

  inline void swap(FTTPair<T1, T2>& a) {
    T1 t = m_t1;
    m_t1 = a.m_t1;
    a.m_t1 = t;

    T2 d = m_t2;
    m_t2 = a.m_t2;
    a.m_t2 = d;
  };

  T1 m_t1;
  T2 m_t2;
};

#endif  //_FTTPAIR_H_