Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build conflict with Eigen #30

Closed
fabiencastan opened this issue Sep 20, 2019 · 0 comments · Fixed by alicevision/AliceVision#705
Closed

Build conflict with Eigen #30

fabiencastan opened this issue Sep 20, 2019 · 0 comments · Fixed by alicevision/AliceVision#705

Comments

@fabiencastan
Copy link

>prettyprint.hpp(117): error C3313: 'it': variable cannot have the type 'void'

        template <typename U>
        struct printer
        {
            static void print_body(const U & c, ostream_type & stream)
            {
                using std::begin;
                using std::end;

                auto it = begin(c); //<<< The error is here
                const auto the_end = end(c);

                if (it != the_end)
                {
                    for ( ; ; )
                    {
                        stream << *it;

                    if (++it == the_end) break;

                    if (delimiters_type::values.delimiter != NULL)
                        stream << delimiters_type::values.delimiter;
                    }
                }
            }
        };

It seems that some Eigen containers are detected as iterable: has_begin_end && has_const_iterator are true, but when using it begin and end function returns a void iterator.

As someone faced the same issue?
Is there a way to check that begin/end should not be void?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant