Boost logo

Boost :

Subject: [boost] QVM library
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2014-06-07 22:06:35


I've updated the QVM library (which hasn't been reviewed yet),
including minor changes plus a workaround for what appears to be a
parsing bug in msvc-12:

http://www.revergestudios.com/boost-qvm/

-- 
Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode
P.S. Perhaps STL can confirm, I'm guessing that the MSVC bug was
introduced by the added rvalue reference support, which interfered
with the heuristics MSVC uses to attempt to successfully parse
non-conformant code that doesn't use mandatory "typename". This can be
seen for example in q.hpp, which used to contain functions like:
template <class A,class B>
typename enable_if_c<
    is_q<A>::value && is_q<B>::value,
    A &>::type
operator-=( A & a, B const & b )
which I had to change to:
template <class A,class B>
typename enable_if<
    msvc_parse_bug_workaround::quats<A,B>,
    A &>::type
operator-=( A & a, B const & b )
where
namespace
msvc_parse_bug_workaround
    {
    template <class A,class B>
    struct
    quats
        {
        static bool const value=is_q<A>::value && is_q<B>::value;
        };
    }

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk