
2012/10/9 Lorenzo Caminiti <lorcaminiti@gmail.com>
Hello all,
I made a first attempt to sketch how N3351-like concepts will look into Boost.Contract (just for the find algorithm and its concepts for now):
http://contractpp.svn.sourceforge.net/viewvc/contractpp/branches/stl_concept...
This code doesn't compile quite yet but I played with its bits and pieces enough to conclude that it should be implementable as listed. It will take quite a bit of time and effort to implement this... Please tell me what you think now so I don't waste time implementing this design if it has issues.
N3351 allows specifying sort-of postconditions with axioms, like: axiom Clearing(Vec vec) { vec.clear(), vec.empty(); } This uses the comma operator in a tricky way to perform two instructions. I wonder if this will interfere with the way the comma is interpreted in Boost.Contract. Is it possible in your design to type: axiom( (vec.clear(), vec.empty()) ) ?