#pragma once #include // Simple static vector (much faster) // Also slightly faster than boost::container::static_vector // No checking is performed! template struct small_vector{ std::array arr; size_t elements = 0; void push_back(T const & t){ arr[elements++] = t; } auto begin() const { return &arr[0]; } auto end() const { return &arr[elements]; } };