mirror of
https://github.com/boostorg/thread.git
synced 2026-02-09 11:32:12 +00:00
Compare commits
5 Commits
feature/bo
...
feature/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e59ecec49 | ||
|
|
b1842da010 | ||
|
|
b0da8e291b | ||
|
|
1d436f9030 | ||
|
|
8ebd61c280 |
443
.travis.yml
443
.travis.yml
@@ -4,13 +4,7 @@
|
|||||||
|
|
||||||
language: cpp
|
language: cpp
|
||||||
|
|
||||||
sudo: false
|
os: linux
|
||||||
|
|
||||||
python: "2.7"
|
|
||||||
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
@@ -29,123 +23,88 @@ matrix:
|
|||||||
|
|
||||||
include:
|
include:
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: g++
|
compiler: g++-4.4
|
||||||
env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++11 SELF_CONTAINED_HEADER_TESTS=1
|
env: TOOLSET=gcc CXXSTD=98,0x HEADERS_ONLY=1
|
||||||
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-4.7
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11
|
- g++-4.4
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-4.7
|
- os: linux
|
||||||
# sources:
|
compiler: g++-4.6
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=98,0x HEADERS_ONLY=1
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-4.8
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11
|
- g++-4.6
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-4.8
|
- os: linux
|
||||||
# sources:
|
compiler: g++-4.7
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=03,11 HEADERS_ONLY=1
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-4.9
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11
|
- g++-4.7
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-4.9
|
- os: linux
|
||||||
# sources:
|
compiler: g++-4.8
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=03,11 HEADERS_ONLY=1
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-5
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++98
|
- g++-4.8
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-5
|
- os: linux
|
||||||
# sources:
|
compiler: g++-4.9
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=03,11 HEADERS_ONLY=1
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-5
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11
|
- g++-4.9
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-5
|
- os: linux
|
||||||
# sources:
|
compiler: g++-5
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=03
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-5
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14
|
- g++-5
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-5
|
- os: linux
|
||||||
# sources:
|
compiler: g++-5
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=11
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-5
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++1z
|
- g++-5
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-5
|
- os: linux
|
||||||
# sources:
|
compiler: g++-6
|
||||||
# - ubuntu-toolchain-r-test
|
env: TOOLSET=gcc CXXSTD=14,1z HEADERS_ONLY=1
|
||||||
#
|
addons:
|
||||||
# - os: linux
|
apt:
|
||||||
# compiler: g++-6
|
packages:
|
||||||
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++98
|
- g++-6
|
||||||
# addons:
|
sources:
|
||||||
# apt:
|
- ubuntu-toolchain-r-test
|
||||||
# packages:
|
|
||||||
# - g++-6
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: g++-6
|
|
||||||
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - g++-6
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: g++-6
|
|
||||||
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - g++-6
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: g++-6
|
|
||||||
# env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - g++-6
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: trusty
|
|
||||||
compiler: g++-7
|
compiler: g++-7
|
||||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++98
|
env: TOOLSET=gcc CXXSTD=14,17 HEADERS_ONLY=1
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
@@ -154,196 +113,177 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: trusty
|
compiler: g++-8
|
||||||
compiler: g++-7
|
env: TOOLSET=gcc CXXSTD=14,17 HEADERS_ONLY=1
|
||||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++11
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- g++-7
|
- g++-8
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: g++-9
|
||||||
|
env: TOOLSET=gcc CXXSTD=14
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- g++-9
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: g++-9
|
||||||
|
env: TOOLSET=gcc CXXSTD=17
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- g++-9
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: trusty
|
dist: trusty
|
||||||
compiler: g++-7
|
compiler: clang++-3.5
|
||||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++14
|
env: TOOLSET=clang CXXSTD=03,11 HEADERS_ONLY=1
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- g++-7
|
- clang-3.5
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: trusty
|
compiler: clang++-3.6
|
||||||
compiler: g++-7
|
env: TOOLSET=clang CXXSTD=03,11,14 HEADERS_ONLY=1
|
||||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=c++1z
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- g++-7
|
- clang-3.6
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: clang++-3.7
|
||||||
|
env: TOOLSET=clang CXXSTD=03,11,14 HEADERS_ONLY=1
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- clang-3.7
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: clang++-3.8
|
||||||
|
env: TOOLSET=clang CXXSTD=03,11,14 HEADERS_ONLY=1
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- clang-3.8
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: clang++-3.9
|
||||||
|
env: TOOLSET=clang CXXSTD=03,11,14,1z HEADERS_ONLY=1
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- clang-3.9
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.5
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++11
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.5
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.5#
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.6
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.6
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.6
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.7
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.7
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.7
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.8
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.8
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.8
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.8
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.8
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.8
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.8
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.8
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.8
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.9
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.9
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.9
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.9
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.9
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.9
|
|
||||||
#
|
|
||||||
# - os: linux
|
|
||||||
# compiler: clang++-3.9
|
|
||||||
# env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - clang-3.9
|
|
||||||
# sources:
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# - llvm-toolchain-precise-3.9
|
|
||||||
#
|
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang++-4.0
|
compiler: clang++-4.0
|
||||||
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++98
|
env: TOOLSET=clang CXXSTD=03,11,14,1z HEADERS_ONLY=1
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- clang-4.0
|
- clang-4.0
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- llvm-toolchain-trusty-4.0
|
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang++-4.0
|
compiler: clang++-5.0
|
||||||
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++11
|
env: TOOLSET=clang CXXSTD=03,11,14,1z HEADERS_ONLY=1
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- clang-4.0
|
- clang-5.0
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- llvm-toolchain-trusty-4.0
|
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang++-4.0
|
compiler: clang++-6.0
|
||||||
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++14
|
env: TOOLSET=clang CXXSTD=14,17 HEADERS_ONLY=1
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- clang-4.0
|
- clang-6.0
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- llvm-toolchain-trusty-4.0
|
|
||||||
|
|
||||||
- os: linux
|
- os: linux
|
||||||
compiler: clang++-4.0
|
compiler: clang++-7
|
||||||
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=c++1z
|
env: TOOLSET=clang CXXSTD=14,17,2a HEADERS_ONLY=1
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- clang-4.0
|
- clang-7
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- llvm-toolchain-trusty-4.0
|
- llvm-toolchain-xenial-7
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: clang++-8
|
||||||
|
env: TOOLSET=clang CXXSTD=14,17,2a HEADERS_ONLY=1
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- clang-8
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
- llvm-toolchain-xenial-8
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: clang++-9
|
||||||
|
env: TOOLSET=clang CXXSTD=14
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- clang-9
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
- sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
|
||||||
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
compiler: clang++-9
|
||||||
|
env: TOOLSET=clang CXXSTD=17
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- clang-9
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
- sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
|
||||||
|
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang++
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++98 SELF_CONTAINED_HEADER_TESTS=1
|
env: TOOLSET=clang CXXSTD=98
|
||||||
|
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# compiler: clang++
|
# compiler: clang++
|
||||||
# env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
# env: TOOLSET=clang CXXSTD=11
|
||||||
|
|
||||||
# - os: osx
|
# - os: osx
|
||||||
# compiler: clang++
|
# compiler: clang++
|
||||||
# env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
# env: TOOLSET=clang CXXSTD=14
|
||||||
|
|
||||||
- os: osx
|
- os: osx
|
||||||
compiler: clang++
|
compiler: clang++
|
||||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
env: TOOLSET=clang CXXSTD=1z
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- GIT_FETCH_JOBS=8
|
- GIT_FETCH_JOBS=8
|
||||||
@@ -364,10 +304,9 @@ install:
|
|||||||
|
|
||||||
script:
|
script:
|
||||||
- |-
|
- |-
|
||||||
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
|
echo "using $TOOLSET : : $TRAVIS_COMPILER ;" > ~/user-config.jam
|
||||||
- BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null`
|
- BUILD_JOBS=`(nproc || sysctl -n hw.ncpu) 2> /dev/null`
|
||||||
- if [ -z "$SELF_CONTAINED_HEADER_TESTS" ]; then export BOOST_THREAD_TEST_WITHOUT_SELF_CONTAINED_HEADER_TESTS=1; fi
|
- ./b2 -j $BUILD_JOBS -l60 libs/thread/test${HEADERS_ONLY:+//test_self_contained_headers} toolset=$TOOLSET cxxstd=$CXXSTD
|
||||||
- ./b2 -j $BUILD_JOBS -l60 libs/thread/test toolset=$TOOLSET
|
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ struct func
|
|||||||
int& i;
|
int& i;
|
||||||
|
|
||||||
func(int& i_):i(i_){}
|
func(int& i_):i(i_){}
|
||||||
|
func(func const& other):i(other.i){}
|
||||||
|
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ namespace detail
|
|||||||
template <class Q, class T,
|
template <class Q, class T,
|
||||||
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
#if defined __GNUC__ && ! defined __clang__
|
#if defined __GNUC__ && ! defined __clang__
|
||||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
bool Copyable = is_copy_constructible<T>::value,
|
bool Copyable = is_copy_constructible<T>::value,
|
||||||
bool Movable = true
|
bool Movable = true
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ namespace detail
|
|||||||
template <class T, class ST,
|
template <class T, class ST,
|
||||||
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
#if defined __GNUC__ && ! defined __clang__
|
#if defined __GNUC__ && ! defined __clang__
|
||||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
bool Copyable = is_copy_constructible<T>::value,
|
bool Copyable = is_copy_constructible<T>::value,
|
||||||
bool Movable = true
|
bool Movable = true
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ namespace detail
|
|||||||
template <class Q, class T,
|
template <class Q, class T,
|
||||||
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
#if defined __GNUC__ && ! defined __clang__
|
#if defined __GNUC__ && ! defined __clang__
|
||||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
bool Copyable = is_copy_constructible<T>::value,
|
bool Copyable = is_copy_constructible<T>::value,
|
||||||
bool Movable = true
|
bool Movable = true
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ namespace detail
|
|||||||
template <class T, class ST,
|
template <class T, class ST,
|
||||||
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
#if ! defined BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
#if defined __GNUC__ && ! defined __clang__
|
#if defined __GNUC__ && ! defined __clang__
|
||||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||||
bool Copyable = is_copy_constructible<T>::value,
|
bool Copyable = is_copy_constructible<T>::value,
|
||||||
bool Movable = true
|
bool Movable = true
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -637,10 +637,6 @@ namespace boost
|
|||||||
#endif
|
#endif
|
||||||
{}
|
{}
|
||||||
|
|
||||||
id(const id& other) BOOST_NOEXCEPT :
|
|
||||||
thread_data(other.thread_data)
|
|
||||||
{}
|
|
||||||
|
|
||||||
bool operator==(const id& y) const BOOST_NOEXCEPT
|
bool operator==(const id& y) const BOOST_NOEXCEPT
|
||||||
{
|
{
|
||||||
return thread_data==y.thread_data;
|
return thread_data==y.thread_data;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
// accompanying file LICENSE_1_0.txt or copy at
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt)
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
#include <boost/thread/condition_variable.hpp>
|
#include <boost/thread/condition_variable.hpp>
|
||||||
#include <boost/thread/shared_mutex.hpp>
|
#include <boost/thread/shared_mutex.hpp>
|
||||||
@@ -38,6 +39,10 @@ public:
|
|||||||
finish_mutex(finish_mutex_)
|
finish_mutex(finish_mutex_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
locking_thread(locking_thread const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
// acquire lock
|
// acquire lock
|
||||||
@@ -84,6 +89,10 @@ public:
|
|||||||
unblocked_mutex(unblocked_mutex_),unblocked_count(unblocked_count_)
|
unblocked_mutex(unblocked_mutex_),unblocked_count(unblocked_count_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
simple_writing_thread(simple_writing_thread const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
boost::unique_lock<boost::shared_mutex> lk(rwm);
|
boost::unique_lock<boost::shared_mutex> lk(rwm);
|
||||||
@@ -115,6 +124,10 @@ public:
|
|||||||
unblocked_mutex(unblocked_mutex_),unblocked_count(unblocked_count_)
|
unblocked_mutex(unblocked_mutex_),unblocked_count(unblocked_count_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
simple_reading_thread(simple_reading_thread const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
boost::shared_lock<boost::shared_mutex> lk(rwm);
|
boost::shared_lock<boost::shared_mutex> lk(rwm);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include <boost/thread/future.hpp>
|
#include <boost/thread/future.hpp>
|
||||||
#include <boost/detail/lightweight_test.hpp>
|
#include <boost/detail/lightweight_test.hpp>
|
||||||
#include <boost/static_assert.hpp>
|
#include <boost/static_assert.hpp>
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
#ifdef BOOST_MSVC
|
#ifdef BOOST_MSVC
|
||||||
# pragma warning(disable: 4702) // unreachable code
|
# pragma warning(disable: 4702) // unreachable code
|
||||||
@@ -37,6 +38,9 @@ struct A
|
|||||||
{
|
{
|
||||||
throw 10;
|
throw 10;
|
||||||
}
|
}
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
A& operator= (const A&) = default;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
#include <boost/thread/thread_only.hpp>
|
#include <boost/thread/thread_only.hpp>
|
||||||
#include <boost/thread/xtime.hpp>
|
#include <boost/thread/xtime.hpp>
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
#include "./util.inl"
|
#include "./util.inl"
|
||||||
@@ -41,14 +42,17 @@ void condition_test_thread(condition_test_data* data)
|
|||||||
struct cond_predicate
|
struct cond_predicate
|
||||||
{
|
{
|
||||||
cond_predicate(int& var, int val) : _var(var), _val(val) { }
|
cond_predicate(int& var, int val) : _var(var), _val(val) { }
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
cond_predicate(cond_predicate const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
bool operator()() { return _var == _val; }
|
bool operator()() { return _var == _val; }
|
||||||
|
|
||||||
int& _var;
|
int& _var;
|
||||||
int _val;
|
int _val;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void operator=(cond_predicate&);
|
void operator=(cond_predicate&);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void condition_test_waits(condition_test_data* data)
|
void condition_test_waits(condition_test_data* data)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#define BOOST_THREAD_VERSION 2
|
#define BOOST_THREAD_VERSION 2
|
||||||
#define BOOST_TEST_MODULE Boost.Threads: shared_mutex_part2 test suite
|
#define BOOST_TEST_MODULE Boost.Threads: shared_mutex_part2 test suite
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
#include <boost/thread/thread.hpp>
|
#include <boost/thread/thread.hpp>
|
||||||
#include <boost/thread/xtime.hpp>
|
#include <boost/thread/xtime.hpp>
|
||||||
@@ -36,6 +37,10 @@ public:
|
|||||||
unblocked_mutex(unblocked_mutex_),unblocked_count(unblocked_count_)
|
unblocked_mutex(unblocked_mutex_),unblocked_count(unblocked_count_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
simple_upgrade_thread(simple_upgrade_thread const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
void operator()()
|
void operator()()
|
||||||
{
|
{
|
||||||
boost::upgrade_lock<boost::shared_mutex> lk(rwm);
|
boost::upgrade_lock<boost::shared_mutex> lk(rwm);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
#include <boost/thread/condition.hpp>
|
#include <boost/thread/condition.hpp>
|
||||||
#include <boost/thread/thread.hpp>
|
#include <boost/thread/thread.hpp>
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
#ifndef DEFAULT_EXECUTION_MONITOR_TYPE
|
#ifndef DEFAULT_EXECUTION_MONITOR_TYPE
|
||||||
# define DEFAULT_EXECUTION_MONITOR_TYPE execution_monitor::use_condition
|
# define DEFAULT_EXECUTION_MONITOR_TYPE execution_monitor::use_condition
|
||||||
@@ -133,6 +134,10 @@ class indirect_adapter
|
|||||||
public:
|
public:
|
||||||
indirect_adapter(F func, execution_monitor& monitor)
|
indirect_adapter(F func, execution_monitor& monitor)
|
||||||
: func(func), monitor(monitor) { }
|
: func(func), monitor(monitor) { }
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
indirect_adapter(indirect_adapter const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
void operator()() const
|
void operator()() const
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -210,11 +215,15 @@ class thread_member_binder
|
|||||||
public:
|
public:
|
||||||
thread_member_binder(R (T::*func)(), T& param)
|
thread_member_binder(R (T::*func)(), T& param)
|
||||||
: func(func), param(param) { }
|
: func(func), param(param) { }
|
||||||
|
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||||
|
thread_member_binder(thread_member_binder const&) = default;
|
||||||
|
#endif
|
||||||
|
|
||||||
void operator()() const { (param.*func)(); }
|
void operator()() const { (param.*func)(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void operator=(thread_member_binder&);
|
void operator=(thread_member_binder&);
|
||||||
|
|
||||||
R (T::*func)();
|
R (T::*func)();
|
||||||
T& param;
|
T& param;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user