#ifndef UTILITY_H #define UTILITY_H #include #include #include "utility/math/Vector2.h" namespace utility { typedef std::chrono::time_point TimePoint; TimePoint durationStart(); float duration(const TimePoint& start); float duration(std::function func); template std::vector concat(const std::vector& a, const std::vector& b); template void append(std::vector& a, const std::vector& b); template void append(std::set& a, const std::set& b); bool intersectionPoint(Vec2f a1, Vec2f b1, Vec2f a2, Vec2f b2, Vec2f* i); } template std::vector utility::concat(const std::vector& a, const std::vector& b) { std::vector r(a.size() + b.size()); append(r, a); append(r, b); return r; } template void utility::append(std::vector& a, const std::vector& b) { a.insert(a.begin(), b.begin(), b.end()); } template void utility::append(std::set& a, const std::set& b) { a.insert(b.begin(), b.end()); } #endif // UTILITY_H