You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A library I'm working to wrap has a StaticArrays.jl equivalent functionality, with template Vec and Row classes. Both the classes define a transpose function to return the vec/row as it's transposed type:
template<int N, typename T> classVec;
template<int N, typename T> classRow;
template<int N, typename T>
classVec
{
public:typedef Row<N,T> Transp;
const Transp& transpose() const { return *reinterpret_cast<const Transp*>(this); }
/* further definitions omitted */
};
with the same for the Row class definition. A wrapper including both types (see gist for complete MWE) compiles with no errors, but loading it in Julia throws an error:
As both types do exist/are wrapped, this seems to be an order of declaration/wrapping issue, since the type for Row<3,int> hasn't been wrapped when the transpose method for Vec<3,int> is added?
I don't know what (or if) there is a solution to be had besides not wrapping the offending methods; at the very least, could the error be made more relevant?
The text was updated successfully, but these errors were encountered:
A library I'm working to wrap has a StaticArrays.jl equivalent functionality, with template
Vec
andRow
classes. Both the classes define atranspose
function to return the vec/row as it's transposed type:with the same for the
Row
class definition. A wrapper including both types (see gist for complete MWE) compiles with no errors, but loading it in Julia throws an error:As both types do exist/are wrapped, this seems to be an order of declaration/wrapping issue, since the type for
Row<3,int>
hasn't been wrapped when thetranspose
method forVec<3,int>
is added?I don't know what (or if) there is a solution to be had besides not wrapping the offending methods; at the very least, could the error be made more relevant?
The text was updated successfully, but these errors were encountered: