37 typename RemoveRef<T>::PointType p,
38 typename RemoveRef<T>::PointType& pR,
39 typename RemoveRef<T>::ScalarType s,
40 std::vector<typename RemoveRef<T>::PointType> vecP,
41 std::vector<typename RemoveRef<T>::ScalarType> vecS) {
43 typename RemoveRef<T>::ScalarType;
44 typename RemoveRef<T>::PointType;
45 typename RemoveRef<T>::Iterator;
46 typename RemoveRef<T>::ConstIterator;
52 RemoveRef<T>(vecP.begin(), vecP.end());
55 { obj.size() } -> std::same_as<uint>;
57 { obj.sideLength(uint()) } -> std::same_as<
decltype(s)>;
60 { obj.perimeter() } -> std::same_as<
decltype(s)>;
61 { obj.area() } -> std::same_as<
decltype(s)>;
69 { obj.resize(uint()) } -> std::same_as<void>;
70 { obj.reserve(uint()) } -> std::same_as<void>;
71 { obj.clear() } -> std::same_as<void>;
72 { obj.pushBack(p) } -> std::same_as<void>;
73 { obj.point(uint()) } -> std::same_as<
decltype(pR)>;