19#ifndef LIBSEMIGROUPS_MATRIX_MAKE_HPP_
20#define LIBSEMIGROUPS_MATRIX_MAKE_HPP_
23#include <initializer_list>
27#include "is-matrix.hpp"
28#include "matrix-class.hpp"
29#include "matrix-exceptions.hpp"
31#include "libsemigroups/detail/matrix-exceptions.hpp"
70 template <
typename Mat,
101 template <
typename Mat,
136 template <
typename Mat,
174 template <
typename Mat,
176 typename = std::enable_if_t<IsMatrix<Mat>>>
215 template <
typename Mat,
217 typename = std::enable_if_t<IsMatrix<Mat>>>
244 template <
typename Mat,
246 typename = std::enable_if_t<IsMatrix<Mat>>>
278 template <
size_t R,
size_t C,
typename Scalar>
286#include "matrix-make.tpp"
enable_if_is_same< Return, Blocks > make(Container const &cont)
Check the arguments, construct a Blocks object, and check it.
Definition bipart.hpp:856
static constexpr bool IsMatWithSemiring
Helper variable template.
Definition is-matrix.hpp:127
std::conditional_t< R==0||C==0, DynamicProjMaxPlusMat< Scalar >, StaticProjMaxPlusMat< R, C, Scalar > > ProjMaxPlusMat
Alias template for projective max-plus matrices.
Definition matrix-class.hpp:4407
Namespace for everything in the libsemigroups library.
Definition action.hpp:44