Comments (3)
This is expected. If you provide a formatter for a range type you need to opt it out of range formatting rather than fiddle with includes: https://godbolt.org/z/3ercdas5z.
from fmt.
Thanks for the quick reply! Not that I would have expected this to be a range type, at least not a general matrix, but I'm aware that Eigen makes some unorthodox choices WRT iterators.
from fmt.
Here's what I settled on and placed next to the formatter. Maybe this is useful for someone who stumbles on this problem. Compared to Victor's version, it works also when not including ranges.h
. The namespace macros are used to get the correctly versioned inline namespace. I'm using false_type
because static constexpr const
is a bit much for me to process :)
// Need to opt out of range formatting which id's Eigen::Matrix types as ranges if fmt/ranges.h is included.
FMT_BEGIN_NAMESPACE
// Forward declaration in case fmt/ranges.h is not included.
template <typename T, typename Char> struct is_range;
// ... and the opt-out.
template <typename T>
struct is_range<T,
std::enable_if_t<std::is_base_of_v<Eigen::EigenBase<T>, T>, char>>
: std::false_type
{};
FMT_END_NAMESPACE
from fmt.
Related Issues (20)
- Perfect forwarding that works with both normal and compiled format strings HOT 1
- has_format_as doesn't work when enum is encapsulated within a templated class. HOT 2
- non-constexpr formatted_size() breaks compile-time formatting HOT 3
- Sphinx version error HOT 2
- a strange problem HOT 3
- Difference in performance between the default and explicit presentation specifiers in format string compilation HOT 1
- ambiguous overload of `count_digits()` on xtensa esp32s3 gcc 12.2.0 (20230208) HOT 2
- Nested formatter status - missing from current version of API docs HOT 2
- wstring formatting issue HOT 2
- Using back_inserter without the std:: prefix HOT 3
- C2220: the following warning is treated as an error HOT 5
- Docs for chrono type `S` decimal point locale does not match code HOT 5
- Visual Studio update breaks is_utf8_enabled() HOT 4
- fmtlog fails a test with fmtlib 11+ HOT 2
- What's the required minimum gcc version? HOT 1
- Not able to format string-like object with character type std::byte in any standard container HOT 3
- Cannot suppress range formatter when type has a container_type member type. HOT 4
- Missing named arguments do not cause compilation error when using FMT_COMPILE
- GCC 14 optimizer doesn't like std::filesystem::path formatting (Wstringop-overflow) HOT 8
- Redundant wchar_t instantiations [question] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fmt.