#7911 closed Feature Requests (fixed)
Mark move constructors and move assignments of varint with BOOST_NOEXCEPT_IF
Reported by: | Antony Polukhin | Owned by: | Antony Polukhin |
---|---|---|---|
Milestone: | Boost 1.56.0 | Component: | variant |
Version: | Boost 1.53.0 | Severity: | Problem |
Keywords: | variant rvalues noexcept move | Cc: | shane.turner@… |
Description
According to N3050 sequence containers can use move constructors/assignments of underling type only if underling types constructor/assignment is marked with noexcept.
We can determinate, if move constructor/assignment of variant can throw and mark it with BOOST_NOEXCEPT_IF(constexpr_value).
Attachments (1)
Change History (12)
comment:1 by , 10 years ago
Cc: | added |
---|
by , 9 years ago
Attachment: | varant_noexcept.patch added |
---|
comment:2 by , 9 years ago
comment:3 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:4 by , 9 years ago
comment:5 by , 9 years ago
(In [85157]) Merge from trunk:
- make the library work on exception-disabled environments (fixes #8717)
- fix compilation of Boost.Variants move assignment for situations when one of the variant template classes has nothrow copy constructor and throwing move constructor (fixes #8772)
- mark move constructor of variant with BOOST_NOEXCEPT_IF (refs #7911)
follow-up: 7 comment:6 by , 9 years ago
Anthony please, could you add the new features to the documentation?
comment:7 by , 9 years ago
Replying to viboes:
Anthony please, could you add the new features to the documentation?
Work on this ticket is still slowly going on (GCC 4.6 has some issues). I'll update the documentation later, when as all the coding will be done.
comment:9 by , 9 years ago
comment:10 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [86650]) Merge from trunk:
- dropped support of antique compilers
- fixed issue with ambiguity in swap (fixes #2839)
- added conditional noexcepts to move assignments, default and move constructors (fixes #7911)
- experimental variadic templates support (refs #9163)
- bunch of size optimizations for assignments and move assignments (refs #7960)
- minor changes and size optimizations
comment:11 by , 9 years ago
Milestone: | To Be Determined → Boost 1.56.0 |
---|
Patch to resolve this issue