mirror of
https://github.com/boostorg/smart_ptr.git
synced 2025-07-31 13:17:23 +02:00
Merge branch 'develop' into feature/local_shared_ptr
This commit is contained in:
46
.travis.yml
46
.travis.yml
@@ -27,9 +27,11 @@ matrix:
|
|||||||
|
|
||||||
include:
|
include:
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++
|
||||||
env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03
|
env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-4.7
|
||||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03
|
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -39,6 +41,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-4.7
|
||||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11
|
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -48,6 +51,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-4.8
|
||||||
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++03
|
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -57,6 +61,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-4.8
|
||||||
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11
|
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -66,6 +71,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-4.9
|
||||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++03
|
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -75,6 +81,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-4.9
|
||||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11
|
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -84,6 +91,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-5
|
||||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++03
|
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -93,6 +101,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-5
|
||||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11
|
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -102,6 +111,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-5
|
||||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14
|
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -111,6 +121,17 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-5
|
||||||
|
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++1z
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- g++-5
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: g++-6
|
||||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03
|
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -120,6 +141,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-6
|
||||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11
|
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -129,6 +151,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-6
|
||||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14
|
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -138,6 +161,7 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: g++-6
|
||||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z
|
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -191,9 +215,11 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
@@ -241,6 +267,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.5
|
- llvm-toolchain-precise-3.5
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.6
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03
|
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -251,6 +278,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.6
|
- llvm-toolchain-precise-3.6
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.6
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11
|
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -261,6 +289,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.6
|
- llvm-toolchain-precise-3.6
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.6
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++14
|
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++14
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -271,6 +300,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.6
|
- llvm-toolchain-precise-3.6
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.6
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++1z
|
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++1z
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -281,6 +311,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.6
|
- llvm-toolchain-precise-3.6
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.7
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++03
|
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -291,6 +322,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.7
|
- llvm-toolchain-precise-3.7
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.7
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11
|
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -301,6 +333,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.7
|
- llvm-toolchain-precise-3.7
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.7
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++14
|
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++14
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -311,6 +344,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.7
|
- llvm-toolchain-precise-3.7
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.7
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++1z
|
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++1z
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -321,6 +355,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.7
|
- llvm-toolchain-precise-3.7
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.8
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++03
|
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -331,6 +366,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.8
|
- llvm-toolchain-precise-3.8
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.8
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11
|
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -341,6 +377,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.8
|
- llvm-toolchain-precise-3.8
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.8
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14
|
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -351,6 +388,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.8
|
- llvm-toolchain-precise-3.8
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.8
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z
|
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -361,6 +399,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.8
|
- llvm-toolchain-precise-3.8
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.9
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++03
|
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++03
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -371,6 +410,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.9
|
- llvm-toolchain-precise-3.9
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.9
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11
|
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -381,6 +421,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.9
|
- llvm-toolchain-precise-3.9
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.9
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14
|
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -391,6 +432,7 @@ matrix:
|
|||||||
- llvm-toolchain-precise-3.9
|
- llvm-toolchain-precise-3.9
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
|
compiler: clang++-3.9
|
||||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z
|
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@@ -445,15 +487,19 @@ matrix:
|
|||||||
- llvm-toolchain-trusty-4.0
|
- llvm-toolchain-trusty-4.0
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
@@ -114,8 +114,8 @@ namespace boost {
|
|||||||
|
|
||||||
typedef /*see below*/ element_type;
|
typedef /*see below*/ element_type;
|
||||||
|
|
||||||
shared_ptr() noexcept;
|
constexpr shared_ptr() noexcept;
|
||||||
shared_ptr(std::nullptr_t) noexcept;
|
constexpr shared_ptr(std::nullptr_t) noexcept;
|
||||||
|
|
||||||
template<class Y> explicit shared_ptr(Y * p);
|
template<class Y> explicit shared_ptr(Y * p);
|
||||||
template<class Y, class D> shared_ptr(Y * p, D d);
|
template<class Y, class D> shared_ptr(Y * p, D d);
|
||||||
@@ -162,6 +162,7 @@ namespace boost {
|
|||||||
template<class Y, class D, class A> void reset(Y * p, D d, A a);
|
template<class Y, class D, class A> void reset(Y * p, D d, A a);
|
||||||
|
|
||||||
template<class Y> void reset(shared_ptr<Y> const & r, element_type * p) noexcept;
|
template<class Y> void reset(shared_ptr<Y> const & r, element_type * p) noexcept;
|
||||||
|
template<class Y> void reset(shared_ptr<Y> && r, element_type * p) noexcept;
|
||||||
|
|
||||||
T & operator*() const noexcept; // only valid when T is not an array type
|
T & operator*() const noexcept; // only valid when T is not an array type
|
||||||
T * operator->() const noexcept; // only valid when T is not an array type
|
T * operator->() const noexcept; // only valid when T is not an array type
|
||||||
@@ -257,10 +258,10 @@ typedef ... element_type;
|
|||||||
|
|
||||||
### default constructor
|
### default constructor
|
||||||
```
|
```
|
||||||
shared_ptr() noexcept;
|
constexpr shared_ptr() noexcept;
|
||||||
```
|
```
|
||||||
```
|
```
|
||||||
shared_ptr(std::nullptr_t) noexcept;
|
constexpr shared_ptr(std::nullptr_t) noexcept;
|
||||||
```
|
```
|
||||||
[none]
|
[none]
|
||||||
* {blank}
|
* {blank}
|
||||||
@@ -372,7 +373,7 @@ template<class Y> shared_ptr(shared_ptr<Y> const & r, element_type * p) noexcept
|
|||||||
[none]
|
[none]
|
||||||
* {blank}
|
* {blank}
|
||||||
+
|
+
|
||||||
Effects:: constructs a shared_ptr that shares ownership with r and stores p.
|
Effects:: constructs a `shared_ptr` that shares ownership with `r` and stores `p`.
|
||||||
|
|
||||||
Postconditions:: `get() == p && use_count() == r.use_count()`.
|
Postconditions:: `get() == p && use_count() == r.use_count()`.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user