
Yuval Ronen wrote:
Peter Dimov wrote:
Yuval Ronen wrote:
Ok, so we come again to what seems to be the true heart of the debate. Do we want interoperability between the C library and the C++ library, and how much are we willing to pay for it. And it seems we give different answers to this question. One reason for the different answers to this question is that you seem to be attributing costs where there may be none, without bothering to go into specifics so that your claims can be either challenged or acknowledged and justified.
Ok, here's an example. It's about mutexes. Bear in mind that I'm talking about interface design costs, not performance costs.
If I want my C code to access C++ mutexes I have to expose the pthread_mutex_t member from the std::mutex class. That's a cost (albeit a minor one). If I want my C++ code to access C mutexes I have to make a std::mutex refer to some pthread_mutex_t that is not a member of it. That's a more major cost.
Rereading this example makes me think it confuses more than explains... So to rephrase what I wanted to say in the most concise manner - the cost I was talking about is that the interoperability requirement makes N2184 impossible. As simple as that. And if I consider N2184 desirable, it's a quite a cost.