#pragma once namespace RE { template class BSTPointDefaultOps { public: }; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; extern template class BSTPointDefaultOps; template class BSTPoint2Base { public: T x; // 00 T y; // ?? }; extern template class BSTPoint2Base; extern template class BSTPoint2Base; extern template class BSTPoint2Base; extern template class BSTPoint2Base; extern template class BSTPoint2Base; extern template class BSTPoint2Base; extern template class BSTPoint2Base; extern template class BSTPoint2Base; template < class T, class Ops = BSTPointDefaultOps> class BSTPoint2 : public BSTPoint2Base, public BSTPointDefaultOps { public: }; extern template class BSTPoint2; extern template class BSTPoint2; extern template class BSTPoint2; extern template class BSTPoint2; extern template class BSTPoint2; extern template class BSTPoint2; extern template class BSTPoint2; extern template class BSTPoint2; template class BSTPoint3Base { public: T x; // 00 T y; // ?? T z; // ?? }; extern template class BSTPoint3Base; extern template class BSTPoint3Base; extern template class BSTPoint3Base; extern template class BSTPoint3Base; extern template class BSTPoint3Base; extern template class BSTPoint3Base; extern template class BSTPoint3Base; extern template class BSTPoint3Base; template < class T, class Ops = BSTPointDefaultOps> class BSTPoint3 : public BSTPoint3Base, public BSTPointDefaultOps { public: }; extern template class BSTPoint3; extern template class BSTPoint3; extern template class BSTPoint3; extern template class BSTPoint3; extern template class BSTPoint3; extern template class BSTPoint3; extern template class BSTPoint3; extern template class BSTPoint3; }