forked from boostorg/type_traits
Compare commits
44 Commits
boost-1.75
...
esp-idf-co
Author | SHA1 | Date | |
---|---|---|---|
bcddc892f7 | |||
d2746d7d72 | |||
d2a4a6bf0a | |||
273678042d | |||
bc26f6b192 | |||
a10ca89479 | |||
a184e146e3 | |||
8583d1a967 | |||
b265ce8f3a | |||
e3dd034588 | |||
d37dc8c4b9 | |||
7ac69733b8 | |||
18b6e30e9c | |||
09b102587f | |||
a842eeda5c | |||
693488cb29 | |||
bfce306637 | |||
3d246cb5d1 | |||
567774cacb | |||
cdbb996d3a | |||
30396ed792 | |||
cea791882b | |||
396d97f5a6 | |||
61c9e7699c | |||
64eb4e2f40 | |||
c3c1357c3d | |||
cf497924b1 | |||
71208778dd | |||
4c2b7d5215 | |||
a105c3531c | |||
d1994736b9 | |||
d9d298170f | |||
95c8a8a567 | |||
89a062e7b8 | |||
1b0cf49465 | |||
2b8b797b88 | |||
a2cffe9c04 | |||
7ca204de52 | |||
92ceb4079b | |||
59951c1853 | |||
106b442289 | |||
e4228d7260 | |||
97f71e0cb3 | |||
9351dae4a4 |
54
.drone.star
Normal file
54
.drone.star
Normal file
@ -0,0 +1,54 @@
|
||||
# Use, modification, and distribution are
|
||||
# subject to the Boost Software License, Version 1.0. (See accompanying
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright Rene Rivera 2020.
|
||||
|
||||
# For Drone CI we use the Starlark scripting language to reduce duplication.
|
||||
# As the yaml syntax for Drone CI is rather limited.
|
||||
#
|
||||
#
|
||||
globalenv={}
|
||||
linuxglobalimage="cppalliance/droneubuntu1604:1"
|
||||
windowsglobalimage="cppalliance/dronevs2019"
|
||||
|
||||
def main(ctx):
|
||||
return [
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x Job 1", "g++", packages="g++-4.4", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.4', 'CXXSTD': '98,0x'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x Job 2", "g++", packages="g++-4.6", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.6', 'CXXSTD': '03,0x'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3", "g++-4.7", packages="g++-4.7", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.7', 'CXXSTD': '03,11'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4", "g++-4.8", packages="g++-4.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.8', 'CXXSTD': '03,11'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5", "g++-4.9", packages="g++-4.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.9', 'CXXSTD': '03,11'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6", "g++-5", packages="g++-5", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 7", "g++-5", packages="g++-5", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 8", "g++-6", packages="g++-6", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 9", "g++-6", packages="g++-6", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 10", "g++-7", packages="g++-7", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 11", "g++-8", packages="g++-8", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 12", "g++-9", packages="g++-9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17,2a'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,20 Job 13", "g++-10", packages="g++-10", image="cppalliance/droneubuntu2004:1", buildtype="boost", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-10', 'CXXSTD': '03,11,14,17,20'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 15", "clang++", packages="clang-3.5", llvm_os="precise", llvm_ver="3.5", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.5', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 16", "clang++", packages="clang-3.6", llvm_os="precise", llvm_ver="3.6", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.6', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 17", "clang++", packages="clang-3.7", llvm_os="precise", llvm_ver="3.7", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.7', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 18", "clang++-3.8", packages="clang-3.8", llvm_os="precise", llvm_ver="3.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 19", "clang++-3.9", packages="clang-3.9", llvm_os="precise", llvm_ver="3.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 20", "clang++-4.0", packages="clang-4.0", llvm_os="xenial", llvm_ver="4.0", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-4.0', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 21", "clang++-5.0", packages="clang-5.0", llvm_os="xenial", llvm_ver="5.0", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-5.0', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-5.0 -stdlib=libc++ CXXSTD=03,11,14 Job 22", "clang++-5.0 -stdlib=libc++", packages="libc++-dev clang-5.0", llvm_os="xenial", llvm_ver="5.0", buildtype="boost", image=linuxglobalimage, environment={'COMPILER': 'clang++-5.0 -stdlib=libc++', 'TOOLSET': 'clang', 'CXXSTD': '03,11,14'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,1z, Job 23", "clang++-6.0", packages="clang-6.0", llvm_os="xenial", llvm_ver="6.0", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-6.0', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-6.0 -stdlib=libc++ CXXSTD=03,11,14 Job 24", "clang++-6.0 -stdlib=libc++", packages="clang-6.0 libc++-dev", llvm_os="xenial", llvm_ver="6.0", buildtype="boost", image=linuxglobalimage, environment={'COMPILER': 'clang++-6.0 -stdlib=libc++', 'TOOLSET': 'clang', 'CXXSTD': '03,11,14'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,1z Job 25", "clang++-7", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-7', 'CXXSTD': '03,11,14,1z'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17 2a Job 26", "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': '03,11,14,17,2a'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a Job 27", "clang++-9", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-9', 'CXXSTD': '03,11,14,17,2a'}, globalenv=globalenv),
|
||||
linux_cxx("TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,20 Job 28", "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': '03,11,14,17,20'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-11.7 CXXSTD=03,11,14,17,2a Job 29", "clang++", packages="", buildtype="boost", xcode_version="11.7", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-10.2 CXXSTD=03,11,14,17,2a Job 30", "clang++", packages="", buildtype="boost", xcode_version="10.2", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-9.4 CXXSTD=03,11,14,1z Job 31", "clang++", packages="", buildtype="boost", xcode_version="9.4", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-9.0 CXXSTD=03,11,14,1z Job 32", "clang++", packages="", buildtype="boost", xcode_version="9", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-8.3 CXXSTD=03,11,14,1z Job 33", "clang++", packages="", buildtype="boost", xcode_version="8.3", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-8.0 CXXSTD=03,11,14,1z Job 34", "clang++", packages="", buildtype="boost", xcode_version="8", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
osx_cxx("XCode-7.3 CXXSTD=03,11,14,1z Job 35", "clang++", packages="", buildtype="boost", xcode_version="7.3", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_OS_NAME': 'osx'}, globalenv=globalenv),
|
||||
]
|
||||
|
||||
# from https://github.com/boostorg/boost-ci
|
||||
load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx")
|
3
.drone/after-success.sh
Executable file
3
.drone/after-success.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
3
.drone/before-install.sh
Executable file
3
.drone/before-install.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
3
.drone/before-script.sh
Executable file
3
.drone/before-script.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
56
.drone/boost.sh
Executable file
56
.drone/boost.sh
Executable file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
export TRAVIS_BUILD_DIR=$(pwd)
|
||||
export DRONE_BUILD_DIR=$(pwd)
|
||||
export TRAVIS_BRANCH=$DRONE_BRANCH
|
||||
export VCS_COMMIT_ID=$DRONE_COMMIT
|
||||
export GIT_COMMIT=$DRONE_COMMIT
|
||||
export REPO_NAME=$DRONE_REPO
|
||||
export PATH=~/.local/bin:/usr/local/bin:$PATH
|
||||
|
||||
echo '==================================> BEFORE_INSTALL'
|
||||
|
||||
. .drone/before-install.sh
|
||||
|
||||
echo '==================================> INSTALL'
|
||||
|
||||
cd ..
|
||||
git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
cd boost-root
|
||||
git submodule update --init tools/build
|
||||
git submodule update --init tools/boost_install
|
||||
git submodule update --init libs/headers
|
||||
git submodule update --init libs/config
|
||||
git submodule update --init libs/assert
|
||||
git submodule update --init libs/bind
|
||||
git submodule update --init libs/core
|
||||
git submodule update --init libs/detail
|
||||
git submodule update --init libs/function
|
||||
git submodule update --init libs/integer
|
||||
git submodule update --init libs/move
|
||||
git submodule update --init libs/mpl
|
||||
git submodule update --init libs/preprocessor
|
||||
git submodule update --init libs/static_assert
|
||||
git submodule update --init libs/throw_exception
|
||||
git submodule update --init libs/type_index
|
||||
git submodule update --init libs/utility
|
||||
cp -r $TRAVIS_BUILD_DIR/* libs/type_traits
|
||||
./bootstrap.sh
|
||||
./b2 headers
|
||||
|
||||
echo '==================================> BEFORE_SCRIPT'
|
||||
|
||||
. $DRONE_BUILD_DIR/.drone/before-script.sh
|
||||
|
||||
echo '==================================> SCRIPT'
|
||||
|
||||
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
|
||||
IFS=','
|
||||
for CXXLOCAL in $CXXSTD; do (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET cxxstd=$CXXLOCAL $CXXSTD_DIALECT && echo With Standard Version $CXXLOCAL && ./config_info_travis && rm ./config_info_travis) done
|
||||
unset IFS
|
||||
./b2 libs/type_traits/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT
|
||||
|
||||
echo '==================================> AFTER_SUCCESS'
|
||||
|
||||
. $DRONE_BUILD_DIR/.drone/after-success.sh
|
482
.github/workflows/ci.yml
vendored
Normal file
482
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,482 @@
|
||||
# Copyright 2020 Evan Miller
|
||||
# Copyright 2020 Matt Borland
|
||||
# Copyright 2021 John Maddock
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
||||
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
release:
|
||||
types: [published, created, edited]
|
||||
jobs:
|
||||
ubuntu-focal:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [ g++-9, g++-10, clang++-9, clang++-10 ]
|
||||
standard: [ c++03, c++11, c++14, c++17, c++2a, gnu++03, gnu++11, gnu++14, gnu++17, gnu++2a ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Set TOOLSET
|
||||
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
|
||||
- name: Add repository
|
||||
continue-on-error: true
|
||||
id: addrepo
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Retry Add Repo
|
||||
continue-on-error: true
|
||||
id: retry1
|
||||
if: steps.addrepo.outcome=='failure'
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Retry Add Repo 2
|
||||
continue-on-error: true
|
||||
id: retry2
|
||||
if: steps.retry1.outcome=='failure'
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Install packages
|
||||
run: sudo apt install g++-9 g++-10 clang-9 clang-10 libgmp-dev libmpfr-dev libfftw3-dev
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: cp -r $GITHUB_WORKSPACE/* libs/type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: ./bootstrap.sh
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: ./b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Generate user config
|
||||
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : <cxxflags>-std=${{ matrix.standard }} ;" > ~/user-config.jam'
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ../../../b2 config_info_travis_install toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: ./config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ../../../b2 toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
ubuntu-bionic:
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler: [ g++-7, g++-8, clang++-7, clang++-8 ]
|
||||
standard: [ c++03, c++11, c++14, c++17, gnu++03, gnu++11, gnu++14, gnu++17 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Set TOOLSET
|
||||
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
|
||||
- name: Add repository
|
||||
continue-on-error: true
|
||||
id: addrepo
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Retry Add Repo
|
||||
continue-on-error: true
|
||||
id: retry1
|
||||
if: steps.addrepo.outcome=='failure'
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Retry Add Repo 2
|
||||
continue-on-error: true
|
||||
id: retry2
|
||||
if: steps.retry1.outcome=='failure'
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Install packages
|
||||
run: sudo apt install g++-7 g++-8 clang-7 clang-8 libgmp-dev libmpfr-dev libfftw3-dev
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: cp -r $GITHUB_WORKSPACE/* libs/type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: ./bootstrap.sh
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: ./b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Generate user config
|
||||
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} : <cxxflags>-std=${{ matrix.standard }} ;" > ~/user-config.jam'
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ../../../b2 config_info_travis_install toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: ./config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ../../../b2 toolset=$TOOLSET
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
macos:
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolset: [ clang ]
|
||||
standard: [ "03", 11, 14, 17, 2a ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[linux];[Linux];[LINUX]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: cp -r $GITHUB_WORKSPACE/* libs/type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: ./bootstrap.sh
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: ./b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ../../../b2 config_info_travis_install toolset=${{ matrix.toolset }} cxxstd=${{ matrix.standard }}
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: ./config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.standard }}
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
windows_gcc:
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: cmd
|
||||
env:
|
||||
ARGS: toolset=${{ matrix.toolset }} address-model=64 cxxstd=${{ matrix.standard }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
standard: [ 11, 14, 17 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: bootstrap
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ..\..\..\b2 config_info_travis_install cxxstd=${{ matrix.standard }} toolset=gcc
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=gcc
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
windows_msvc_14_0:
|
||||
runs-on: windows-2019
|
||||
defaults:
|
||||
run:
|
||||
shell: cmd
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
standard: [ 14, 17 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: bootstrap
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ..\..\..\b2 config_info_travis_install cxxstd=${{ matrix.standard }} toolset=msvc-14.0
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.0 define=CI_SUPPRESS_KNOWN_ISSUES
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
windows_msvc_14_2:
|
||||
runs-on: windows-2019
|
||||
defaults:
|
||||
run:
|
||||
shell: cmd
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
standard: [ 14, 17, latest ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: bootstrap
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ..\..\..\b2 config_info_travis_install cxxstd=${{ matrix.standard }} toolset=msvc-14.2
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.2 define=CI_SUPPRESS_KNOWN_ISSUES
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
windows_msvc_14_3:
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: cmd
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
standard: [ 14, 17, latest ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: bootstrap
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ..\..\..\b2 config_info_travis_install cxxstd=${{ matrix.standard }} toolset=msvc-14.3
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.3 define=CI_SUPPRESS_KNOWN_ISSUES
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
windows_msvc_14_2_clr:
|
||||
runs-on: windows-2019
|
||||
defaults:
|
||||
run:
|
||||
shell: cmd
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
standard: [ 14, 17 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: bootstrap
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: Config info install
|
||||
run: ..\..\..\b2 config_info_travis_install cxxstd=${{ matrix.standard }} toolset=msvc-14.2 cxxflags=-clr asynch-exceptions=on
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Config info
|
||||
run: config_info_travis
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Test
|
||||
run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.2 define=CI_SUPPRESS_KNOWN_ISSUES cxxflags=-clr asynch-exceptions=on
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
ubuntu-cuda:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
standard: [ 11, 14, 17 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- uses: Jimver/cuda-toolkit@v0.2.4
|
||||
- uses: mstachniuk/ci-skip@v1
|
||||
with:
|
||||
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
|
||||
commit-filter-separator: ';'
|
||||
fail-fast: true
|
||||
- name: Add repository
|
||||
continue-on-error: true
|
||||
id: addrepo
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Retry Add Repo
|
||||
continue-on-error: true
|
||||
id: retry1
|
||||
if: steps.addrepo.outcome=='failure'
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Retry Add Repo 2
|
||||
continue-on-error: true
|
||||
id: retry2
|
||||
if: steps.retry1.outcome=='failure'
|
||||
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||
- name: Install packages
|
||||
run: sudo apt install clang-10
|
||||
- name: Checkout main boost
|
||||
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
|
||||
- name: Update tools/boostdep
|
||||
run: git submodule update --init tools/boostdep
|
||||
working-directory: ../boost-root
|
||||
- name: Copy files
|
||||
run: cp -r $GITHUB_WORKSPACE/* libs/type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Install deps
|
||||
run: python tools/boostdep/depinst/depinst.py type_traits
|
||||
working-directory: ../boost-root
|
||||
- name: Bootstrap
|
||||
run: ./bootstrap.sh
|
||||
working-directory: ../boost-root
|
||||
- name: Generate headers
|
||||
run: ./b2 headers
|
||||
working-directory: ../boost-root
|
||||
- name: nvcc version
|
||||
run: nvcc --version
|
||||
working-directory: ../boost-root/libs/config/test
|
||||
- name: Testing nvcc
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cpp" && nvcc -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_VIA_STATIC_ASSERT $file.cpp || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Testing nvcc+clang
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cpp" && nvcc --compiler-bindir=clang++ -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_VIA_STATIC_ASSERT $file.cpp || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Create .cu files
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do cp $file.cpp $file.cu; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Testing nvcc on .cu files
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cu" && nvcc -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_VIA_STATIC_ASSERT $file.cu || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Testing nvcc+clang on .cu files
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cu" && nvcc --compiler-bindir=clang++ -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_VIA_STATIC_ASSERT $file.cu || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Testing clang on .cu files
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cu" && clang++ -nocudalib --no-cuda-version-check --cuda-gpu-arch=sm_75 -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_VIA_STATIC_ASSERT $file.cu || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Testing nvcc on .cu files
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cu" && nvcc -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_CUDA_DEVICE $file.cu || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
||||
- name: Testing clang on .cu files
|
||||
run: for file in $(cat cuda/cuda_tests.txt); do echo "testing $file.cu" && clang++ -nocudalib --no-cuda-version-check --cuda-gpu-arch=sm_75 -std=c++${{ matrix.standard }} -I../../.. -c -DTEST_CUDA_DEVICE $file.cu || break -1; done
|
||||
working-directory: ../boost-root/libs/type_traits/test
|
350
.travis.yml
350
.travis.yml
@ -1,350 +0,0 @@
|
||||
# Copyright 2016, 2017 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
||||
|
||||
language: cpp
|
||||
|
||||
sudo: false
|
||||
|
||||
python: "2.7"
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
dist : xenial
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- develop
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- BOGUS_JOB=true
|
||||
|
||||
matrix:
|
||||
|
||||
exclude:
|
||||
- env: BOGUS_JOB=true
|
||||
|
||||
include:
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++ CXXSTD=03
|
||||
|
||||
- os: linux
|
||||
compiler: g++-4.4
|
||||
env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.4
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
compiler: g++-4.6
|
||||
env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-5
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
compiler: g++-7
|
||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
compiler: g++-7
|
||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 CXXSTD_DIALECT=cxxstd-dialect=gnu
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
compiler: g++-8
|
||||
env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
compiler: g++-8
|
||||
env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 CXXSTD_DIALECT=cxxstd-dialect=gnu
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
dist: xenial
|
||||
compiler: g++-9
|
||||
env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
dist: xenial
|
||||
compiler: g++-9
|
||||
env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17,2a CXXSTD_DIALECT=cxxstd-dialect=gnu
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.5
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-3.5
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-3.6
|
||||
|
||||
- os: linux
|
||||
dist: trusty
|
||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.7
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-3.8
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-3.9
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-4.0
|
||||
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-4.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-xenial-4.0
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-5.0
|
||||
env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-5.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-xenial-5.0
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-6.0
|
||||
env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-6.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-xenial-6.0
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-7
|
||||
env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-xenial-7
|
||||
|
||||
- os: linux
|
||||
compiler: clang++-8
|
||||
env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17,2a
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-xenial-8
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode10.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode9.4
|
||||
# 9.1 fails some tests that pass on 9.4:
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode9.3
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode9.2
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode9.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode8.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode7.3
|
||||
|
||||
|
||||
install:
|
||||
- cd ..
|
||||
- git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
- cd boost-root
|
||||
- git submodule update --init tools/build
|
||||
- git submodule update --init tools/boost_install
|
||||
- git submodule update --init libs/headers
|
||||
- git submodule update --init libs/config
|
||||
- git submodule update --init libs/assert
|
||||
- git submodule update --init libs/bind
|
||||
- git submodule update --init libs/core
|
||||
- git submodule update --init libs/detail
|
||||
- git submodule update --init libs/function
|
||||
- git submodule update --init libs/integer
|
||||
- git submodule update --init libs/move
|
||||
- git submodule update --init libs/mpl
|
||||
- git submodule update --init libs/preprocessor
|
||||
- git submodule update --init libs/static_assert
|
||||
- git submodule update --init libs/throw_exception
|
||||
- git submodule update --init libs/type_index
|
||||
- git submodule update --init libs/utility
|
||||
- cp -r $TRAVIS_BUILD_DIR/* libs/type_traits
|
||||
- ./bootstrap.sh
|
||||
- ./b2 headers
|
||||
|
||||
script:
|
||||
- |-
|
||||
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
|
||||
- IFS=','
|
||||
- for CXXLOCAL in $CXXSTD; do (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET cxxstd=$CXXLOCAL $CXXSTD_DIALECT && echo With Standard Version $CXXLOCAL && ./config_info_travis && rm ./config_info_travis) done
|
||||
- unset IFS
|
||||
- ./b2 -j3 libs/type_traits/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_success: always
|
@ -3,6 +3,8 @@
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
if(NOT DEFINED IDF_TARGET)
|
||||
|
||||
# We support CMake 3.5, but prefer 3.16 policies and behavior
|
||||
cmake_minimum_required(VERSION 3.5...3.16)
|
||||
|
||||
@ -19,12 +21,18 @@ target_link_libraries(boost_type_traits
|
||||
Boost::static_assert
|
||||
)
|
||||
|
||||
# boost_install requires PROJECT_VERSION
|
||||
# Without the superproject, we don't have any, so skip installation
|
||||
else()
|
||||
|
||||
if(BOOST_SUPERPROJECT_VERSION)
|
||||
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
|
||||
|
||||
include(BoostInstall)
|
||||
boost_install(TARGETS boost_type_traits HEADER_DIRECTORY include/)
|
||||
idf_component_register(
|
||||
SRCS
|
||||
${headers}
|
||||
INCLUDE_DIRS
|
||||
include
|
||||
REQUIRES
|
||||
boost_config
|
||||
boost_static_assert
|
||||
)
|
||||
|
||||
endif()
|
||||
|
90
appveyor.yml
90
appveyor.yml
@ -1,90 +0,0 @@
|
||||
# Copyright 2016 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
||||
|
||||
version: 1.0.{build}-{branch}
|
||||
|
||||
shallow_clone: true
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- develop
|
||||
|
||||
platform:
|
||||
- x64
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- ARGS: --toolset=msvc-9.0 address-model=32
|
||||
- ARGS: --toolset=msvc-10.0 address-model=32
|
||||
- ARGS: --toolset=msvc-11.0 address-model=32
|
||||
- ARGS: --toolset=msvc-12.0 address-model=32
|
||||
- ARGS: --toolset=msvc-14.0 address-model=32
|
||||
- ARGS: --toolset=msvc-12.0 address-model=32 cxxflags=-clr asynch-exceptions=on
|
||||
- ARGS: --toolset=msvc-12.0 address-model=32 cxxflags=-arch:IA32
|
||||
- ARGS: --toolset=msvc-14.0 address-model=32 cxxflags=-clr asynch-exceptions=on
|
||||
- ARGS: --toolset=msvc-12.0 address-model=64
|
||||
- ARGS: --toolset=msvc-14.0 address-model=64
|
||||
- ARGS: --toolset=msvc-12.0 address-model=64 cxxflags=-clr asynch-exceptions=on
|
||||
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-clr asynch-exceptions=on
|
||||
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=64
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=32
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=32 cxxflags=-arch:IA32
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 cxxstd=17 address-model=64 cxxflags=-clr asynch-exceptions=on
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 cxxstd=17 address-model=32 cxxflags=-clr asynch-exceptions=on
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 architecture=arm testing.execute=off
|
||||
DISABLE_CONFIG_INFO: "YES"
|
||||
- ARGS: --toolset=gcc address-model=64
|
||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z
|
||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=32
|
||||
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition
|
||||
PATH: C:\MinGW\bin;%PATH%
|
||||
|
||||
|
||||
install:
|
||||
- cd ..
|
||||
- git clone -b %APPVEYOR_REPO_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
- cd boost-root
|
||||
- git submodule update --init tools/build
|
||||
- git submodule update --init tools/boost_install
|
||||
- git submodule update --init libs/headers
|
||||
- git submodule update --init libs/config
|
||||
- git submodule update --init libs/assert
|
||||
- git submodule update --init libs/bind
|
||||
- git submodule update --init libs/core
|
||||
- git submodule update --init libs/detail
|
||||
- git submodule update --init libs/function
|
||||
- git submodule update --init libs/integer
|
||||
- git submodule update --init libs/move
|
||||
- git submodule update --init libs/mpl
|
||||
- git submodule update --init libs/preprocessor
|
||||
- git submodule update --init libs/static_assert
|
||||
- git submodule update --init libs/throw_exception
|
||||
- git submodule update --init libs/type_index
|
||||
- git submodule update --init libs/utility
|
||||
- git submodule update --init libs/container_hash
|
||||
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\type_traits
|
||||
- bootstrap
|
||||
- b2 headers
|
||||
|
||||
build: off
|
||||
|
||||
test_script:
|
||||
- cd libs\config\test
|
||||
- IF DEFINED DISABLE_CONFIG_INFO (echo skipping config_info build) ELSE (..\..\..\b2 config_info_travis_install %ARGS%)
|
||||
- IF DEFINED DISABLE_CONFIG_INFO (echo skipping config_info printout) ELSE (config_info_travis)
|
||||
- cd ..\..\type_traits\test
|
||||
- ..\..\..\b2 -j3 --hash %ARGS%
|
@ -474,7 +474,7 @@ bool operator==(const contains<T> &lhs, const contains<T> &rhs) {
|
||||
|
||||
class bad { };
|
||||
class good { };
|
||||
bool f(const good&, const good&) { }
|
||||
bool f(const good&, const good&) { return true; }
|
||||
|
||||
int main() {
|
||||
std::cout<<std::boolalpha;
|
||||
|
@ -60,7 +60,7 @@
|
||||
#include <boost/type_traits/has_multiplies.hpp>
|
||||
#include <boost/type_traits/has_multiplies_assign.hpp>
|
||||
#include <boost/type_traits/has_negate.hpp>
|
||||
#if !defined(BOOST_BORLANDC) && !defined(__CUDACC__)
|
||||
#if !defined(BOOST_BORLANDC) && (!(defined(__CUDACC__) && (__CUDACC_VER_MAJOR__ < 11)) || defined(__CUDA__))
|
||||
#include <boost/type_traits/has_new_operator.hpp>
|
||||
#endif
|
||||
#include <boost/type_traits/has_not_equal_to.hpp>
|
||||
|
@ -83,7 +83,7 @@
|
||||
//
|
||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40805)\
|
||||
&& !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
|
||||
# define BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
# define BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
#endif
|
||||
|
||||
#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703)
|
||||
@ -107,6 +107,9 @@
|
||||
#if defined(BOOST_MSVC) && !defined(__cpp_rvalue_references) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(_NOEXCEPT_TYPES_SUPPORTED)
|
||||
# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
#endif
|
||||
#if defined(__cpp_rvalue_references) && defined(__NVCC__) && defined(__CUDACC__) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE)
|
||||
# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
#endif
|
||||
|
||||
#endif // BOOST_TT_CONFIG_HPP_INCLUDED
|
||||
|
||||
|
@ -32,276 +32,317 @@ namespace boost {
|
||||
#define BOOST_TT_DEF_CALL
|
||||
#endif
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const qualified:
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// volatile:
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const volatile
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
// Reference qualified:
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const qualified:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// volatile:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const volatile
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
// rvalue reference qualified:
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)&& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)&& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const qualified:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// volatile:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const volatile
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_X64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const:
|
||||
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// rvalue reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)&&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // _MSC_VER
|
||||
|
||||
@ -312,276 +353,314 @@ namespace boost {
|
||||
#undef BOOST_TT_NOEXCEPT_DECL
|
||||
#define BOOST_TT_NOEXCEPT_DECL noexcept
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const qualified:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// volatile:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const volatile
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
// Reference qualified:
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)& BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const qualified:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// volatile:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const volatile
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile & BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
// rvalue reference qualified:
|
||||
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const qualified:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// volatile:
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
// const volatile
|
||||
#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret BOOST_TT_DEF_CALL(Args...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class ...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// rvalue reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
// const volatile:
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __stdcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
#endif
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __clrcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __fastcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_function<Ret __vectorcall(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
|
||||
|
@ -52,7 +52,7 @@ yes_type is_function_ptr_tester(R(*)(...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)());
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)());
|
||||
#endif
|
||||
@ -72,7 +72,7 @@ yes_type is_function_ptr_tester(R(*)(T0 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0));
|
||||
#endif
|
||||
@ -92,7 +92,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1));
|
||||
#endif
|
||||
@ -112,7 +112,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2));
|
||||
#endif
|
||||
@ -132,7 +132,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3));
|
||||
#endif
|
||||
@ -152,7 +152,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4));
|
||||
#endif
|
||||
@ -172,7 +172,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5));
|
||||
#endif
|
||||
@ -192,7 +192,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6));
|
||||
#endif
|
||||
@ -212,7 +212,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7));
|
||||
#endif
|
||||
@ -232,7 +232,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...));
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8));
|
||||
#endif
|
||||
@ -252,7 +252,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9));
|
||||
#endif
|
||||
@ -272,7 +272,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10));
|
||||
#endif
|
||||
@ -292,7 +292,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11));
|
||||
#endif
|
||||
@ -312,7 +312,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12));
|
||||
#endif
|
||||
@ -332,7 +332,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13));
|
||||
#endif
|
||||
@ -352,7 +352,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14));
|
||||
#endif
|
||||
@ -372,7 +372,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15));
|
||||
#endif
|
||||
@ -392,7 +392,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16));
|
||||
#endif
|
||||
@ -412,7 +412,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17));
|
||||
#endif
|
||||
@ -432,7 +432,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18));
|
||||
#endif
|
||||
@ -452,7 +452,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19));
|
||||
#endif
|
||||
@ -472,7 +472,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20));
|
||||
#endif
|
||||
@ -492,7 +492,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21));
|
||||
#endif
|
||||
@ -512,7 +512,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22));
|
||||
#endif
|
||||
@ -532,7 +532,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23));
|
||||
#endif
|
||||
@ -552,7 +552,7 @@ yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23, class T24 >
|
||||
yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24));
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23, class T24 >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24));
|
||||
#endif
|
||||
@ -593,7 +593,7 @@ yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) .
|
||||
@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
|
||||
@#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
@#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER, class T) >
|
||||
yes_type is_function_ptr_tester(R(__vectorcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER, T)));
|
||||
@#endif
|
||||
|
@ -28,7 +28,7 @@ struct is_likely_stateless_lambda : public false_type {};
|
||||
}}
|
||||
|
||||
#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900)\
|
||||
&& !(BOOST_WORKAROUND(BOOST_MSVC, == 1900) && defined(__CLR_VER))
|
||||
&& !(BOOST_WORKAROUND(BOOST_MSVC, == 1900) && defined(_MANAGED))
|
||||
|
||||
#include <boost/type_traits/is_convertible.hpp>
|
||||
#include <boost/type_traits/enable_if.hpp>
|
||||
|
@ -69,7 +69,7 @@ template <class R, class T >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() volatile);
|
||||
template <class R, class T >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)());
|
||||
template <class R, class T >
|
||||
@ -125,7 +125,7 @@ template <class R, class T, class T0 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) volatile);
|
||||
template <class R, class T, class T0 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0));
|
||||
template <class R, class T, class T0 >
|
||||
@ -181,7 +181,7 @@ template <class R, class T, class T0, class T1 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) volatile);
|
||||
template <class R, class T, class T0, class T1 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1));
|
||||
template <class R, class T, class T0, class T1 >
|
||||
@ -237,7 +237,7 @@ template <class R, class T, class T0, class T1, class T2 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2));
|
||||
template <class R, class T, class T0, class T1, class T2 >
|
||||
@ -293,7 +293,7 @@ template <class R, class T, class T0, class T1, class T2, class T3 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3 >
|
||||
@ -349,7 +349,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4 >
|
||||
@ -405,7 +405,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5 >
|
||||
@ -461,7 +461,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6 >
|
||||
@ -517,7 +517,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7 >
|
||||
@ -573,7 +573,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 >
|
||||
@ -629,7 +629,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 >
|
||||
@ -685,7 +685,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 >
|
||||
@ -741,7 +741,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 >
|
||||
@ -797,7 +797,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 >
|
||||
@ -853,7 +853,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 >
|
||||
@ -909,7 +909,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 >
|
||||
@ -965,7 +965,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 >
|
||||
@ -1021,7 +1021,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 >
|
||||
@ -1077,7 +1077,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17 >
|
||||
@ -1133,7 +1133,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18 >
|
||||
@ -1189,7 +1189,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19 >
|
||||
@ -1245,7 +1245,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20 >
|
||||
@ -1301,7 +1301,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21 >
|
||||
@ -1357,7 +1357,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22 >
|
||||
@ -1413,7 +1413,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23 >
|
||||
@ -1469,7 +1469,7 @@ template <class R, class T, class T0, class T1, class T2, class T3, class T4, cl
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile);
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23, class T24 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23, class T24 >
|
||||
yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24));
|
||||
template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20, class T21, class T22, class T23, class T24 >
|
||||
@ -1557,7 +1557,7 @@ yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_EN
|
||||
|
||||
template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile);
|
||||
@#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
@#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
template <class R, class T BOOST_PP_COMMA_IF(BOOST_PP_COUNTER) BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,class T) >
|
||||
yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)));
|
||||
|
||||
|
@ -109,246 +109,259 @@ namespace boost {
|
||||
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__clrcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__clrcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// rvalue reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__stdcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret (__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE)
|
||||
|
||||
@ -420,247 +433,259 @@ namespace boost {
|
||||
struct is_member_function_pointer<Ret(C::*)(Args..., ...)const volatile && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// rvalue reference qualified:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...) && BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// const volatile:
|
||||
#ifdef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
|
||||
#endif
|
||||
#ifndef _M_AMD64
|
||||
#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__stdcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#ifndef __CLR_VER
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__cdecl C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#ifdef _MANAGED
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__clrcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#else
|
||||
#ifndef _M_AMD64
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__fastcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)
|
||||
template <class Ret, class C, class...Args BOOST_TT_NOEXCEPT_PARAM>
|
||||
struct is_member_function_pointer<Ret(__vectorcall C::*)(Args...)const volatile &&BOOST_TT_NOEXCEPT_DECL> : public true_type {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64)
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -160,7 +160,7 @@
|
||||
# define BOOST_HAS_TYPE_TRAITS_INTRINSICS
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_CLANG) && defined(__has_feature) && !defined(__CUDACC__)
|
||||
#if defined(BOOST_CLANG) && defined(__has_feature) && (!(defined(__CUDACC__) && (__CUDACC_VER_MAJOR__ < 11)) || defined(__CUDA__))
|
||||
//
|
||||
// Note that these intrinsics are disabled for the CUDA meta-compiler as it appears
|
||||
// to not support them, even though the underlying clang compiler does so.
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include <boost/type_traits/is_function.hpp>
|
||||
#include <boost/type_traits/detail/yes_no_type.hpp>
|
||||
#include <boost/config/workaround.hpp>
|
||||
#include <cstddef>
|
||||
|
||||
/*
|
||||
* CAUTION:
|
||||
@ -40,7 +41,7 @@ namespace boost {
|
||||
|
||||
namespace detail{
|
||||
|
||||
template <unsigned N>
|
||||
template <std::size_t N>
|
||||
struct ok_tag { double d; char c[N]; };
|
||||
|
||||
template <class T>
|
||||
|
@ -489,7 +489,7 @@ struct is_convertible : public integral_constant<bool, ::boost::detail::is_conve
|
||||
template <class From, class To>
|
||||
struct is_convertible : public integral_constant<bool, BOOST_IS_CONVERTIBLE(From, To)>
|
||||
{
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1900)
|
||||
#if defined(BOOST_MSVC)
|
||||
BOOST_STATIC_ASSERT_MSG(boost::is_complete<From>::value || boost::is_void<From>::value || boost::is_array<From>::value || boost::is_reference<From>::value, "From argument type to is_convertible must be a complete type");
|
||||
#endif
|
||||
#if defined(__clang__)
|
||||
|
@ -103,7 +103,7 @@ struct is_empty_impl
|
||||
cvt
|
||||
, ::boost::is_class<T>::value
|
||||
, ::boost::is_convertible< r_type,int>::value
|
||||
>::value || BOOST_INTERNAL_IS_EMPTY(cvt));
|
||||
>::value || BOOST_INTERNAL_IS_EMPTY(cvt)));
|
||||
};
|
||||
|
||||
#endif // BOOST_BORLANDC
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include <boost/type_traits/detail/config.hpp>
|
||||
#include <boost/config/workaround.hpp>
|
||||
|
||||
#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
|
||||
#include <boost/type_traits/detail/is_function_cxx_11.hpp>
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include <boost/type_traits/detail/config.hpp>
|
||||
|
||||
#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
|
||||
#include <boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp>
|
||||
|
||||
|
@ -120,7 +120,7 @@ template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{};
|
||||
// registers. Therefore we extend type_with_alignment<> to support
|
||||
// such types, however, we have to be careful to use a builtin type
|
||||
// whenever possible otherwise we break previously working code:
|
||||
// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011
|
||||
// see https://lists.boost.org/Archives/boost/2014/03/212391.php
|
||||
// for an example and test case. Thus types like a8 below will
|
||||
// be used *only* if the existing implementation can't provide a type
|
||||
// with suitable alignment. This does mean however, that type_with_alignment<>
|
||||
|
@ -14,5 +14,6 @@
|
||||
],
|
||||
"maintainers": [
|
||||
"John Maddock <john -at- johnmaddock.co.uk>"
|
||||
]
|
||||
],
|
||||
"cxxstd": "03"
|
||||
}
|
||||
|
@ -27,12 +27,12 @@ union must_be_pod
|
||||
};
|
||||
|
||||
template <class T>
|
||||
inline void no_unused_warning(const volatile T&)
|
||||
inline BOOST_TT_PROC void no_unused_warning(const volatile T&)
|
||||
{
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void do_check(const T&)
|
||||
BOOST_TT_PROC void do_check(const T&)
|
||||
{
|
||||
typedef typename tt::aligned_storage<T::value,T::value>::type t1;
|
||||
#if defined(BOOST_GCC) && (BOOST_GCC < 40800)
|
||||
@ -46,6 +46,7 @@ void do_check(const T&)
|
||||
must_be_pod<t1> pod1;
|
||||
no_unused_warning(as1);
|
||||
no_unused_warning(pod1);
|
||||
#ifndef TEST_CUDA_DEVICE
|
||||
BOOST_TEST_MESSAGE(typeid(t1).name());
|
||||
BOOST_CHECK(::tt::alignment_of<t1>::value == T::value);
|
||||
BOOST_CHECK(sizeof(t1) == T::value);
|
||||
@ -86,6 +87,7 @@ void do_check(const T&)
|
||||
BOOST_CHECK(::tt::is_pod<t3>::value == true);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
TT_TEST_BEGIN(type_with_alignment)
|
||||
|
@ -90,6 +90,8 @@ namespace
|
||||
|
||||
TT_TEST_BEGIN(type_with_empty_alignment_buffer)
|
||||
|
||||
#ifndef TEST_CUDA_DEVICE
|
||||
|
||||
do_check<char>();
|
||||
do_check<short>();
|
||||
do_check<int>();
|
||||
@ -116,6 +118,8 @@ do_check<empty_UDT>();
|
||||
do_check<union_UDT>();
|
||||
do_check<boost::detail::max_align>();
|
||||
|
||||
#endif
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
||||
|
@ -32,11 +32,12 @@ inline void no_unused_warning(const volatile T&)
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
void do_check(const T&)
|
||||
BOOST_TT_PROC void do_check(const T&)
|
||||
{
|
||||
typedef typename tt::aligned_storage<T::value,T::value>::type t1;
|
||||
t1 as1 = { 0, };
|
||||
must_be_pod<t1> pod1;
|
||||
#ifndef TEST_CUDA_DEVICE
|
||||
no_unused_warning(as1);
|
||||
no_unused_warning(pod1);
|
||||
BOOST_TEST_MESSAGE(typeid(t1).name());
|
||||
@ -74,6 +75,7 @@ void do_check(const T&)
|
||||
const t3 as4 = { 0, };
|
||||
BOOST_CHECK(as4.address() == static_cast<const void*>(&as4));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
TT_TEST_BEGIN(type_with_alignment)
|
||||
|
@ -9,6 +9,13 @@
|
||||
|
||||
#include "test.hpp"
|
||||
|
||||
#ifdef TEST_VIA_STATIC_ASSERT
|
||||
|
||||
#define BOOST_CHECK_INTEGRAL_CONSTANT(expression, expected_value) static_assert(expression == expected_value, BOOST_STRINGIZE(expression) " == " BOOST_STRINGIZE(expected_value))
|
||||
#define BOOST_CHECK_SOFT_INTEGRAL_CONSTANT(expression, expected_value, other_value)
|
||||
|
||||
#else
|
||||
|
||||
namespace boost{
|
||||
namespace detail{
|
||||
|
||||
@ -70,6 +77,7 @@ namespace boost{
|
||||
}//detail
|
||||
}//boost
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -22,6 +22,15 @@ expected_value: the type we expect to find.
|
||||
#pragma option -w-8008 -w-8066 -w-8019
|
||||
#endif
|
||||
|
||||
#ifdef TEST_VIA_STATIC_ASSERT
|
||||
|
||||
#define BOOST_CHECK_TYPE(type_expression, expected_type) static_assert(::boost::is_same< type_expression, expected_type >::value, BOOST_STRINGIZE(type_expression) " == " BOOST_STRINGIZE(expected_type))
|
||||
|
||||
#define BOOST_CHECK_TYPE3(type_expression, type_expression_suffix, expected_type) static_assert(::boost::is_same< type_expression, type_expression_suffix, expected_type >::value, BOOST_STRINGIZE(type_expression) "," BOOST_STRINGIZE(type_expression_suffix) " == " BOOST_STRINGIZE(expected_type))
|
||||
|
||||
#define BOOST_CHECK_TYPE4(type_expression, suffix1, suffix2, expected_type) static_assert(::boost::is_same< type_expression, suffix1, suffix2, expected_type >::value, BOOST_STRINGIZE(type_expression) "," BOOST_STRINGIZE(suffix1) "," BOOST_STRINGIZE(suffix2) " == " BOOST_STRINGIZE(expected_type))
|
||||
|
||||
#else
|
||||
|
||||
#define BOOST_CHECK_TYPE(type_expression, expected_type)\
|
||||
do{\
|
||||
@ -64,4 +73,4 @@ do{\
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -27,22 +27,22 @@ struct C2 {};
|
||||
|
||||
struct C3 : C2 {};
|
||||
struct C1C2 {
|
||||
C1C2() {}
|
||||
C1C2(C1 const&) {}
|
||||
C1C2(C2 const&) {}
|
||||
C1C2& operator=(C1C2 const&) {
|
||||
BOOST_TT_PROC C1C2() {}
|
||||
BOOST_TT_PROC C1C2(C1 const&) {}
|
||||
BOOST_TT_PROC C1C2(C2 const&) {}
|
||||
BOOST_TT_PROC C1C2& operator=(C1C2 const&) {
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
template <typename C, typename A>
|
||||
void proc2(typename boost::common_type<A, C>::type const& ) {}
|
||||
BOOST_TT_PROC void proc2(typename boost::common_type<A, C>::type const& ) {}
|
||||
|
||||
template <typename C, typename A, typename B>
|
||||
void proc3(typename boost::common_type<C, A, B>::type const& ) {}
|
||||
BOOST_TT_PROC void proc3(typename boost::common_type<C, A, B>::type const& ) {}
|
||||
|
||||
template <typename C, typename A>
|
||||
void assignation_2() {
|
||||
BOOST_TT_PROC void assignation_2() {
|
||||
typedef typename boost::common_type<A, C>::type AC;
|
||||
A a;
|
||||
C c;
|
||||
@ -56,7 +56,7 @@ typedef typename boost::common_type<A, C>::type AC;
|
||||
}
|
||||
|
||||
template <typename C, typename A, typename B>
|
||||
void assignation_3() {
|
||||
BOOST_TT_PROC void assignation_3() {
|
||||
typedef typename boost::common_type<C, A, B>::type ABC;
|
||||
A a;
|
||||
B b;
|
||||
@ -72,11 +72,11 @@ typedef typename boost::common_type<C, A, B>::type ABC;
|
||||
proc3<C, A, B>(c);
|
||||
}
|
||||
|
||||
C1C2 c1c2;
|
||||
C1 c1;
|
||||
BOOST_TT_PROC C1C2 c1c2;
|
||||
BOOST_TT_PROC C1 c1;
|
||||
|
||||
int f(C1C2 ) { return 1;}
|
||||
int f(C1 ) { return 2;}
|
||||
BOOST_TT_PROC int f(C1C2 ) { return 1;}
|
||||
BOOST_TT_PROC int f(C1 ) { return 2;}
|
||||
template <typename OSTREAM>
|
||||
OSTREAM& operator<<(OSTREAM& os, C1 const&) {return os;}
|
||||
|
||||
|
@ -51,7 +51,10 @@ TT_TEST_BEGIN(common_type_4)
|
||||
|
||||
BOOST_CHECK_TYPE(tt::common_type<UDT()>::type, UDT(*)());
|
||||
BOOST_CHECK_TYPE(tt::common_type<UDT const()>::type, UDT const(*)());
|
||||
#if __cplusplus <= 201703
|
||||
// Deprecated in C++20:
|
||||
BOOST_CHECK_TYPE(tt::common_type<UDT volatile()>::type, UDT volatile(*)());
|
||||
BOOST_CHECK_TYPE(tt::common_type<UDT const volatile()>::type, UDT const volatile(*)());
|
||||
#endif
|
||||
}
|
||||
TT_TEST_END
|
||||
|
@ -17,8 +17,8 @@ template<class T> struct X
|
||||
{
|
||||
T t_;
|
||||
|
||||
X(): t_() {}
|
||||
template<class U> X( X<U> const & x ): t_( x.t_ ) {}
|
||||
BOOST_TT_PROC X(): t_() {}
|
||||
template<class U> BOOST_TT_PROC X( X<U> const & x ): t_( x.t_ ) {}
|
||||
};
|
||||
|
||||
namespace boost
|
||||
|
@ -25,22 +25,22 @@ struct C2 {};
|
||||
|
||||
struct C3 : C2 {};
|
||||
struct C1C2 {
|
||||
C1C2() {}
|
||||
C1C2(C1 const&) {}
|
||||
C1C2(C2 const&) {}
|
||||
C1C2& operator=(C1C2 const&) {
|
||||
BOOST_TT_PROC C1C2() {}
|
||||
BOOST_TT_PROC C1C2(C1 const&) {}
|
||||
BOOST_TT_PROC C1C2(C2 const&) {}
|
||||
BOOST_TT_PROC C1C2& operator=(C1C2 const&) {
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
template <typename C, typename A>
|
||||
void proc2(typename boost::common_type<A, C>::type const& ) {}
|
||||
BOOST_TT_PROC void proc2(typename boost::common_type<A, C>::type const& ) {}
|
||||
|
||||
template <typename C, typename A, typename B>
|
||||
void proc3(typename boost::common_type<C, A, B>::type const& ) {}
|
||||
BOOST_TT_PROC void proc3(typename boost::common_type<C, A, B>::type const& ) {}
|
||||
|
||||
template <typename C, typename A>
|
||||
void assignation_2() {
|
||||
BOOST_TT_PROC void assignation_2() {
|
||||
typedef typename boost::common_type<A, C>::type AC;
|
||||
A a;
|
||||
C c;
|
||||
@ -54,7 +54,7 @@ typedef typename boost::common_type<A, C>::type AC;
|
||||
}
|
||||
|
||||
template <typename C, typename A, typename B>
|
||||
void assignation_3() {
|
||||
BOOST_TT_PROC void assignation_3() {
|
||||
typedef typename boost::common_type<C, A, B>::type ABC;
|
||||
A a;
|
||||
B b;
|
||||
@ -70,17 +70,17 @@ typedef typename boost::common_type<C, A, B>::type ABC;
|
||||
proc3<C, A, B>(c);
|
||||
}
|
||||
|
||||
C1C2 c1c2;
|
||||
C1 c1;
|
||||
BOOST_TT_PROC C1C2 c1c2;
|
||||
BOOST_TT_PROC C1 c1;
|
||||
|
||||
int f(C1C2 ) { return 1;}
|
||||
int f(C1 ) { return 2;}
|
||||
BOOST_TT_PROC int f(C1C2 ) { return 1;}
|
||||
BOOST_TT_PROC int f(C1 ) { return 2;}
|
||||
template <typename OSTREAM>
|
||||
OSTREAM& operator<<(OSTREAM& os, C1 const&) {return os;}
|
||||
|
||||
C1C2& declval_C1C2() {return c1c2;}
|
||||
C1& declval_C1(){return c1;}
|
||||
bool declval_bool(){return true;}
|
||||
BOOST_TT_PROC C1C2& declval_C1C2() {return c1c2;}
|
||||
BOOST_TT_PROC C1& declval_C1(){return c1;}
|
||||
BOOST_TT_PROC bool declval_bool(){return true;}
|
||||
|
||||
|
||||
TT_TEST_BEGIN(common_type)
|
||||
|
1
test/cuda/boost-no-inspect
Normal file
1
test/cuda/boost-no-inspect
Normal file
@ -0,0 +1 @@
|
||||
|
188
test/cuda/cuda_tests.txt
Normal file
188
test/cuda/cuda_tests.txt
Normal file
@ -0,0 +1,188 @@
|
||||
add_const_test
|
||||
add_cv_test
|
||||
add_lvalue_reference_test
|
||||
add_pointer_test
|
||||
add_reference_test
|
||||
add_rvalue_reference_test
|
||||
add_volatile_test
|
||||
aligned_storage_a2_test
|
||||
aligned_storage_empy_test
|
||||
aligned_storage_test
|
||||
common_type_2_test
|
||||
common_type_3_test
|
||||
common_type_4_test
|
||||
common_type_5_test
|
||||
common_type_6_test
|
||||
common_type_sfinae2_test
|
||||
common_type_sfinae_test
|
||||
common_type_test
|
||||
conditional_test
|
||||
conjunction_test
|
||||
copy_cv_ref_test
|
||||
copy_cv_test
|
||||
copy_reference_test
|
||||
cxx14_aliases_test
|
||||
decay_test
|
||||
detected_or_test
|
||||
detected_test
|
||||
disjunction_test
|
||||
enable_if_test
|
||||
extent_test
|
||||
floating_point_promotion_test
|
||||
function_traits_test
|
||||
has_binary_classes0_test
|
||||
has_binary_classes1_test
|
||||
has_binary_classes2_test
|
||||
has_binary_classes3_test
|
||||
has_binary_classes4_test
|
||||
has_binary_classes5_test
|
||||
has_binary_classes6_test
|
||||
has_binary_classes7_test
|
||||
has_binary_classes8_test
|
||||
has_binary_classes9_test
|
||||
has_bit_and_assign_test
|
||||
has_bit_and_test
|
||||
has_bit_or_assign_test
|
||||
has_bit_or_test
|
||||
has_bit_xor_assign_test
|
||||
has_bit_xor_test
|
||||
has_complement_test
|
||||
has_dereference_test
|
||||
has_divides_assign_test
|
||||
has_divides_test
|
||||
has_equal_to_test
|
||||
has_greater_equal_test
|
||||
has_greater_test
|
||||
has_left_shift_assign_test
|
||||
has_left_shift_test
|
||||
has_less_equal_test
|
||||
has_less_test
|
||||
has_logical_and_test
|
||||
has_logical_not_test
|
||||
has_logical_or_test
|
||||
has_minus_assign_test
|
||||
has_minus_test
|
||||
has_modulus_assign_test
|
||||
has_modulus_test
|
||||
has_multiplies_assign_test
|
||||
has_multiplies_test
|
||||
has_negate_test
|
||||
has_not_equal_to_test
|
||||
has_nothrow_assign_test
|
||||
has_nothrow_constr_test
|
||||
has_nothrow_copy_test
|
||||
has_nothrow_destructor_test
|
||||
has_operator_new_test
|
||||
has_plus_assign_test
|
||||
has_plus_test
|
||||
has_post_decrement_test
|
||||
has_post_increment_test
|
||||
has_postfix_classes0_test
|
||||
has_postfix_classes1_test
|
||||
has_postfix_classes2_test
|
||||
has_postfix_classes3_test
|
||||
has_pre_decrement_test
|
||||
has_pre_increment_test
|
||||
has_prefix_classes0_test
|
||||
has_prefix_classes1_test
|
||||
has_prefix_classes2_test
|
||||
has_prefix_classes3_test
|
||||
has_right_shift_assign_test
|
||||
has_right_shift_test
|
||||
has_trivial_assign_test
|
||||
has_trivial_constr_test
|
||||
has_trivial_copy_test
|
||||
has_trivial_destructor_test
|
||||
has_trivial_move_assign_test
|
||||
has_trivial_move_constructor_test
|
||||
has_unary_minus_test
|
||||
has_unary_plus_test
|
||||
has_virtual_destructor_test
|
||||
is_abstract_test
|
||||
is_arithmetic_test
|
||||
is_array_test
|
||||
is_assignable_test
|
||||
is_base_and_derived_test
|
||||
is_base_of_test
|
||||
is_bounded_array_test
|
||||
is_class_test
|
||||
is_complete_test
|
||||
is_complex_test
|
||||
is_compound_test
|
||||
is_const_test
|
||||
is_constructible_test
|
||||
is_convertible_test
|
||||
is_copy_assignable_test
|
||||
is_copy_constructible_test
|
||||
is_default_constr_test
|
||||
is_destructible_test
|
||||
is_detected_convertible
|
||||
is_detected_exact_test
|
||||
is_detected_test
|
||||
is_empty_test
|
||||
is_enum_test
|
||||
is_final_test
|
||||
is_float_test
|
||||
is_floating_point_test
|
||||
is_function_test
|
||||
is_fundamental_test
|
||||
is_integral_test
|
||||
is_list_constructible_test
|
||||
is_lvalue_reference_test
|
||||
is_member_func_test
|
||||
is_member_obj_test
|
||||
is_member_pointer_test
|
||||
is_noncopyable_test
|
||||
is_nothrow_move_assignable_test
|
||||
is_nothrow_move_constructible_test
|
||||
is_nothrow_swappable_test
|
||||
is_object_test
|
||||
is_pod_test
|
||||
is_pointer_test
|
||||
is_polymorphic_test
|
||||
is_reference_test
|
||||
is_rvalue_reference_test
|
||||
is_same_test
|
||||
is_scalar_test
|
||||
is_scoped_enum_test
|
||||
is_signed_test
|
||||
is_stateless_test
|
||||
is_trivially_copyable_test
|
||||
is_unbounded_array_test
|
||||
is_union_test
|
||||
is_unscoped_enum_test
|
||||
is_unsigned_test
|
||||
is_virtual_base_of_test
|
||||
is_void_test
|
||||
is_volatile_test
|
||||
make_signed_test
|
||||
make_unsigned_test
|
||||
make_void_test
|
||||
mpl_interop_test1
|
||||
mpl_interop_test2
|
||||
mpl_interop_test3
|
||||
negation_test
|
||||
promote_basic_test
|
||||
promote_enum_msvc_bug_test
|
||||
promote_enum_test
|
||||
promote_mpl_test
|
||||
rank_test
|
||||
remove_all_extents_test
|
||||
remove_bounds_test
|
||||
remove_const_test
|
||||
remove_cv_ref_test
|
||||
remove_cv_test
|
||||
remove_extent_test
|
||||
remove_pointer_test
|
||||
remove_reference_test
|
||||
remove_volatile_test
|
||||
tricky_abstract_type_test
|
||||
tricky_add_pointer_test
|
||||
tricky_function_type_test
|
||||
tricky_incomplete_type_test
|
||||
tricky_is_enum_test
|
||||
tricky_partial_spec_test
|
||||
tricky_rvalue_test
|
||||
type_identity_test
|
||||
type_traits_test
|
||||
type_with_alignment_test
|
@ -127,6 +127,7 @@ TT_TEST_BEGIN(decay)
|
||||
::tt::decay<f2_type>::type,int (*)(int)>::value),
|
||||
true );
|
||||
|
||||
#ifndef TEST_CUDA_DEVICE
|
||||
#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
|
||||
//
|
||||
// Don't test this if the std lib has no templated constructors (Oracle+STLPort):
|
||||
@ -137,6 +138,7 @@ TT_TEST_BEGIN(decay)
|
||||
std::pair<std::wstring,std::string> p3 = boost::make_pair( L"foo", "bar" );
|
||||
std::pair<std::wstring, int> p4 = boost::make_pair( L"foo", 1 );
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// Todo: make these work sometime. The test id not directly
|
||||
|
@ -27,12 +27,12 @@ struct Check<long>
|
||||
class Construct {
|
||||
public:
|
||||
template<class T>
|
||||
Construct(T, typename boost::enable_if_<Check<T>::value>::type* = 0)
|
||||
BOOST_TT_PROC Construct(T, typename boost::enable_if_<Check<T>::value>::type* = 0)
|
||||
: value_(true) { }
|
||||
template<class T>
|
||||
Construct(T, typename boost::enable_if_<!Check<T>::value>::type* = 0)
|
||||
BOOST_TT_PROC Construct(T, typename boost::enable_if_<!Check<T>::value>::type* = 0)
|
||||
: value_(false) { }
|
||||
bool value() const {
|
||||
BOOST_TT_PROC bool value() const {
|
||||
return value_;
|
||||
}
|
||||
private:
|
||||
@ -51,26 +51,26 @@ struct Specialize<T, typename boost::enable_if_<!Check<T>::value>::type>
|
||||
: Constant<false> { };
|
||||
|
||||
template<class T>
|
||||
typename boost::enable_if_<Check<T>::value, bool>::type Returns(T)
|
||||
BOOST_TT_PROC typename boost::enable_if_<Check<T>::value, bool>::type Returns(T)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
typename boost::enable_if_<!Check<T>::value, bool>::type Returns(T)
|
||||
BOOST_TT_PROC typename boost::enable_if_<!Check<T>::value, bool>::type Returns(T)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
|
||||
template<class T>
|
||||
boost::enable_if_t<Check<T>::value, bool> Alias(T)
|
||||
BOOST_TT_PROC boost::enable_if_t<Check<T>::value, bool> Alias(T)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
boost::enable_if_t<!Check<T>::value, bool> Alias(T)
|
||||
BOOST_TT_PROC boost::enable_if_t<!Check<T>::value, bool> Alias(T)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -7,246 +7,246 @@
|
||||
#define TT_HAS_BINARY_CLASSES_HPP
|
||||
|
||||
struct ret { };
|
||||
ret ret_val;
|
||||
BOOST_TT_PROC ret ret_val;
|
||||
|
||||
class C000 { C000(); public: C000(int) { } };
|
||||
void operator+(C000, C000) { }
|
||||
class C000 { BOOST_TT_PROC C000(); public: BOOST_TT_PROC C000(int) { } };
|
||||
BOOST_TT_PROC void operator+(C000, C000) { }
|
||||
|
||||
class C001 { C001(); public: C001(int) { } };
|
||||
ret operator+(C001, C001) { return ret_val; }
|
||||
class C001 { BOOST_TT_PROC C001(); public: BOOST_TT_PROC C001(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C001, C001) { return ret_val; }
|
||||
|
||||
class C002 { C002(); public: C002(int) { } };
|
||||
ret const operator+(C002, C002) { return ret_val; }
|
||||
class C002 { BOOST_TT_PROC C002(); public: BOOST_TT_PROC C002(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C002, C002) { return ret_val; }
|
||||
|
||||
class C005 { C005(); public: C005(int) { } };
|
||||
ret & operator+(C005, C005) { return ret_val; }
|
||||
class C005 { BOOST_TT_PROC C005(); public: BOOST_TT_PROC C005(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C005, C005) { return ret_val; }
|
||||
|
||||
class C006 { C006(); public: C006(int) { } };
|
||||
ret const & operator+(C006, C006) { return ret_val; }
|
||||
class C006 { BOOST_TT_PROC C006(); public: BOOST_TT_PROC C006(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C006, C006) { return ret_val; }
|
||||
|
||||
class C009 { C009(); public: C009(int) { } };
|
||||
void operator+(C009, C009 const) { }
|
||||
class C009 { BOOST_TT_PROC C009(); public: BOOST_TT_PROC C009(int) { } };
|
||||
BOOST_TT_PROC void operator+(C009, C009 const) { }
|
||||
|
||||
class C010 { C010(); public: C010(int) { } };
|
||||
ret operator+(C010, C010 const) { return ret_val; }
|
||||
class C010 { BOOST_TT_PROC C010(); public: BOOST_TT_PROC C010(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C010, C010 const) { return ret_val; }
|
||||
|
||||
class C011 { C011(); public: C011(int) { } };
|
||||
ret const operator+(C011, C011 const) { return ret_val; }
|
||||
class C011 { BOOST_TT_PROC C011(); public: BOOST_TT_PROC C011(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C011, C011 const) { return ret_val; }
|
||||
|
||||
class C014 { C014(); public: C014(int) { } };
|
||||
ret & operator+(C014, C014 const) { return ret_val; }
|
||||
class C014 { BOOST_TT_PROC C014(); public: BOOST_TT_PROC C014(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C014, C014 const) { return ret_val; }
|
||||
|
||||
class C015 { C015(); public: C015(int) { } };
|
||||
ret const & operator+(C015, C015 const) { return ret_val; }
|
||||
class C015 { BOOST_TT_PROC C015(); public: BOOST_TT_PROC C015(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C015, C015 const) { return ret_val; }
|
||||
|
||||
class C036 { C036(); public: C036(int) { } };
|
||||
void operator+(C036, C036 &) { }
|
||||
class C036 { BOOST_TT_PROC C036(); public: BOOST_TT_PROC C036(int) { } };
|
||||
BOOST_TT_PROC void operator+(C036, C036 &) { }
|
||||
|
||||
class C037 { C037(); public: C037(int) { } };
|
||||
ret operator+(C037, C037 &) { return ret_val; }
|
||||
class C037 { BOOST_TT_PROC C037(); public: BOOST_TT_PROC C037(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C037, C037 &) { return ret_val; }
|
||||
|
||||
class C038 { C038(); public: C038(int) { } };
|
||||
ret const operator+(C038, C038 &) { return ret_val; }
|
||||
class C038 { BOOST_TT_PROC C038(); public: BOOST_TT_PROC C038(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C038, C038 &) { return ret_val; }
|
||||
|
||||
class C041 { C041(); public: C041(int) { } };
|
||||
ret & operator+(C041, C041 &) { return ret_val; }
|
||||
class C041 { BOOST_TT_PROC C041(); public: BOOST_TT_PROC C041(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C041, C041 &) { return ret_val; }
|
||||
|
||||
class C042 { C042(); public: C042(int) { } };
|
||||
ret const & operator+(C042, C042 &) { return ret_val; }
|
||||
class C042 { BOOST_TT_PROC C042(); public: BOOST_TT_PROC C042(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C042, C042 &) { return ret_val; }
|
||||
|
||||
class C045 { C045(); public: C045(int) { } };
|
||||
void operator+(C045, C045 const &) { }
|
||||
class C045 { BOOST_TT_PROC C045(); public: BOOST_TT_PROC C045(int) { } };
|
||||
BOOST_TT_PROC void operator+(C045, C045 const &) { }
|
||||
|
||||
class C046 { C046(); public: C046(int) { } };
|
||||
ret operator+(C046, C046 const &) { return ret_val; }
|
||||
class C046 { BOOST_TT_PROC C046(); public: BOOST_TT_PROC C046(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C046, C046 const &) { return ret_val; }
|
||||
|
||||
class C047 { C047(); public: C047(int) { } };
|
||||
ret const operator+(C047, C047 const &) { return ret_val; }
|
||||
class C047 { BOOST_TT_PROC C047(); public: BOOST_TT_PROC C047(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C047, C047 const &) { return ret_val; }
|
||||
|
||||
class C050 { C050(); public: C050(int) { } };
|
||||
ret & operator+(C050, C050 const &) { return ret_val; }
|
||||
class C050 { BOOST_TT_PROC C050(); public: BOOST_TT_PROC C050(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C050, C050 const &) { return ret_val; }
|
||||
|
||||
class C051 { C051(); public: C051(int) { } };
|
||||
ret const & operator+(C051, C051 const &) { return ret_val; }
|
||||
class C051 { BOOST_TT_PROC C051(); public: BOOST_TT_PROC C051(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C051, C051 const &) { return ret_val; }
|
||||
|
||||
class C072 { C072(); public: C072(int) { } };
|
||||
void operator+(C072 const, C072) { }
|
||||
class C072 { BOOST_TT_PROC C072(); public: BOOST_TT_PROC C072(int) { } };
|
||||
BOOST_TT_PROC void operator+(C072 const, C072) { }
|
||||
|
||||
class C073 { C073(); public: C073(int) { } };
|
||||
ret operator+(C073 const, C073) { return ret_val; }
|
||||
class C073 { BOOST_TT_PROC C073(); public: BOOST_TT_PROC C073(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C073 const, C073) { return ret_val; }
|
||||
|
||||
class C074 { C074(); public: C074(int) { } };
|
||||
ret const operator+(C074 const, C074) { return ret_val; }
|
||||
class C074 { BOOST_TT_PROC C074(); public: BOOST_TT_PROC C074(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C074 const, C074) { return ret_val; }
|
||||
|
||||
class C077 { C077(); public: C077(int) { } };
|
||||
ret & operator+(C077 const, C077) { return ret_val; }
|
||||
class C077 { BOOST_TT_PROC C077(); public: BOOST_TT_PROC C077(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C077 const, C077) { return ret_val; }
|
||||
|
||||
class C078 { C078(); public: C078(int) { } };
|
||||
ret const & operator+(C078 const, C078) { return ret_val; }
|
||||
class C078 { BOOST_TT_PROC C078(); public: BOOST_TT_PROC C078(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C078 const, C078) { return ret_val; }
|
||||
|
||||
class C081 { C081(); public: C081(int) { } };
|
||||
void operator+(C081 const, C081 const) { }
|
||||
class C081 { BOOST_TT_PROC C081(); public: BOOST_TT_PROC C081(int) { } };
|
||||
BOOST_TT_PROC void operator+(C081 const, C081 const) { }
|
||||
|
||||
class C082 { C082(); public: C082(int) { } };
|
||||
ret operator+(C082 const, C082 const) { return ret_val; }
|
||||
class C082 { BOOST_TT_PROC C082(); public: BOOST_TT_PROC C082(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C082 const, C082 const) { return ret_val; }
|
||||
|
||||
class C083 { C083(); public: C083(int) { } };
|
||||
ret const operator+(C083 const, C083 const) { return ret_val; }
|
||||
class C083 { BOOST_TT_PROC C083(); public: BOOST_TT_PROC C083(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C083 const, C083 const) { return ret_val; }
|
||||
|
||||
class C086 { C086(); public: C086(int) { } };
|
||||
ret & operator+(C086 const, C086 const) { return ret_val; }
|
||||
class C086 { BOOST_TT_PROC C086(); public: BOOST_TT_PROC C086(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C086 const, C086 const) { return ret_val; }
|
||||
|
||||
class C087 { C087(); public: C087(int) { } };
|
||||
ret const & operator+(C087 const, C087 const) { return ret_val; }
|
||||
class C087 { BOOST_TT_PROC C087(); public: BOOST_TT_PROC C087(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C087 const, C087 const) { return ret_val; }
|
||||
|
||||
class C108 { C108(); public: C108(int) { } };
|
||||
void operator+(C108 const, C108 &) { }
|
||||
class C108 { BOOST_TT_PROC C108(); public: BOOST_TT_PROC C108(int) { } };
|
||||
BOOST_TT_PROC void operator+(C108 const, C108 &) { }
|
||||
|
||||
class C109 { C109(); public: C109(int) { } };
|
||||
ret operator+(C109 const, C109 &) { return ret_val; }
|
||||
class C109 { BOOST_TT_PROC C109(); public: BOOST_TT_PROC C109(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C109 const, C109 &) { return ret_val; }
|
||||
|
||||
class C110 { C110(); public: C110(int) { } };
|
||||
ret const operator+(C110 const, C110 &) { return ret_val; }
|
||||
class C110 { BOOST_TT_PROC C110(); public: BOOST_TT_PROC C110(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C110 const, C110 &) { return ret_val; }
|
||||
|
||||
class C113 { C113(); public: C113(int) { } };
|
||||
ret & operator+(C113 const, C113 &) { return ret_val; }
|
||||
class C113 { BOOST_TT_PROC C113(); public: BOOST_TT_PROC C113(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C113 const, C113 &) { return ret_val; }
|
||||
|
||||
class C114 { C114(); public: C114(int) { } };
|
||||
ret const & operator+(C114 const, C114 &) { return ret_val; }
|
||||
class C114 { BOOST_TT_PROC C114(); public: BOOST_TT_PROC C114(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C114 const, C114 &) { return ret_val; }
|
||||
|
||||
class C117 { C117(); public: C117(int) { } };
|
||||
void operator+(C117 const, C117 const &) { }
|
||||
class C117 { BOOST_TT_PROC C117(); public: BOOST_TT_PROC C117(int) { } };
|
||||
BOOST_TT_PROC void operator+(C117 const, C117 const &) { }
|
||||
|
||||
class C118 { C118(); public: C118(int) { } };
|
||||
ret operator+(C118 const, C118 const &) { return ret_val; }
|
||||
class C118 { BOOST_TT_PROC C118(); public: BOOST_TT_PROC C118(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C118 const, C118 const &) { return ret_val; }
|
||||
|
||||
class C119 { C119(); public: C119(int) { } };
|
||||
ret const operator+(C119 const, C119 const &) { return ret_val; }
|
||||
class C119 { BOOST_TT_PROC C119(); public: BOOST_TT_PROC C119(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C119 const, C119 const &) { return ret_val; }
|
||||
|
||||
class C122 { C122(); public: C122(int) { } };
|
||||
ret & operator+(C122 const, C122 const &) { return ret_val; }
|
||||
class C122 { BOOST_TT_PROC C122(); public: BOOST_TT_PROC C122(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C122 const, C122 const &) { return ret_val; }
|
||||
|
||||
class C123 { C123(); public: C123(int) { } };
|
||||
ret const & operator+(C123 const, C123 const &) { return ret_val; }
|
||||
class C123 { BOOST_TT_PROC C123(); public: BOOST_TT_PROC C123(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C123 const, C123 const &) { return ret_val; }
|
||||
|
||||
class C288 { C288(); public: C288(int) { } };
|
||||
void operator+(C288 &, C288) { }
|
||||
class C288 { BOOST_TT_PROC C288(); public: BOOST_TT_PROC C288(int) { } };
|
||||
BOOST_TT_PROC void operator+(C288 &, C288) { }
|
||||
|
||||
class C289 { C289(); public: C289(int) { } };
|
||||
ret operator+(C289 &, C289) { return ret_val; }
|
||||
class C289 { BOOST_TT_PROC C289(); public: BOOST_TT_PROC C289(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C289 &, C289) { return ret_val; }
|
||||
|
||||
class C290 { C290(); public: C290(int) { } };
|
||||
ret const operator+(C290 &, C290) { return ret_val; }
|
||||
class C290 { BOOST_TT_PROC C290(); public: BOOST_TT_PROC C290(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C290 &, C290) { return ret_val; }
|
||||
|
||||
class C293 { C293(); public: C293(int) { } };
|
||||
ret & operator+(C293 &, C293) { return ret_val; }
|
||||
class C293 { BOOST_TT_PROC C293(); public: BOOST_TT_PROC C293(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C293 &, C293) { return ret_val; }
|
||||
|
||||
class C294 { C294(); public: C294(int) { } };
|
||||
ret const & operator+(C294 &, C294) { return ret_val; }
|
||||
class C294 { BOOST_TT_PROC C294(); public: BOOST_TT_PROC C294(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C294 &, C294) { return ret_val; }
|
||||
|
||||
class C297 { C297(); public: C297(int) { } };
|
||||
void operator+(C297 &, C297 const) { }
|
||||
class C297 { BOOST_TT_PROC C297(); public: BOOST_TT_PROC C297(int) { } };
|
||||
BOOST_TT_PROC void operator+(C297 &, C297 const) { }
|
||||
|
||||
class C298 { C298(); public: C298(int) { } };
|
||||
ret operator+(C298 &, C298 const) { return ret_val; }
|
||||
class C298 { BOOST_TT_PROC C298(); public: BOOST_TT_PROC C298(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C298 &, C298 const) { return ret_val; }
|
||||
|
||||
class C299 { C299(); public: C299(int) { } };
|
||||
ret const operator+(C299 &, C299 const) { return ret_val; }
|
||||
class C299 { BOOST_TT_PROC C299(); public: BOOST_TT_PROC C299(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C299 &, C299 const) { return ret_val; }
|
||||
|
||||
class C302 { C302(); public: C302(int) { } };
|
||||
ret & operator+(C302 &, C302 const) { return ret_val; }
|
||||
class C302 { BOOST_TT_PROC C302(); public: BOOST_TT_PROC C302(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C302 &, C302 const) { return ret_val; }
|
||||
|
||||
class C303 { C303(); public: C303(int) { } };
|
||||
ret const & operator+(C303 &, C303 const) { return ret_val; }
|
||||
class C303 { BOOST_TT_PROC C303(); public: BOOST_TT_PROC C303(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C303 &, C303 const) { return ret_val; }
|
||||
|
||||
class C324 { C324(); public: C324(int) { } };
|
||||
void operator+(C324 &, C324 &) { }
|
||||
class C324 { BOOST_TT_PROC C324(); public: BOOST_TT_PROC C324(int) { } };
|
||||
BOOST_TT_PROC void operator+(C324 &, C324 &) { }
|
||||
|
||||
class C325 { C325(); public: C325(int) { } };
|
||||
ret operator+(C325 &, C325 &) { return ret_val; }
|
||||
class C325 { BOOST_TT_PROC C325(); public: BOOST_TT_PROC C325(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C325 &, C325 &) { return ret_val; }
|
||||
|
||||
class C326 { C326(); public: C326(int) { } };
|
||||
ret const operator+(C326 &, C326 &) { return ret_val; }
|
||||
class C326 { BOOST_TT_PROC C326(); public: BOOST_TT_PROC C326(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C326 &, C326 &) { return ret_val; }
|
||||
|
||||
class C329 { C329(); public: C329(int) { } };
|
||||
ret & operator+(C329 &, C329 &) { return ret_val; }
|
||||
class C329 { BOOST_TT_PROC C329(); public: BOOST_TT_PROC C329(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C329 &, C329 &) { return ret_val; }
|
||||
|
||||
class C330 { C330(); public: C330(int) { } };
|
||||
ret const & operator+(C330 &, C330 &) { return ret_val; }
|
||||
class C330 { BOOST_TT_PROC C330(); public: BOOST_TT_PROC C330(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C330 &, C330 &) { return ret_val; }
|
||||
|
||||
class C333 { C333(); public: C333(int) { } };
|
||||
void operator+(C333 &, C333 const &) { }
|
||||
class C333 { BOOST_TT_PROC C333(); public: BOOST_TT_PROC C333(int) { } };
|
||||
BOOST_TT_PROC void operator+(C333 &, C333 const &) { }
|
||||
|
||||
class C334 { C334(); public: C334(int) { } };
|
||||
ret operator+(C334 &, C334 const &) { return ret_val; }
|
||||
class C334 { BOOST_TT_PROC C334(); public: BOOST_TT_PROC C334(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C334 &, C334 const &) { return ret_val; }
|
||||
|
||||
class C335 { C335(); public: C335(int) { } };
|
||||
ret const operator+(C335 &, C335 const &) { return ret_val; }
|
||||
class C335 { BOOST_TT_PROC C335(); public: BOOST_TT_PROC C335(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C335 &, C335 const &) { return ret_val; }
|
||||
|
||||
class C338 { C338(); public: C338(int) { } };
|
||||
ret & operator+(C338 &, C338 const &) { return ret_val; }
|
||||
class C338 { BOOST_TT_PROC C338(); public: BOOST_TT_PROC C338(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C338 &, C338 const &) { return ret_val; }
|
||||
|
||||
class C339 { C339(); public: C339(int) { } };
|
||||
ret const & operator+(C339 &, C339 const &) { return ret_val; }
|
||||
class C339 { BOOST_TT_PROC C339(); public: BOOST_TT_PROC C339(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C339 &, C339 const &) { return ret_val; }
|
||||
|
||||
class C360 { C360(); public: C360(int) { } };
|
||||
void operator+(C360 const &, C360) { }
|
||||
class C360 { BOOST_TT_PROC C360(); public: BOOST_TT_PROC C360(int) { } };
|
||||
BOOST_TT_PROC void operator+(C360 const &, C360) { }
|
||||
|
||||
class C361 { C361(); public: C361(int) { } };
|
||||
ret operator+(C361 const &, C361) { return ret_val; }
|
||||
class C361 { BOOST_TT_PROC C361(); public: BOOST_TT_PROC C361(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C361 const &, C361) { return ret_val; }
|
||||
|
||||
class C362 { C362(); public: C362(int) { } };
|
||||
ret const operator+(C362 const &, C362) { return ret_val; }
|
||||
class C362 { BOOST_TT_PROC C362(); public: BOOST_TT_PROC C362(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C362 const &, C362) { return ret_val; }
|
||||
|
||||
class C365 { C365(); public: C365(int) { } };
|
||||
ret & operator+(C365 const &, C365) { return ret_val; }
|
||||
class C365 { BOOST_TT_PROC C365(); public: BOOST_TT_PROC C365(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C365 const &, C365) { return ret_val; }
|
||||
|
||||
class C366 { C366(); public: C366(int) { } };
|
||||
ret const & operator+(C366 const &, C366) { return ret_val; }
|
||||
class C366 { BOOST_TT_PROC C366(); public: BOOST_TT_PROC C366(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C366 const &, C366) { return ret_val; }
|
||||
|
||||
class C369 { C369(); public: C369(int) { } };
|
||||
void operator+(C369 const &, C369 const) { }
|
||||
class C369 { BOOST_TT_PROC C369(); public: BOOST_TT_PROC C369(int) { } };
|
||||
BOOST_TT_PROC void operator+(C369 const &, C369 const) { }
|
||||
|
||||
class C370 { C370(); public: C370(int) { } };
|
||||
ret operator+(C370 const &, C370 const) { return ret_val; }
|
||||
class C370 { BOOST_TT_PROC C370(); public: BOOST_TT_PROC C370(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C370 const &, C370 const) { return ret_val; }
|
||||
|
||||
class C371 { C371(); public: C371(int) { } };
|
||||
ret const operator+(C371 const &, C371 const) { return ret_val; }
|
||||
class C371 { BOOST_TT_PROC C371(); public: BOOST_TT_PROC C371(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C371 const &, C371 const) { return ret_val; }
|
||||
|
||||
class C374 { C374(); public: C374(int) { } };
|
||||
ret & operator+(C374 const &, C374 const) { return ret_val; }
|
||||
class C374 { BOOST_TT_PROC C374(); public: BOOST_TT_PROC C374(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C374 const &, C374 const) { return ret_val; }
|
||||
|
||||
class C375 { C375(); public: C375(int) { } };
|
||||
ret const & operator+(C375 const &, C375 const) { return ret_val; }
|
||||
class C375 { BOOST_TT_PROC C375(); public: BOOST_TT_PROC C375(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C375 const &, C375 const) { return ret_val; }
|
||||
|
||||
class C396 { C396(); public: C396(int) { } };
|
||||
void operator+(C396 const &, C396 &) { }
|
||||
class C396 { BOOST_TT_PROC C396(); public: BOOST_TT_PROC C396(int) { } };
|
||||
BOOST_TT_PROC void operator+(C396 const &, C396 &) { }
|
||||
|
||||
class C397 { C397(); public: C397(int) { } };
|
||||
ret operator+(C397 const &, C397 &) { return ret_val; }
|
||||
class C397 { BOOST_TT_PROC C397(); public: BOOST_TT_PROC C397(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C397 const &, C397 &) { return ret_val; }
|
||||
|
||||
class C398 { C398(); public: C398(int) { } };
|
||||
ret const operator+(C398 const &, C398 &) { return ret_val; }
|
||||
class C398 { BOOST_TT_PROC C398(); public: BOOST_TT_PROC C398(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C398 const &, C398 &) { return ret_val; }
|
||||
|
||||
class C401 { C401(); public: C401(int) { } };
|
||||
ret & operator+(C401 const &, C401 &) { return ret_val; }
|
||||
class C401 { BOOST_TT_PROC C401(); public: BOOST_TT_PROC C401(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C401 const &, C401 &) { return ret_val; }
|
||||
|
||||
class C402 { C402(); public: C402(int) { } };
|
||||
ret const & operator+(C402 const &, C402 &) { return ret_val; }
|
||||
class C402 { BOOST_TT_PROC C402(); public: BOOST_TT_PROC C402(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C402 const &, C402 &) { return ret_val; }
|
||||
|
||||
class C405 { C405(); public: C405(int) { } };
|
||||
void operator+(C405 const &, C405 const &) { }
|
||||
class C405 { BOOST_TT_PROC C405(); public: BOOST_TT_PROC C405(int) { } };
|
||||
BOOST_TT_PROC void operator+(C405 const &, C405 const &) { }
|
||||
|
||||
class C406 { C406(); public: C406(int) { } };
|
||||
ret operator+(C406 const &, C406 const &) { return ret_val; }
|
||||
class C406 { BOOST_TT_PROC C406(); public: BOOST_TT_PROC C406(int) { } };
|
||||
BOOST_TT_PROC ret operator+(C406 const &, C406 const &) { return ret_val; }
|
||||
|
||||
class C407 { C407(); public: C407(int) { } };
|
||||
ret const operator+(C407 const &, C407 const &) { return ret_val; }
|
||||
class C407 { BOOST_TT_PROC C407(); public: BOOST_TT_PROC C407(int) { } };
|
||||
BOOST_TT_PROC ret const operator+(C407 const &, C407 const &) { return ret_val; }
|
||||
|
||||
class C410 { C410(); public: C410(int) { } };
|
||||
ret & operator+(C410 const &, C410 const &) { return ret_val; }
|
||||
class C410 { BOOST_TT_PROC C410(); public: BOOST_TT_PROC C410(int) { } };
|
||||
BOOST_TT_PROC ret & operator+(C410 const &, C410 const &) { return ret_val; }
|
||||
|
||||
class C411 { C411(); public: C411(int) { } };
|
||||
ret const & operator+(C411 const &, C411 const &) { return ret_val; }
|
||||
class C411 { BOOST_TT_PROC C411(); public: BOOST_TT_PROC C411(int) { } };
|
||||
BOOST_TT_PROC ret const & operator+(C411 const &, C411 const &) { return ret_val; }
|
||||
|
||||
#endif
|
||||
|
@ -31,53 +31,53 @@ struct without { };
|
||||
|
||||
struct ret { };
|
||||
|
||||
struct internal { ret operator BOOST_TT_TRAIT_OP (const internal&) const; };
|
||||
struct internal { BOOST_TT_PROC ret operator BOOST_TT_TRAIT_OP (const internal&) const; };
|
||||
|
||||
struct external { };
|
||||
inline ret operator BOOST_TT_TRAIT_OP (const external&, const external&) { return ret(); }
|
||||
inline BOOST_TT_PROC ret operator BOOST_TT_TRAIT_OP (const external&, const external&) { return ret(); }
|
||||
|
||||
struct comma1_ret { };
|
||||
struct ret_with_comma1 { comma1_ret operator,(int); };
|
||||
struct ret_with_comma1 { BOOST_TT_PROC comma1_ret operator,(int); };
|
||||
|
||||
struct internal_comma1 { ret_with_comma1 operator BOOST_TT_TRAIT_OP (const internal_comma1&) const; };
|
||||
struct internal_comma1 { BOOST_TT_PROC ret_with_comma1 operator BOOST_TT_TRAIT_OP (const internal_comma1&) const; };
|
||||
|
||||
struct external_comma1 { };
|
||||
ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&, const external_comma1&) { return ret_with_comma1(); }
|
||||
BOOST_TT_PROC ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&, const external_comma1&) { return ret_with_comma1(); }
|
||||
|
||||
struct ret_with_comma2 { void operator,(int); };
|
||||
struct ret_with_comma2 { BOOST_TT_PROC void operator,(int); };
|
||||
|
||||
struct internal_comma2 { ret_with_comma2 operator BOOST_TT_TRAIT_OP (const internal_comma2&) const; };
|
||||
struct internal_comma2 { BOOST_TT_PROC ret_with_comma2 operator BOOST_TT_TRAIT_OP (const internal_comma2&) const; };
|
||||
|
||||
struct external_comma2 { };
|
||||
ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&, const external_comma2&){ return ret_with_comma2(); }
|
||||
BOOST_TT_PROC ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&, const external_comma2&){ return ret_with_comma2(); }
|
||||
|
||||
struct returns_int { int operator BOOST_TT_TRAIT_OP (const returns_int&); };
|
||||
struct returns_int { BOOST_TT_PROC int operator BOOST_TT_TRAIT_OP (const returns_int&)const; };
|
||||
|
||||
struct returns_void { void operator BOOST_TT_TRAIT_OP (const returns_void&); };
|
||||
struct returns_void { BOOST_TT_PROC void operator BOOST_TT_TRAIT_OP (const returns_void&)const; };
|
||||
|
||||
struct returns_void_star { void *operator BOOST_TT_TRAIT_OP (const returns_void_star&); };
|
||||
struct returns_void_star { BOOST_TT_PROC void *operator BOOST_TT_TRAIT_OP (const returns_void_star&)const; };
|
||||
|
||||
struct returns_double { double operator BOOST_TT_TRAIT_OP (const returns_double&); };
|
||||
struct returns_double { BOOST_TT_PROC double operator BOOST_TT_TRAIT_OP (const returns_double&)const; };
|
||||
|
||||
struct ret1 { };
|
||||
struct convertible_to_ret1 { operator ret1 () const; };
|
||||
struct returns_convertible_to_ret1 { convertible_to_ret1 operator BOOST_TT_TRAIT_OP (const returns_convertible_to_ret1&); };
|
||||
struct convertible_to_ret1 { BOOST_TT_PROC operator ret1 () const; };
|
||||
struct returns_convertible_to_ret1 { BOOST_TT_PROC convertible_to_ret1 operator BOOST_TT_TRAIT_OP (const returns_convertible_to_ret1&)const; };
|
||||
|
||||
struct convertible_to_ret2 { };
|
||||
struct ret2 { ret2(const convertible_to_ret2); };
|
||||
struct returns_convertible_to_ret2 { convertible_to_ret2 operator BOOST_TT_TRAIT_OP (const returns_convertible_to_ret2&); };
|
||||
struct ret2 { BOOST_TT_PROC ret2(const convertible_to_ret2); };
|
||||
struct returns_convertible_to_ret2 { BOOST_TT_PROC convertible_to_ret2 operator BOOST_TT_TRAIT_OP (const returns_convertible_to_ret2&)const; };
|
||||
|
||||
class Base1 { };
|
||||
class Derived1 : public Base1 { };
|
||||
|
||||
bool operator BOOST_TT_TRAIT_OP (const Base1&, const Base1&) { return true; }
|
||||
BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const Base1&, const Base1&) { return true; }
|
||||
|
||||
class Base2 { };
|
||||
struct Derived2 : public Base2 {
|
||||
Derived2(int); // to check if it works with a class that is not default constructible
|
||||
BOOST_TT_PROC Derived2(int); // to check if it works with a class that is not default constructible
|
||||
};
|
||||
|
||||
bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
|
||||
BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const Derived2&, const Derived2&) { return true; }
|
||||
|
||||
struct tag { };
|
||||
|
||||
@ -86,21 +86,21 @@ struct B : public A { };
|
||||
|
||||
struct C { };
|
||||
struct D { };
|
||||
inline bool operator BOOST_TT_TRAIT_OP (const C&, void*) { return true; }
|
||||
inline bool operator BOOST_TT_TRAIT_OP (void*, const D&) { return true; }
|
||||
inline bool operator BOOST_TT_TRAIT_OP (const C&, const D&) { return true; }
|
||||
BOOST_TT_PROC inline bool operator BOOST_TT_TRAIT_OP (const C&, void*) { return true; }
|
||||
BOOST_TT_PROC inline bool operator BOOST_TT_TRAIT_OP (void*, const D&) { return true; }
|
||||
BOOST_TT_PROC inline bool operator BOOST_TT_TRAIT_OP (const C&, const D&) { return true; }
|
||||
|
||||
struct private_op { private: void operator BOOST_TT_TRAIT_OP (const private_op&) {} };
|
||||
struct private_op { private: BOOST_TT_PROC void operator BOOST_TT_TRAIT_OP (const private_op&) {} };
|
||||
|
||||
struct ambiguous_A
|
||||
{
|
||||
};
|
||||
inline bool operator BOOST_TT_TRAIT_OP (const ambiguous_A&, const ambiguous_A&) { return true; }
|
||||
struct ambiguous_B { operator ambiguous_A()const { return ambiguous_A(); } };
|
||||
inline BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const ambiguous_A&, const ambiguous_A&) { return true; }
|
||||
struct ambiguous_B { BOOST_TT_PROC operator ambiguous_A()const { return ambiguous_A(); } };
|
||||
|
||||
//class internal_private { ret operator BOOST_TT_TRAIT_OP (const internal_private&) const; };
|
||||
|
||||
void common() {
|
||||
BOOST_TT_PROC void common() {
|
||||
TEST_T(void, false);
|
||||
TEST_TT(void, void, false);
|
||||
TEST_TTR(void, void, void, false);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
@ -223,7 +223,7 @@ void specific() {
|
||||
// There are some things that pass that wouldn't otherwise do so:
|
||||
auto f = []() {};
|
||||
auto f2 = [](double)->int { return 2; };
|
||||
#ifndef BOOST_MSVC
|
||||
#if !defined(BOOST_MSVC) || (_MSC_FULL_VER >= 192829333)
|
||||
TEST_TR(decltype(f), bool, true);
|
||||
TEST_TR(decltype(f2), bool, true);
|
||||
#else
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
@ -223,7 +223,7 @@ void specific() {
|
||||
// There are some things that pass that wouldn't otherwise do so:
|
||||
auto f = []() {};
|
||||
auto f2 = [](double)->int { return 2; };
|
||||
#ifndef BOOST_MSVC
|
||||
#if !defined(BOOST_MSVC) || (_MSC_FULL_VER >= 192829333)
|
||||
TEST_TR(decltype(f), bool, true);
|
||||
TEST_TR(decltype(f2), bool, true);
|
||||
#else
|
||||
|
@ -16,8 +16,8 @@
|
||||
|
||||
struct non_assignable
|
||||
{
|
||||
non_assignable();
|
||||
non_assignable& operator=(const non_assignable&) = delete;
|
||||
BOOST_TT_PROC non_assignable();
|
||||
BOOST_TT_PROC non_assignable& operator=(const non_assignable&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
@ -26,8 +26,8 @@ struct non_assignable
|
||||
|
||||
struct noexcept_assignable
|
||||
{
|
||||
noexcept_assignable();
|
||||
noexcept_assignable& operator=(const noexcept_assignable&)noexcept;
|
||||
BOOST_TT_PROC noexcept_assignable();
|
||||
BOOST_TT_PROC noexcept_assignable& operator=(const noexcept_assignable&)noexcept;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -240,7 +240,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<test_abc1>::value, false);
|
||||
#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<delete_copy>::value, false);
|
||||
#if !(defined(CI_SUPPRESS_KNOWN_ISSUES) && BOOST_WORKAROUND(BOOST_GCC, < 40600)) && !(defined(CI_SUPPRESS_KNOWN_ISSUES) && BOOST_WORKAROUND(BOOST_MSVC, == 1800))\
|
||||
&& !(defined(CI_SUPPRESS_KNOWN_ISSUES) && defined(__CLR_VER))
|
||||
&& !(defined(CI_SUPPRESS_KNOWN_ISSUES) && defined(_MANAGED))
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_nothrow_copy<delete_move>::value, false);
|
||||
#endif
|
||||
#endif
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int, void, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, int &, int >::value), 0);
|
||||
@ -147,6 +147,7 @@ void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* & >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool & >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< double const &, int* &, bool const & >::value), 0);
|
||||
#ifndef __NVCC__
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, bool const >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool const, int const & >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void*, bool &, bool >::value), 0);
|
||||
@ -178,6 +179,7 @@ void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, void* &, int const & >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int*, bool >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void* const &, int* const, int & >::value), 0);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, bool &, int >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int, int & >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< int*, int const, int >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_postfix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_postfix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -21,59 +21,59 @@ struct without { };
|
||||
|
||||
struct ret { };
|
||||
|
||||
struct internal { ret operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
struct internal { BOOST_TT_PROC ret operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
|
||||
struct external { };
|
||||
inline ret operator BOOST_TT_TRAIT_OP (const external&, int){ return ret(); }
|
||||
inline BOOST_TT_PROC ret operator BOOST_TT_TRAIT_OP (const external&, int){ return ret(); }
|
||||
|
||||
struct comma1_ret { };
|
||||
struct ret_with_comma1 { comma1_ret operator,(int); };
|
||||
struct ret_with_comma1 { BOOST_TT_PROC comma1_ret operator,(int); };
|
||||
|
||||
struct internal_comma1 { ret_with_comma1 operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
struct internal_comma1 { BOOST_TT_PROC ret_with_comma1 operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
|
||||
struct external_comma1 { };
|
||||
inline ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&, int){ return ret_with_comma1(); }
|
||||
inline BOOST_TT_PROC ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&, int){ return ret_with_comma1(); }
|
||||
|
||||
struct ret_with_comma2 { void operator,(int); };
|
||||
struct ret_with_comma2 { BOOST_TT_PROC void operator,(int); };
|
||||
|
||||
struct internal_comma2 { ret_with_comma2 operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
struct internal_comma2 { BOOST_TT_PROC ret_with_comma2 operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
|
||||
struct external_comma2 { };
|
||||
inline ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&, int){ return ret_with_comma2(); }
|
||||
inline BOOST_TT_PROC ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&, int){ return ret_with_comma2(); }
|
||||
|
||||
struct returns_int { int operator BOOST_TT_TRAIT_OP (int); };
|
||||
struct returns_int { BOOST_TT_PROC int operator BOOST_TT_TRAIT_OP (int); };
|
||||
|
||||
struct returns_void { void operator BOOST_TT_TRAIT_OP (int); };
|
||||
struct returns_void { BOOST_TT_PROC void operator BOOST_TT_TRAIT_OP (int); };
|
||||
|
||||
struct returns_void_star { void *operator BOOST_TT_TRAIT_OP (int); };
|
||||
struct returns_void_star { BOOST_TT_PROC void *operator BOOST_TT_TRAIT_OP (int); };
|
||||
|
||||
struct returns_double { double operator BOOST_TT_TRAIT_OP (int); };
|
||||
struct returns_double { BOOST_TT_PROC double operator BOOST_TT_TRAIT_OP (int); };
|
||||
|
||||
struct ret1 { };
|
||||
struct convertible_to_ret1 { operator ret1 () const; };
|
||||
struct returns_convertible_to_ret1 { convertible_to_ret1 operator BOOST_TT_TRAIT_OP (int); };
|
||||
struct convertible_to_ret1 { BOOST_TT_PROC operator ret1 () const; };
|
||||
struct returns_convertible_to_ret1 { BOOST_TT_PROC convertible_to_ret1 operator BOOST_TT_TRAIT_OP (int); };
|
||||
|
||||
struct convertible_to_ret2 { };
|
||||
struct ret2 { ret2(const convertible_to_ret2); };
|
||||
struct returns_convertible_to_ret2 { convertible_to_ret2 operator BOOST_TT_TRAIT_OP (int); };
|
||||
struct ret2 { BOOST_TT_PROC ret2(const convertible_to_ret2); };
|
||||
struct returns_convertible_to_ret2 { BOOST_TT_PROC convertible_to_ret2 operator BOOST_TT_TRAIT_OP (int); };
|
||||
|
||||
class Base1 { };
|
||||
class Derived1 : public Base1 { };
|
||||
|
||||
inline bool operator BOOST_TT_TRAIT_OP (const Base1&, int) { return true; }
|
||||
inline BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const Base1&, int) { return true; }
|
||||
|
||||
class Base2 { };
|
||||
struct Derived2 : public Base2 {
|
||||
Derived2(int); // to check if it works with a class that is not default constructible
|
||||
};
|
||||
|
||||
inline bool operator BOOST_TT_TRAIT_OP (const Derived2&, int) { return true; }
|
||||
inline BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const Derived2&, int) { return true; }
|
||||
|
||||
struct tag { };
|
||||
|
||||
//class internal_private { ret operator BOOST_TT_TRAIT_OP (int) const; };
|
||||
|
||||
void common() {
|
||||
BOOST_TT_PROC void common() {
|
||||
TEST_T(void, false);
|
||||
TEST_TR(void, void, false);
|
||||
TEST_TR(void, int, false);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -26,59 +26,59 @@ struct without { };
|
||||
|
||||
struct ret { };
|
||||
|
||||
struct internal { ret operator BOOST_TT_TRAIT_OP () const; };
|
||||
struct internal { BOOST_TT_PROC ret operator BOOST_TT_TRAIT_OP () const; };
|
||||
|
||||
struct external { };
|
||||
inline ret operator BOOST_TT_TRAIT_OP (const external&){ return ret(); }
|
||||
BOOST_TT_PROC inline ret operator BOOST_TT_TRAIT_OP (const external&){ return ret(); }
|
||||
|
||||
struct comma1_ret { };
|
||||
struct ret_with_comma1 { comma1_ret operator,(int); };
|
||||
struct ret_with_comma1 { BOOST_TT_PROC comma1_ret operator,(int); };
|
||||
|
||||
struct internal_comma1 { ret_with_comma1 operator BOOST_TT_TRAIT_OP () const; };
|
||||
struct internal_comma1 { BOOST_TT_PROC ret_with_comma1 operator BOOST_TT_TRAIT_OP () const; };
|
||||
|
||||
struct external_comma1 { };
|
||||
inline ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&){ return ret_with_comma1(); }
|
||||
inline BOOST_TT_PROC ret_with_comma1 operator BOOST_TT_TRAIT_OP (const external_comma1&){ return ret_with_comma1(); }
|
||||
|
||||
struct ret_with_comma2 { void operator,(int); };
|
||||
struct ret_with_comma2 { BOOST_TT_PROC void operator,(int); };
|
||||
|
||||
struct internal_comma2 { ret_with_comma2 operator BOOST_TT_TRAIT_OP () const; };
|
||||
struct internal_comma2 { BOOST_TT_PROC ret_with_comma2 operator BOOST_TT_TRAIT_OP () const; };
|
||||
|
||||
struct external_comma2 { };
|
||||
inline ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&){ return ret_with_comma2(); }
|
||||
inline BOOST_TT_PROC ret_with_comma2 operator BOOST_TT_TRAIT_OP (const external_comma2&){ return ret_with_comma2(); }
|
||||
|
||||
struct returns_int { int operator BOOST_TT_TRAIT_OP (); };
|
||||
struct returns_int { BOOST_TT_PROC int operator BOOST_TT_TRAIT_OP (); };
|
||||
|
||||
struct returns_void { void operator BOOST_TT_TRAIT_OP (); };
|
||||
struct returns_void { BOOST_TT_PROC void operator BOOST_TT_TRAIT_OP (); };
|
||||
|
||||
struct returns_void_star { void *operator BOOST_TT_TRAIT_OP (); };
|
||||
struct returns_void_star { BOOST_TT_PROC void *operator BOOST_TT_TRAIT_OP (); };
|
||||
|
||||
struct returns_double { double operator BOOST_TT_TRAIT_OP (); };
|
||||
struct returns_double { BOOST_TT_PROC double operator BOOST_TT_TRAIT_OP (); };
|
||||
|
||||
struct ret1 { };
|
||||
struct convertible_to_ret1 { operator ret1 () const; };
|
||||
struct returns_convertible_to_ret1 { convertible_to_ret1 operator BOOST_TT_TRAIT_OP (); };
|
||||
struct convertible_to_ret1 { BOOST_TT_PROC operator ret1 () const; };
|
||||
struct returns_convertible_to_ret1 { BOOST_TT_PROC convertible_to_ret1 operator BOOST_TT_TRAIT_OP (); };
|
||||
|
||||
struct convertible_to_ret2 { };
|
||||
struct ret2 { ret2(const convertible_to_ret2); };
|
||||
struct returns_convertible_to_ret2 { convertible_to_ret2 operator BOOST_TT_TRAIT_OP (); };
|
||||
struct ret2 { BOOST_TT_PROC ret2(const convertible_to_ret2); };
|
||||
struct returns_convertible_to_ret2 { BOOST_TT_PROC convertible_to_ret2 operator BOOST_TT_TRAIT_OP (); };
|
||||
|
||||
class Base1 { };
|
||||
class Derived1 : public Base1 { };
|
||||
|
||||
inline bool operator BOOST_TT_TRAIT_OP (const Base1&) { return true; }
|
||||
inline BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const Base1&) { return true; }
|
||||
|
||||
class Base2 { };
|
||||
struct Derived2 : public Base2 {
|
||||
Derived2(int); // to check if it works with a class that is not default constructible
|
||||
};
|
||||
|
||||
bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
|
||||
BOOST_TT_PROC bool operator BOOST_TT_TRAIT_OP (const Derived2&) { return true; }
|
||||
|
||||
struct tag { };
|
||||
|
||||
//class internal_private { ret operator BOOST_TT_TRAIT_OP () const; };
|
||||
|
||||
void common() {
|
||||
BOOST_TT_PROC void common() {
|
||||
TEST_T(void, false);
|
||||
TEST_TR(void, void, false);
|
||||
TEST_TR(void, int, false);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#include "has_binary_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const, void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool &, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< bool const &, void, void >::value), 0);
|
||||
@ -234,9 +234,11 @@ void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, char&, std::istream& >::value), 1);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, signed char&, std::istream& >::value), 1);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned char&, std::istream& >::value), 1);
|
||||
#if !(defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION >= 9000)) && !defined(_HAS_CXX20)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, char*, std::istream& >::value), 1);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, signed char*, std::istream& >::value), 1);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, unsigned char*, std::istream& >::value), 1);
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< std::istream, std::string&, std::istream& >::value), 1);
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "has_prefix_operators.hpp"
|
||||
|
||||
void specific() {
|
||||
BOOST_TT_PROC void specific() {
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, void >::value), 0);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME< void, bool >::value), 0);
|
||||
@ -224,9 +224,9 @@ void specific() {
|
||||
auto f = []() {};
|
||||
auto f2 = [](double)->int { return 2; };
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1900)
|
||||
bool result = false;
|
||||
BOOST_CONSTEXPR bool result = false;
|
||||
#else
|
||||
bool result = true;
|
||||
BOOST_CONSTEXPR bool result = true;
|
||||
#endif
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<decltype(f)>::value), result);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::boost::BOOST_TT_TRAIT_NAME<decltype(f2)>::value), result);
|
||||
|
@ -151,7 +151,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<char16_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<char32_t>::value, true);
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<boost::int128_type>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_arithmetic<boost::uint128_type>::value, true);
|
||||
#endif
|
||||
|
@ -16,20 +16,20 @@
|
||||
#pragma GCC diagnostic ignored "-Wnoexcept-type"
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
|
||||
struct X
|
||||
{
|
||||
void f() {}
|
||||
void fc() const {}
|
||||
void fv() volatile {}
|
||||
void fcv() const volatile {}
|
||||
void noexcept_f()noexcept {}
|
||||
void ref_f()const& {}
|
||||
void rvalue_f() && {}
|
||||
BOOST_TT_PROC void f() {}
|
||||
BOOST_TT_PROC void fc() const {}
|
||||
BOOST_TT_PROC void fv() volatile {}
|
||||
BOOST_TT_PROC void fcv() const volatile {}
|
||||
BOOST_TT_PROC void noexcept_f()noexcept {}
|
||||
BOOST_TT_PROC void ref_f()const& {}
|
||||
BOOST_TT_PROC void rvalue_f() && {}
|
||||
};
|
||||
|
||||
template< class C, class F > void test_cv_qual(F C::*)
|
||||
template< class C, class F > BOOST_TT_PROC void test_cv_qual(F C::*)
|
||||
{
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(boost::is_function< F >::value, true);
|
||||
}
|
||||
@ -56,7 +56,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo1_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo2_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo3_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo4_t>::value, true);
|
||||
#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE)
|
||||
#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(__NVCC__)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo5_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo6_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<foo7_t>::value, true);
|
||||
@ -94,14 +94,14 @@ typedef void __cdecl cfoo2_t(int&, double);
|
||||
typedef void __cdecl cfoo3_t(int&, bool, int, int);
|
||||
typedef void __cdecl cfoo4_t(int, bool, int*, int[], int, int, int, int, int);
|
||||
|
||||
#ifndef __CLR_VER
|
||||
#ifndef _MANAGED
|
||||
typedef void __fastcall ffoo0_t();
|
||||
typedef void __fastcall ffoo1_t(int);
|
||||
typedef void __fastcall ffoo2_t(int&, double);
|
||||
typedef void __fastcall ffoo3_t(int&, bool, int, int);
|
||||
typedef void __fastcall ffoo4_t(int, bool, int*, int[], int, int, int, int, int);
|
||||
#endif
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
typedef void __vectorcall vfoo0_t();
|
||||
typedef void __vectorcall vfoo1_t(int);
|
||||
typedef void __vectorcall vfoo2_t(int&, double);
|
||||
@ -120,7 +120,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<cfoo2_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<cfoo3_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<cfoo4_t>::value, true);
|
||||
|
||||
#ifndef __CLR_VER
|
||||
#ifndef _MANAGED
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<ffoo0_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<ffoo1_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<ffoo2_t>::value, true);
|
||||
@ -128,7 +128,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<ffoo3_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<ffoo4_t>::value, true);
|
||||
#endif
|
||||
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<vfoo0_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<vfoo1_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<vfoo2_t>::value, true);
|
||||
@ -138,13 +138,13 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_function<vfoo4_t>::value, true);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
|
||||
test_cv_qual(&X::f);
|
||||
test_cv_qual(&X::fc);
|
||||
test_cv_qual(&X::fv);
|
||||
test_cv_qual(&X::fcv);
|
||||
#ifndef BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
#if !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(__NVCC__)
|
||||
test_cv_qual(&X::noexcept_f);
|
||||
#endif
|
||||
test_cv_qual(&X::ref_f);
|
||||
|
@ -155,7 +155,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<char16_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<char32_t>::value, true);
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<boost::int128_type>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_fundamental<boost::uint128_type>::value, true);
|
||||
#endif
|
||||
|
@ -112,7 +112,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<__int64 const volatile>::value,
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::uint128_type>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_integral<boost::int128_type>::value, true);
|
||||
|
@ -88,6 +88,8 @@ BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_list_constructible<Y, int, int, int>::va
|
||||
// g++ 4.x doesn't seem to disallow narrowing
|
||||
#elif defined(CI_SUPPRESS_KNOWN_ISSUES) && defined(__GNUC__) && (__GNUC__ == 7) && (__cplusplus >= 201500)
|
||||
// g++ 7.1 in -std=c++1z, c++17 has a bug
|
||||
#elif defined(__NVCC__)
|
||||
// nvcc in -std=c++17 mode has this issue.
|
||||
#else
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_list_constructible<Y, float>::value), false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_list_constructible<Y, int, float>::value), false);
|
||||
@ -104,6 +106,8 @@ BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_list_constructible<Z, int, int, int>::va
|
||||
// g++ 4.x doesn't seem to disallow narrowing
|
||||
#elif defined(CI_SUPPRESS_KNOWN_ISSUES) && defined(__GNUC__) && (__GNUC__ == 7) && (__cplusplus >= 201500)
|
||||
// g++ 7.1 in -std=c++1z, c++17 has a bug
|
||||
#elif defined(__NVCC__)
|
||||
// nvcc in -std=c++17 mode has this issue.
|
||||
#else
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_list_constructible<Z, float>::value), false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_list_constructible<Z, int, float>::value), false);
|
||||
|
@ -16,19 +16,19 @@
|
||||
#pragma GCC diagnostic ignored "-Wnoexcept-type"
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
struct tricky_members
|
||||
{
|
||||
void noexcept_proc()noexcept
|
||||
BOOST_TT_PROC void noexcept_proc()noexcept
|
||||
{}
|
||||
void const_ref_proc()const &
|
||||
BOOST_TT_PROC void const_ref_proc()const &
|
||||
{}
|
||||
void rvalue_proc()&&
|
||||
BOOST_TT_PROC void rvalue_proc()&&
|
||||
{}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
void test_tricky(T)
|
||||
BOOST_TT_PROC void test_tricky(T)
|
||||
{
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<T>::value, true);
|
||||
}
|
||||
@ -70,13 +70,13 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<void>::value, fal
|
||||
|
||||
typedef void (__stdcall test_abc1::*scall_proc)();
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<scall_proc>::value, true);
|
||||
#ifndef __CLR_VER
|
||||
#ifndef _MANAGED
|
||||
typedef void (__fastcall test_abc1::*fcall_proc)(int);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<fcall_proc>::value, true);
|
||||
#endif
|
||||
typedef void (__cdecl test_abc1::*ccall_proc)(int, long, double);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<ccall_proc>::value, true);
|
||||
#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64))
|
||||
typedef void(__vectorcall test_abc1::*vcall_proc)(int, long, double, double, double, double);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<vcall_proc>::value, true);
|
||||
#endif
|
||||
@ -85,7 +85,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_function_pointer<tcall_proc>::valu
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
|
||||
#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION
|
||||
test_tricky(&tricky_members::const_ref_proc);
|
||||
#ifndef BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE
|
||||
test_tricky(&tricky_members::noexcept_proc);
|
||||
|
@ -31,7 +31,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<foo0_t>::value, false);
|
||||
#ifdef BOOST_TT_TEST_MS_FUNC_SIGS
|
||||
typedef void (__stdcall test_abc1::*scall_proc)();
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<scall_proc>::value, true);
|
||||
#ifndef __CLR_VER
|
||||
#ifndef _MANAGED
|
||||
typedef void (__fastcall test_abc1::*fcall_proc)(int);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_member_pointer<fcall_proc>::value, true);
|
||||
#endif
|
||||
|
@ -177,7 +177,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char16_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<char32_t>::value, true);
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<boost::int128_type>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_pod<boost::uint128_type>::value, true);
|
||||
#endif
|
||||
|
@ -156,7 +156,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<char16_t>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<char32_t>::value, true);
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<boost::int128_type>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_scalar<boost::uint128_type>::value, true);
|
||||
#endif
|
||||
|
@ -33,7 +33,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int&&>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int*>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<int[2]>::value, false);
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<boost::int128_type>::value, true);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_signed<boost::uint128_type>::value, false);
|
||||
#endif
|
||||
|
@ -33,7 +33,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned&&>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned*>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<unsigned[2]>::value, false);
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<boost::int128_type>::value, false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_unsigned<boost::uint128_type>::value, true);
|
||||
#endif
|
||||
|
@ -95,7 +95,7 @@ BOOST_CHECK_TYPE(::tt::make_signed<const volatile boost::ulong_long_type>::type,
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_CHECK_TYPE(::tt::make_signed<const volatile unsigned __int64>::type, const volatile __int64);
|
||||
#endif
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_TYPE(::tt::make_signed<boost::int128_type>::type, boost::int128_type);
|
||||
BOOST_CHECK_TYPE(::tt::make_signed<boost::uint128_type>::type, boost::int128_type);
|
||||
#endif
|
||||
|
@ -95,7 +95,7 @@ BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile boost::ulong_long_type>::typ
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_CHECK_TYPE(::tt::make_unsigned<const volatile unsigned __int64>::type, const volatile unsigned __int64);
|
||||
#endif
|
||||
#ifdef BOOST_HAS_INT128
|
||||
#if defined(BOOST_HAS_INT128) && !defined(TEST_CUDA_DEVICE)
|
||||
BOOST_CHECK_TYPE(::tt::make_unsigned<boost::int128_type>::type, boost::uint128_type);
|
||||
BOOST_CHECK_TYPE(::tt::make_unsigned<boost::uint128_type>::type, boost::uint128_type);
|
||||
#endif
|
||||
|
@ -18,6 +18,10 @@
|
||||
#include <iostream>
|
||||
#include <typeinfo>
|
||||
|
||||
#ifdef TEST_CUDA_DEVICE
|
||||
#define TEST_VIA_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_BORLANDC
|
||||
// we have to turn off these warnings otherwise we get swamped by the things:
|
||||
#pragma option -w-8008 -w-8066
|
||||
@ -85,6 +89,9 @@ int error_count = 0;
|
||||
#define BOOST_TEST_MESSAGE(message)\
|
||||
do{ std::cout << __FILE__ << ":" << __LINE__ << ": " << message << std::endl; }while(0)
|
||||
|
||||
#ifdef TEST_CUDA_DEVICE
|
||||
#define BOOST_CHECK(pred) pred
|
||||
#else
|
||||
#define BOOST_CHECK(pred)\
|
||||
do{ \
|
||||
if(!(pred)){\
|
||||
@ -92,10 +99,19 @@ int error_count = 0;
|
||||
++error_count;\
|
||||
} \
|
||||
}while(0)
|
||||
#endif
|
||||
|
||||
#ifdef TEST_CUDA_DEVICE
|
||||
#define TT_TEST_BEGIN(trait_name)\
|
||||
__global__ void test_proc(){
|
||||
#define TT_TEST_END }
|
||||
#define BOOST_TT_PROC __device__
|
||||
#else
|
||||
#define TT_TEST_BEGIN(trait_name)\
|
||||
int main(){
|
||||
#define TT_TEST_END return error_count; }
|
||||
#define BOOST_TT_PROC
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_GCC, < 40704)
|
||||
|
||||
@ -145,13 +161,13 @@ int error_count = 0;
|
||||
#define BOOST_DUMMY_MACRO_PARAM /**/
|
||||
|
||||
#define BOOST_DECL_TRANSFORM_TEST(name, type, from, to)\
|
||||
void name(){ TRANSFORM_CHECK(type, from, to) }
|
||||
BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, from, to) }
|
||||
#define BOOST_DECL_TRANSFORM_TEST3(name, type, from)\
|
||||
void name(){ TRANSFORM_CHECK(type, from, BOOST_DUMMY_MACRO_PARAM) }
|
||||
BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, from, BOOST_DUMMY_MACRO_PARAM) }
|
||||
#define BOOST_DECL_TRANSFORM_TEST2(name, type, to)\
|
||||
void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, to) }
|
||||
BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, to) }
|
||||
#define BOOST_DECL_TRANSFORM_TEST0(name, type)\
|
||||
void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, BOOST_DUMMY_MACRO_PARAM) }
|
||||
BOOST_TT_PROC void name(){ TRANSFORM_CHECK(type, BOOST_DUMMY_MACRO_PARAM, BOOST_DUMMY_MACRO_PARAM) }
|
||||
|
||||
|
||||
|
||||
|
@ -54,11 +54,14 @@ TT_TEST_BEGIN(tricky_partial_specialization_test)
|
||||
// corner cases which don't compile without partial specialization
|
||||
// support:
|
||||
//
|
||||
#ifndef TEST_VIA_STATIC_ASSERT
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char&>::value, ALIGNOF(void*));
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char (&)(int)>::value, ALIGNOF(void*));
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT(::tt::alignment_of<char(&)[4]>::value, ALIGNOF(void*));
|
||||
|
||||
#endif
|
||||
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&,Derived>::value), false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base&,Derived&>::value), false);
|
||||
BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_base_of<Base,Derived&>::value), false);
|
||||
|
@ -25,7 +25,7 @@ struct __declspec(align(64)) a64 { char m[64]; };
|
||||
struct __declspec(align(128)) a128 { char m[128]; };
|
||||
#endif
|
||||
|
||||
#ifdef __CLR_VER
|
||||
#ifdef _MANAGED
|
||||
#pragma warning(disable:4793) // vaarg function
|
||||
#endif
|
||||
|
||||
@ -69,6 +69,9 @@ BOOST_CHECK(::tt::is_pod<\
|
||||
|
||||
TT_TEST_BEGIN(type_with_alignment)
|
||||
|
||||
// Nothing we can really test on the CUDA device:
|
||||
#ifndef TEST_CUDA_DEVICE
|
||||
|
||||
TYPE_WITH_ALIGNMENT_TEST_EX(char)
|
||||
TYPE_WITH_ALIGNMENT_TEST_EX(short)
|
||||
TYPE_WITH_ALIGNMENT_TEST_EX(int)
|
||||
@ -104,6 +107,8 @@ TYPE_WITH_ALIGNMENT_TEST(a16)
|
||||
TYPE_WITH_ALIGNMENT_TEST(a32)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
TT_TEST_END
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user