{"push_id":1320549386,"size":3,"distinct_size":3,"ref":"refs/heads/span","head":"ae8c86a1f19c77d8a36cbc7b6b88954aa808f16c","before":"d772155f102b95f8642a0fa901ccc401240bcc80","commits":[{"sha":"e9d5e6a033b89c479aae2ae2e6964016bb2e87b9","author":{"name":"Casey Carter","email":"35463ce5baf8ddade366ea2269f7ba3f0b76c7a5@Carter.net"},"message":"Rework contract enforcement system:\n* Add RANGES_ASSUME(pred)\n  * When debugging, terminates the program if pred is not true.\n  * Otherwise, has UB if pred is not true. (Makes an effort to inform the optimizer that pred must hold.)\n  * pred is always evaluated, so it must be inexpensive to evaluate.\n* RANGES_ASSERT(pred)\n  * When debugging, terminates the program if pred is not true.\n  * Otherwise, has no effect.\n  * Since pred is not evaluated in release mode, it must be side-effect free.\n  * (Prefer RANGES_ASSERT to RANGES_ASSUME for predicates that could be expensive to evaluate.)\n* Implement RANGES_ASSERT by hand on GCC4, instead of using assert, so that RANGES_ASSERT is usable in constexpr context.","distinct":true,"url":"https://api.github.com/repos/CaseyCarter/range-v3/commits/e9d5e6a033b89c479aae2ae2e6964016bb2e87b9"},{"sha":"b64eae1f7066dc39f17d30530a04734aa7f9c05c","author":{"name":"Casey Carter","email":"35463ce5baf8ddade366ea2269f7ba3f0b76c7a5@Carter.net"},"message":"Implement CPO data per N4569","distinct":true,"url":"https://api.github.com/repos/CaseyCarter/range-v3/commits/b64eae1f7066dc39f17d30530a04734aa7f9c05c"},{"sha":"ae8c86a1f19c77d8a36cbc7b6b88954aa808f16c","author":{"name":"Casey Carter","email":"35463ce5baf8ddade366ea2269f7ba3f0b76c7a5@Carter.net"},"message":"Implement span per P0122R3\n* Add rough ContiguousRange concept:\n  * refines RandomAccessRange\n  * requires ranges::data(rng) to be well-formed and return a pointer to possibly-cv-qualified value type, and requires *ranges::data(rng) to be the range's reference type\n  * provides no way to opt in or out, so as to be too weak for overload resolution against other range concepts\n* span<T> is implicitly convertible from a ContiguousRange of U iff T is possibly-more-cv-qualified U.","distinct":true,"url":"https://api.github.com/repos/CaseyCarter/range-v3/commits/ae8c86a1f19c77d8a36cbc7b6b88954aa808f16c"}]}
{"actor":{"display_login":"CaseyCarter"}}