#pragma once #include namespace math::matrix { template class matrix; } namespace math::vector { template class vector; } namespace math::matrix::concat_strategy { struct { } horizontal; using horizontal_concat_t = decltype(horizontal); struct { } vertical; using vertical_concat_t = decltype(vertical); struct { } diagonal; using diagonal_concat_t = decltype(diagonal); }