Namespace fmt

namespace fmt
template<typename Derived>
struct formatter<Derived, std::enable_if_t<std::is_base_of_v<Eigen::DenseBase<Derived>, Derived>, char>> : public ostream_formatter
template<typename Derived>
struct formatter<Derived, std::enable_if_t<std::is_base_of_v<Eigen::SparseMatrixBase<Derived>, Derived>, char>> : public ostream_formatter
template<typename Derived>
struct formatter<Eigen::DenseBase<Derived>> : public ostream_formatter
template<typename Derived>
struct formatter<Eigen::MatrixBase<Derived>> : public ostream_formatter
template<typename Derived>
struct formatter<Eigen::SparseMatrixBase<Derived>> : public ostream_formatter
template<typename VectorType, int Size>
struct formatter<Eigen::VectorBlock<VectorType, Size>> : public ostream_formatter
template<typename ExpressionType>
struct formatter<Eigen::WithFormat<ExpressionType>> : public ostream_formatter
template<>
struct formatter<sym::Factor<double>> : public ostream_formatter
template<>
struct formatter<sym::Factor<float>> : public ostream_formatter
template<>
struct formatter<sym::Key> : public ostream_formatter
#include <key.h>

Specialize fmt::formatter for Key

template<>
struct formatter<sym::linearized_dense_factor_t> : public ostream_formatter
template<>
struct formatter<sym::linearized_dense_factorf_t> : public ostream_formatter
template<>
struct formatter<sym::linearized_sparse_factor_t> : public ostream_formatter
template<>
struct formatter<sym::linearized_sparse_factorf_t> : public ostream_formatter
template<>
struct formatter<sym::Values<double>> : public ostream_formatter
template<>
struct formatter<sym::Values<float>> : public ostream_formatter
template<typename T, typename Char>
struct range_format_kind<T, Char, std::enable_if_t<sym::kIsDenseEigenType<T>>> : public std::integral_constant<fmt::range_format, fmt::range_format::disabled>