19#ifndef LIBSEMIGROUPS_MATRIX_EXCEPTIONS_HPP_
20#define LIBSEMIGROUPS_MATRIX_EXCEPTIONS_HPP_
26#include "constants.hpp"
27#include "exception.hpp"
28#include "is-matrix.hpp"
29#include "matrix-helpers.hpp"
31#include "detail/matrix-common.hpp"
32#include "detail/matrix-exceptions.hpp"
50 template <
typename Mat>
72 template <
typename Mat>
74 typename Mat::scalar_type val)
75 -> std::enable_if_t<IsIntMat<Mat>>;
93 template <
typename Mat>
116 template <
typename Mat>
118 typename Mat::scalar_type val)
119 -> std::enable_if_t<IsBMat<Mat>>;
136 template <
typename Mat>
157 template <
typename Mat>
159 typename Mat::scalar_type val)
160 -> std::enable_if_t<IsMaxPlusMat<Mat>>;
177 template <
typename Mat>
198 template <
typename Mat>
200 typename Mat::scalar_type val)
201 -> std::enable_if_t<IsMinPlusMat<Mat>>;
221 template <
typename Mat>
223 -> std::enable_if_t<IsMaxPlusTruncMat<Mat>>;
247 template <
typename Mat>
249 typename Mat::scalar_type val)
250 -> std::enable_if_t<IsMaxPlusTruncMat<Mat>>;
270 template <
typename Mat>
272 -> std::enable_if_t<IsMinPlusTruncMat<Mat>>;
296 template <
typename Mat>
298 typename Mat::scalar_type val)
299 -> std::enable_if_t<IsMinPlusTruncMat<Mat>>;
321 template <
typename Mat>
345 template <
typename Mat>
347 typename Mat::scalar_type val)
348 -> std::enable_if_t<IsNTPMat<Mat>>;
367 template <
typename Mat>
369 -> std::enable_if_t<IsProjMaxPlusMat<Mat>> {
390 template <
typename Mat>
392 typename Mat::scalar_type val)
393 -> std::enable_if_t<IsProjMaxPlusMat<Mat>> {
398#include "matrix-exceptions.tpp"
auto throw_if_bad_entry(Mat const &x) -> std::enable_if_t< IsIntMat< Mat > >
Check that an integer matrix is valid.
Namespace for helper functions for matrices.
Definition matrix-exceptions.hpp:37