Boost logo

Boost :

Subject: Re: [boost] Formal review for QVM
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2015-12-13 19:07:24


On Sun, Dec 13, 2015 at 1:16 PM, Agustín K-ballo Bergé <
kaballo86_at_[hidden]> wrote:

> On 12/13/2015 5:13 PM, Emil Dotchevski wrote:
>
>> Yes, I'm interested to understand what brought this comment, though I am
>> not sure that there is a solution. The problem is that QVM can't invoke
>> constructors (other than the default constructor) for user-defined types,
>> because different types could have different constructors (believe me,
>> I've
>> seen game programmers define some crazy matrix/vector constructors).
>> Because functions like normalized() operate on user-defined types, they
>> use
>> the default constructor to make a local object before returning it by
>> value.
>>
>
> There's always the copy constructor, which I believe is already implicitly
> required by the library. Have you experimented with this before?
>

Actually, there might not be a copy constructor. In QVM views are
non-copyable. For example the return type of qvm::row and qvm::col, which
present a row or a column of a matrix as a vector, return non-copyable
types (which are still valid arguments for the normalized() function in
question.)

Regardless, the copy constructor can't be used to create a vector from 3
scalars. Perhaps I misunderstand you.

Emil


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