C++ interfaces and D dynamic arrays
Void-995
void995 at gmail.com
Tue Jan 2 16:48:52 UTC 2018
Hi, everyone.
I would like to have an interface that can be implemented and/or
used from C++ in D. One of the things I would like to keep is the
nice feature of D dynamic arrays in terms of bounding checks and
"length" property.
Let's assume:
extern (C++) interface ICppInterfaceInD {
ref const(int[]) indices() const;
}
class A: ICppInterfaceInD {
private int[] m_indices;
extern (C++) ref const(int[]) indices() const {
return m_indices;
}
}
All I want is keeping const correctness like in C++ so no one can
modify m_indices and use that as property within const pointer. I
thought it may be passed to C++ as some struct of sort:
struct wrappedArrray(T) {
size_t length;
T* ptr;
}
but it just don't want to be friendly with me.
How should I rethink the interface with being D-way efficient
when using that interface inside of D?
More information about the Digitalmars-d-learn
mailing list