Thanks for using Compiler Explorer
Sponsors
Jakt
C++
Ada
Analysis
Android Java
Android Kotlin
Assembly
C
C3
Carbon
C++ (Circle)
CIRCT
Clean
CMake
CMakeScript
COBOL
C++ for OpenCL
MLIR
Cppx
Cppx-Blue
Cppx-Gold
Cpp2-cppfront
Crystal
C#
CUDA C++
D
Dart
Elixir
Erlang
Fortran
F#
GLSL
Go
Haskell
HLSL
Hook
Hylo
IL
ispc
Java
Julia
Kotlin
LLVM IR
LLVM MIR
Modula-2
Nim
Objective-C
Objective-C++
OCaml
OpenCL C
Pascal
Pony
Python
Racket
Ruby
Rust
Snowball
Scala
Solidity
Spice
SPIR-V
Swift
LLVM TableGen
Toit
TypeScript Native
V
Vala
Visual Basic
Vyper
WASM
Zig
Javascript
GIMPLE
Ygen
c++ source #1
Output
Compile to binary object
Link to binary
Execute the code
Intel asm syntax
Demangle identifiers
Verbose demangling
Filters
Unused labels
Library functions
Directives
Comments
Horizontal whitespace
Debug intrinsics
Compiler
6502-c++ 11.1.0
ARM GCC 10.2.0
ARM GCC 10.3.0
ARM GCC 10.4.0
ARM GCC 10.5.0
ARM GCC 11.1.0
ARM GCC 11.2.0
ARM GCC 11.3.0
ARM GCC 11.4.0
ARM GCC 12.1.0
ARM GCC 12.2.0
ARM GCC 12.3.0
ARM GCC 12.4.0
ARM GCC 13.1.0
ARM GCC 13.2.0
ARM GCC 13.2.0 (unknown-eabi)
ARM GCC 13.3.0
ARM GCC 13.3.0 (unknown-eabi)
ARM GCC 14.1.0
ARM GCC 14.1.0 (unknown-eabi)
ARM GCC 14.2.0
ARM GCC 14.2.0 (unknown-eabi)
ARM GCC 4.5.4
ARM GCC 4.6.4
ARM GCC 5.4
ARM GCC 6.3.0
ARM GCC 6.4.0
ARM GCC 7.3.0
ARM GCC 7.5.0
ARM GCC 8.2.0
ARM GCC 8.5.0
ARM GCC 9.3.0
ARM GCC 9.4.0
ARM GCC 9.5.0
ARM GCC trunk
ARM gcc 10.2.1 (none)
ARM gcc 10.3.1 (2021.07 none)
ARM gcc 10.3.1 (2021.10 none)
ARM gcc 11.2.1 (none)
ARM gcc 5.4.1 (none)
ARM gcc 7.2.1 (none)
ARM gcc 8.2 (WinCE)
ARM gcc 8.3.1 (none)
ARM gcc 9.2.1 (none)
ARM msvc v19.0 (WINE)
ARM msvc v19.10 (WINE)
ARM msvc v19.14 (WINE)
ARM64 Morello gcc 10.1 Alpha 2
ARM64 gcc 10.2
ARM64 gcc 10.3
ARM64 gcc 10.4
ARM64 gcc 10.5.0
ARM64 gcc 11.1
ARM64 gcc 11.2
ARM64 gcc 11.3
ARM64 gcc 11.4.0
ARM64 gcc 12.1
ARM64 gcc 12.2.0
ARM64 gcc 12.3.0
ARM64 gcc 12.4.0
ARM64 gcc 13.1.0
ARM64 gcc 13.2.0
ARM64 gcc 13.3.0
ARM64 gcc 14.1.0
ARM64 gcc 14.2.0
ARM64 gcc 4.9.4
ARM64 gcc 5.4
ARM64 gcc 5.5.0
ARM64 gcc 6.3
ARM64 gcc 6.4
ARM64 gcc 7.3
ARM64 gcc 7.5
ARM64 gcc 8.2
ARM64 gcc 8.5
ARM64 gcc 9.3
ARM64 gcc 9.4
ARM64 gcc 9.5
ARM64 gcc trunk
ARM64 msvc v19.14 (WINE)
AVR gcc 10.3.0
AVR gcc 11.1.0
AVR gcc 12.1.0
AVR gcc 12.2.0
AVR gcc 12.3.0
AVR gcc 12.4.0
AVR gcc 13.1.0
AVR gcc 13.2.0
AVR gcc 13.3.0
AVR gcc 14.1.0
AVR gcc 14.2.0
AVR gcc 4.5.4
AVR gcc 4.6.4
AVR gcc 5.4.0
AVR gcc 9.2.0
AVR gcc 9.3.0
Arduino Mega (1.8.9)
Arduino Uno (1.8.9)
BPF clang (trunk)
BPF clang 13.0.0
BPF clang 14.0.0
BPF clang 15.0.0
BPF clang 16.0.0
BPF clang 17.0.1
BPF clang 18.1.0
BPF clang 19.1.0
BPF gcc 13.1.0
BPF gcc 13.2.0
BPF gcc 13.3.0
BPF gcc trunk
EDG (experimental reflection)
EDG 6.5
EDG 6.5 (GNU mode gcc 13)
EDG 6.6
EDG 6.6 (GNU mode gcc 13)
FRC 2019
FRC 2020
FRC 2023
HPPA gcc 14.2.0
KVX ACB 4.1.0 (GCC 7.5.0)
KVX ACB 4.1.0-cd1 (GCC 7.5.0)
KVX ACB 4.10.0 (GCC 10.3.1)
KVX ACB 4.11.1 (GCC 10.3.1)
KVX ACB 4.12.0 (GCC 11.3.0)
KVX ACB 4.2.0 (GCC 7.5.0)
KVX ACB 4.3.0 (GCC 7.5.0)
KVX ACB 4.4.0 (GCC 7.5.0)
KVX ACB 4.6.0 (GCC 9.4.1)
KVX ACB 4.8.0 (GCC 9.4.1)
KVX ACB 4.9.0 (GCC 9.4.1)
KVX ACB 5.0.0 (GCC 12.2.1)
KVX ACB 5.2.0 (GCC 13.2.1)
LoongArch64 clang (trunk)
LoongArch64 clang 17.0.1
LoongArch64 clang 18.1.0
LoongArch64 clang 19.1.0
M68K gcc 13.1.0
M68K gcc 13.2.0
M68K gcc 13.3.0
M68K gcc 14.1.0
M68K gcc 14.2.0
M68k clang (trunk)
MRISC32 gcc (trunk)
MSP430 gcc 4.5.3
MSP430 gcc 5.3.0
MSP430 gcc 6.2.1
MinGW clang 14.0.3
MinGW clang 14.0.6
MinGW clang 15.0.7
MinGW clang 16.0.0
MinGW clang 16.0.2
MinGW gcc 11.3.0
MinGW gcc 12.1.0
MinGW gcc 12.2.0
MinGW gcc 13.1.0
RISC-V (32-bits) gcc (trunk)
RISC-V (32-bits) gcc 10.2.0
RISC-V (32-bits) gcc 10.3.0
RISC-V (32-bits) gcc 11.2.0
RISC-V (32-bits) gcc 11.3.0
RISC-V (32-bits) gcc 11.4.0
RISC-V (32-bits) gcc 12.1.0
RISC-V (32-bits) gcc 12.2.0
RISC-V (32-bits) gcc 12.3.0
RISC-V (32-bits) gcc 12.4.0
RISC-V (32-bits) gcc 13.1.0
RISC-V (32-bits) gcc 13.2.0
RISC-V (32-bits) gcc 13.3.0
RISC-V (32-bits) gcc 14.1.0
RISC-V (32-bits) gcc 14.2.0
RISC-V (32-bits) gcc 8.2.0
RISC-V (32-bits) gcc 8.5.0
RISC-V (32-bits) gcc 9.4.0
RISC-V (64-bits) gcc (trunk)
RISC-V (64-bits) gcc 10.2.0
RISC-V (64-bits) gcc 10.3.0
RISC-V (64-bits) gcc 11.2.0
RISC-V (64-bits) gcc 11.3.0
RISC-V (64-bits) gcc 11.4.0
RISC-V (64-bits) gcc 12.1.0
RISC-V (64-bits) gcc 12.2.0
RISC-V (64-bits) gcc 12.3.0
RISC-V (64-bits) gcc 12.4.0
RISC-V (64-bits) gcc 13.1.0
RISC-V (64-bits) gcc 13.2.0
RISC-V (64-bits) gcc 13.3.0
RISC-V (64-bits) gcc 14.1.0
RISC-V (64-bits) gcc 14.2.0
RISC-V (64-bits) gcc 8.2.0
RISC-V (64-bits) gcc 8.5.0
RISC-V (64-bits) gcc 9.4.0
RISC-V rv32gc clang (trunk)
RISC-V rv32gc clang 10.0.0
RISC-V rv32gc clang 10.0.1
RISC-V rv32gc clang 11.0.0
RISC-V rv32gc clang 11.0.1
RISC-V rv32gc clang 12.0.0
RISC-V rv32gc clang 12.0.1
RISC-V rv32gc clang 13.0.0
RISC-V rv32gc clang 13.0.1
RISC-V rv32gc clang 14.0.0
RISC-V rv32gc clang 15.0.0
RISC-V rv32gc clang 16.0.0
RISC-V rv32gc clang 17.0.1
RISC-V rv32gc clang 18.1.0
RISC-V rv32gc clang 19.1.0
RISC-V rv32gc clang 9.0.0
RISC-V rv32gc clang 9.0.1
RISC-V rv64gc clang (trunk)
RISC-V rv64gc clang 10.0.0
RISC-V rv64gc clang 10.0.1
RISC-V rv64gc clang 11.0.0
RISC-V rv64gc clang 11.0.1
RISC-V rv64gc clang 12.0.0
RISC-V rv64gc clang 12.0.1
RISC-V rv64gc clang 13.0.0
RISC-V rv64gc clang 13.0.1
RISC-V rv64gc clang 14.0.0
RISC-V rv64gc clang 15.0.0
RISC-V rv64gc clang 16.0.0
RISC-V rv64gc clang 17.0.1
RISC-V rv64gc clang 18.1.0
RISC-V rv64gc clang 19.1.0
RISC-V rv64gc clang 9.0.0
RISC-V rv64gc clang 9.0.1
Raspbian Buster
Raspbian Stretch
SPARC LEON gcc 12.2.0
SPARC LEON gcc 12.3.0
SPARC LEON gcc 12.4.0
SPARC LEON gcc 13.1.0
SPARC LEON gcc 13.2.0
SPARC LEON gcc 13.3.0
SPARC LEON gcc 14.1.0
SPARC LEON gcc 14.2.0
SPARC gcc 12.2.0
SPARC gcc 12.3.0
SPARC gcc 12.4.0
SPARC gcc 13.1.0
SPARC gcc 13.2.0
SPARC gcc 13.3.0
SPARC gcc 14.1.0
SPARC gcc 14.2.0
SPARC64 gcc 12.2.0
SPARC64 gcc 12.3.0
SPARC64 gcc 12.4.0
SPARC64 gcc 13.1.0
SPARC64 gcc 13.2.0
SPARC64 gcc 13.3.0
SPARC64 gcc 14.1.0
SPARC64 gcc 14.2.0
TI C6x gcc 12.2.0
TI C6x gcc 12.3.0
TI C6x gcc 12.4.0
TI C6x gcc 13.1.0
TI C6x gcc 13.2.0
TI C6x gcc 13.3.0
TI C6x gcc 14.1.0
TI C6x gcc 14.2.0
TI CL430 21.6.1
VAX gcc NetBSDELF 10.4.0
VAX gcc NetBSDELF 10.5.0 (Nov 15 03:50:22 2023)
WebAssembly clang (trunk)
Xtensa ESP32 gcc 11.2.0 (2022r1)
Xtensa ESP32 gcc 12.2.0 (20230208)
Xtensa ESP32 gcc 8.2.0 (2019r2)
Xtensa ESP32 gcc 8.2.0 (2020r1)
Xtensa ESP32 gcc 8.2.0 (2020r2)
Xtensa ESP32 gcc 8.4.0 (2020r3)
Xtensa ESP32 gcc 8.4.0 (2021r1)
Xtensa ESP32 gcc 8.4.0 (2021r2)
Xtensa ESP32-S2 gcc 11.2.0 (2022r1)
Xtensa ESP32-S2 gcc 12.2.0 (20230208)
Xtensa ESP32-S2 gcc 8.2.0 (2019r2)
Xtensa ESP32-S2 gcc 8.2.0 (2020r1)
Xtensa ESP32-S2 gcc 8.2.0 (2020r2)
Xtensa ESP32-S2 gcc 8.4.0 (2020r3)
Xtensa ESP32-S2 gcc 8.4.0 (2021r1)
Xtensa ESP32-S2 gcc 8.4.0 (2021r2)
Xtensa ESP32-S3 gcc 11.2.0 (2022r1)
Xtensa ESP32-S3 gcc 12.2.0 (20230208)
Xtensa ESP32-S3 gcc 8.4.0 (2020r3)
Xtensa ESP32-S3 gcc 8.4.0 (2021r1)
Xtensa ESP32-S3 gcc 8.4.0 (2021r2)
arm64 msvc v19.20 VS16.0
arm64 msvc v19.21 VS16.1
arm64 msvc v19.22 VS16.2
arm64 msvc v19.23 VS16.3
arm64 msvc v19.24 VS16.4
arm64 msvc v19.25 VS16.5
arm64 msvc v19.27 VS16.7
arm64 msvc v19.28 VS16.8
arm64 msvc v19.28 VS16.9
arm64 msvc v19.29 VS16.10
arm64 msvc v19.29 VS16.11
arm64 msvc v19.30 VS17.0
arm64 msvc v19.31 VS17.1
arm64 msvc v19.32 VS17.2
arm64 msvc v19.33 VS17.3
arm64 msvc v19.34 VS17.4
arm64 msvc v19.35 VS17.5
arm64 msvc v19.36 VS17.6
arm64 msvc v19.37 VS17.7
arm64 msvc v19.38 VS17.8
arm64 msvc v19.39 VS17.9
arm64 msvc v19.40 VS17.10
arm64 msvc v19.latest
armv7-a clang (trunk)
armv7-a clang 10.0.0
armv7-a clang 10.0.1
armv7-a clang 11.0.0
armv7-a clang 11.0.1
armv7-a clang 12.0.0
armv7-a clang 12.0.1
armv7-a clang 13.0.0
armv7-a clang 13.0.1
armv7-a clang 14.0.0
armv7-a clang 15.0.0
armv7-a clang 16.0.0
armv7-a clang 17.0.1
armv7-a clang 18.1.0
armv7-a clang 19.1.0
armv7-a clang 9.0.0
armv7-a clang 9.0.1
armv8-a clang (all architectural features, trunk)
armv8-a clang (trunk)
armv8-a clang 10.0.0
armv8-a clang 10.0.1
armv8-a clang 11.0.0
armv8-a clang 11.0.1
armv8-a clang 12.0.0
armv8-a clang 13.0.0
armv8-a clang 14.0.0
armv8-a clang 15.0.0
armv8-a clang 16.0.0
armv8-a clang 17.0.1
armv8-a clang 18.1.0
armv8-a clang 19.1.0
armv8-a clang 9.0.0
armv8-a clang 9.0.1
clang-cl 18.1.0
ellcc 0.1.33
ellcc 0.1.34
ellcc 2017-07-16
hexagon-clang 16.0.5
llvm-mos atari2600-3e
llvm-mos atari2600-4k
llvm-mos atari2600-common
llvm-mos atari5200-supercart
llvm-mos atari8-cart-megacart
llvm-mos atari8-cart-std
llvm-mos atari8-cart-xegs
llvm-mos atari8-common
llvm-mos atari8-dos
llvm-mos c128
llvm-mos c64
llvm-mos commodore
llvm-mos cpm65
llvm-mos cx16
llvm-mos dodo
llvm-mos eater
llvm-mos mega65
llvm-mos nes
llvm-mos nes-action53
llvm-mos nes-cnrom
llvm-mos nes-gtrom
llvm-mos nes-mmc1
llvm-mos nes-mmc3
llvm-mos nes-nrom
llvm-mos nes-unrom
llvm-mos nes-unrom-512
llvm-mos osi-c1p
llvm-mos pce
llvm-mos pce-cd
llvm-mos pce-common
llvm-mos pet
llvm-mos rp6502
llvm-mos rpc8e
llvm-mos supervision
llvm-mos vic20
loongarch64 gcc 12.2.0
loongarch64 gcc 12.3.0
loongarch64 gcc 12.4.0
loongarch64 gcc 13.1.0
loongarch64 gcc 13.2.0
loongarch64 gcc 13.3.0
loongarch64 gcc 14.1.0
loongarch64 gcc 14.2.0
mips clang 13.0.0
mips clang 14.0.0
mips clang 15.0.0
mips clang 16.0.0
mips clang 17.0.1
mips clang 18.1.0
mips clang 19.1.0
mips gcc 11.2.0
mips gcc 12.1.0
mips gcc 12.2.0
mips gcc 12.3.0
mips gcc 12.4.0
mips gcc 13.1.0
mips gcc 13.2.0
mips gcc 13.3.0
mips gcc 14.1.0
mips gcc 14.2.0
mips gcc 4.9.4
mips gcc 5.4
mips gcc 5.5.0
mips gcc 9.3.0 (codescape)
mips gcc 9.5.0
mips64 (el) gcc 12.1.0
mips64 (el) gcc 12.2.0
mips64 (el) gcc 12.3.0
mips64 (el) gcc 12.4.0
mips64 (el) gcc 13.1.0
mips64 (el) gcc 13.2.0
mips64 (el) gcc 13.3.0
mips64 (el) gcc 14.1.0
mips64 (el) gcc 14.2.0
mips64 (el) gcc 4.9.4
mips64 (el) gcc 5.4.0
mips64 (el) gcc 5.5.0
mips64 (el) gcc 9.5.0
mips64 clang 13.0.0
mips64 clang 14.0.0
mips64 clang 15.0.0
mips64 clang 16.0.0
mips64 clang 17.0.1
mips64 clang 18.1.0
mips64 clang 19.1.0
mips64 gcc 11.2.0
mips64 gcc 12.1.0
mips64 gcc 12.2.0
mips64 gcc 12.3.0
mips64 gcc 12.4.0
mips64 gcc 13.1.0
mips64 gcc 13.2.0
mips64 gcc 13.3.0
mips64 gcc 14.1.0
mips64 gcc 14.2.0
mips64 gcc 4.9.4
mips64 gcc 5.4.0
mips64 gcc 5.5.0
mips64 gcc 9.5.0
mips64el clang 13.0.0
mips64el clang 14.0.0
mips64el clang 15.0.0
mips64el clang 16.0.0
mips64el clang 17.0.1
mips64el clang 18.1.0
mips64el clang 19.1.0
mipsel clang 13.0.0
mipsel clang 14.0.0
mipsel clang 15.0.0
mipsel clang 16.0.0
mipsel clang 17.0.1
mipsel clang 18.1.0
mipsel clang 19.1.0
mipsel gcc 12.1.0
mipsel gcc 12.2.0
mipsel gcc 12.3.0
mipsel gcc 12.4.0
mipsel gcc 13.1.0
mipsel gcc 13.2.0
mipsel gcc 13.3.0
mipsel gcc 14.1.0
mipsel gcc 14.2.0
mipsel gcc 4.9.4
mipsel gcc 5.4.0
mipsel gcc 5.5.0
mipsel gcc 9.5.0
nanoMIPS gcc 6.3.0 (mtk)
power gcc 11.2.0
power gcc 12.1.0
power gcc 12.2.0
power gcc 12.3.0
power gcc 12.4.0
power gcc 13.1.0
power gcc 13.2.0
power gcc 13.3.0
power gcc 14.1.0
power gcc 14.2.0
power gcc 4.8.5
power64 AT12.0 (gcc8)
power64 AT13.0 (gcc9)
power64 gcc 11.2.0
power64 gcc 12.1.0
power64 gcc 12.2.0
power64 gcc 12.3.0
power64 gcc 12.4.0
power64 gcc 13.1.0
power64 gcc 13.2.0
power64 gcc 13.3.0
power64 gcc 14.1.0
power64 gcc 14.2.0
power64 gcc trunk
power64le AT12.0 (gcc8)
power64le AT13.0 (gcc9)
power64le clang (trunk)
power64le gcc 11.2.0
power64le gcc 12.1.0
power64le gcc 12.2.0
power64le gcc 12.3.0
power64le gcc 12.4.0
power64le gcc 13.1.0
power64le gcc 13.2.0
power64le gcc 13.3.0
power64le gcc 14.1.0
power64le gcc 14.2.0
power64le gcc 6.3.0
power64le gcc trunk
powerpc64 clang (trunk)
s390x gcc 11.2.0
s390x gcc 12.1.0
s390x gcc 12.2.0
s390x gcc 12.3.0
s390x gcc 12.4.0
s390x gcc 13.1.0
s390x gcc 13.2.0
s390x gcc 13.3.0
s390x gcc 14.1.0
s390x gcc 14.2.0
sh gcc 12.2.0
sh gcc 12.3.0
sh gcc 12.4.0
sh gcc 13.1.0
sh gcc 13.2.0
sh gcc 13.3.0
sh gcc 14.1.0
sh gcc 14.2.0
sh gcc 4.9.4
sh gcc 9.5.0
vast (trunk)
x64 msvc v19.0 (WINE)
x64 msvc v19.10 (WINE)
x64 msvc v19.14 (WINE)
x64 msvc v19.20 VS16.0
x64 msvc v19.21 VS16.1
x64 msvc v19.22 VS16.2
x64 msvc v19.23 VS16.3
x64 msvc v19.24 VS16.4
x64 msvc v19.25 VS16.5
x64 msvc v19.27 VS16.7
x64 msvc v19.28 VS16.8
x64 msvc v19.28 VS16.9
x64 msvc v19.29 VS16.10
x64 msvc v19.29 VS16.11
x64 msvc v19.30 VS17.0
x64 msvc v19.31 VS17.1
x64 msvc v19.32 VS17.2
x64 msvc v19.33 VS17.3
x64 msvc v19.34 VS17.4
x64 msvc v19.35 VS17.5
x64 msvc v19.36 VS17.6
x64 msvc v19.37 VS17.7
x64 msvc v19.38 VS17.8
x64 msvc v19.39 VS17.9
x64 msvc v19.40 VS17.10
x64 msvc v19.latest
x86 djgpp 4.9.4
x86 djgpp 5.5.0
x86 djgpp 6.4.0
x86 djgpp 7.2.0
x86 msvc v19.0 (WINE)
x86 msvc v19.10 (WINE)
x86 msvc v19.14 (WINE)
x86 msvc v19.20 VS16.0
x86 msvc v19.21 VS16.1
x86 msvc v19.22 VS16.2
x86 msvc v19.23 VS16.3
x86 msvc v19.24 VS16.4
x86 msvc v19.25 VS16.5
x86 msvc v19.27 VS16.7
x86 msvc v19.28 VS16.8
x86 msvc v19.28 VS16.9
x86 msvc v19.29 VS16.10
x86 msvc v19.29 VS16.11
x86 msvc v19.30 VS17.0
x86 msvc v19.31 VS17.1
x86 msvc v19.32 VS17.2
x86 msvc v19.33 VS17.3
x86 msvc v19.34 VS17.4
x86 msvc v19.35 VS17.5
x86 msvc v19.36 VS17.6
x86 msvc v19.37 VS17.7
x86 msvc v19.38 VS17.8
x86 msvc v19.39 VS17.9
x86 msvc v19.40 VS17.10
x86 msvc v19.latest
x86 nvc++ 22.11
x86 nvc++ 22.7
x86 nvc++ 22.9
x86 nvc++ 23.1
x86 nvc++ 23.11
x86 nvc++ 23.3
x86 nvc++ 23.5
x86 nvc++ 23.7
x86 nvc++ 23.9
x86 nvc++ 24.1
x86 nvc++ 24.11
x86 nvc++ 24.3
x86 nvc++ 24.5
x86 nvc++ 24.7
x86 nvc++ 24.9
x86-64 Zapcc 190308
x86-64 clang (EricWF contracts)
x86-64 clang (amd-staging)
x86-64 clang (assertions trunk)
x86-64 clang (clangir)
x86-64 clang (dascandy contracts)
x86-64 clang (experimental -Wlifetime)
x86-64 clang (experimental P1061)
x86-64 clang (experimental P1144)
x86-64 clang (experimental P1221)
x86-64 clang (experimental P2996)
x86-64 clang (experimental P3068)
x86-64 clang (experimental P3309)
x86-64 clang (experimental P3367)
x86-64 clang (experimental P3372)
x86-64 clang (experimental metaprogramming - P2632)
x86-64 clang (old concepts branch)
x86-64 clang (p1974)
x86-64 clang (pattern matching - P2688)
x86-64 clang (reflection)
x86-64 clang (resugar)
x86-64 clang (string interpolation - P3412)
x86-64 clang (thephd.dev)
x86-64 clang (trunk)
x86-64 clang (variadic friends - P2893)
x86-64 clang (widberg)
x86-64 clang 10.0.0
x86-64 clang 10.0.0 (assertions)
x86-64 clang 10.0.1
x86-64 clang 11.0.0
x86-64 clang 11.0.0 (assertions)
x86-64 clang 11.0.1
x86-64 clang 12.0.0
x86-64 clang 12.0.0 (assertions)
x86-64 clang 12.0.1
x86-64 clang 13.0.0
x86-64 clang 13.0.0 (assertions)
x86-64 clang 13.0.1
x86-64 clang 14.0.0
x86-64 clang 14.0.0 (assertions)
x86-64 clang 15.0.0
x86-64 clang 15.0.0 (assertions)
x86-64 clang 16.0.0
x86-64 clang 16.0.0 (assertions)
x86-64 clang 17.0.1
x86-64 clang 17.0.1 (assertions)
x86-64 clang 18.1.0
x86-64 clang 18.1.0 (assertions)
x86-64 clang 19.1.0
x86-64 clang 19.1.0 (assertions)
x86-64 clang 2.6.0 (assertions)
x86-64 clang 2.7.0 (assertions)
x86-64 clang 2.8.0 (assertions)
x86-64 clang 2.9.0 (assertions)
x86-64 clang 3.0.0
x86-64 clang 3.0.0 (assertions)
x86-64 clang 3.1
x86-64 clang 3.1 (assertions)
x86-64 clang 3.2
x86-64 clang 3.2 (assertions)
x86-64 clang 3.3
x86-64 clang 3.3 (assertions)
x86-64 clang 3.4 (assertions)
x86-64 clang 3.4.1
x86-64 clang 3.5
x86-64 clang 3.5 (assertions)
x86-64 clang 3.5.1
x86-64 clang 3.5.2
x86-64 clang 3.6
x86-64 clang 3.6 (assertions)
x86-64 clang 3.7
x86-64 clang 3.7 (assertions)
x86-64 clang 3.7.1
x86-64 clang 3.8
x86-64 clang 3.8 (assertions)
x86-64 clang 3.8.1
x86-64 clang 3.9.0
x86-64 clang 3.9.0 (assertions)
x86-64 clang 3.9.1
x86-64 clang 4.0.0
x86-64 clang 4.0.0 (assertions)
x86-64 clang 4.0.1
x86-64 clang 5.0.0
x86-64 clang 5.0.0 (assertions)
x86-64 clang 5.0.1
x86-64 clang 5.0.2
x86-64 clang 6.0.0
x86-64 clang 6.0.0 (assertions)
x86-64 clang 6.0.1
x86-64 clang 7.0.0
x86-64 clang 7.0.0 (assertions)
x86-64 clang 7.0.1
x86-64 clang 7.1.0
x86-64 clang 8.0.0
x86-64 clang 8.0.0 (assertions)
x86-64 clang 8.0.1
x86-64 clang 9.0.0
x86-64 clang 9.0.0 (assertions)
x86-64 clang 9.0.1
x86-64 clang rocm-4.5.2
x86-64 clang rocm-5.0.2
x86-64 clang rocm-5.1.3
x86-64 clang rocm-5.2.3
x86-64 clang rocm-5.3.3
x86-64 clang rocm-5.7.0
x86-64 clang rocm-6.0.2
x86-64 clang rocm-6.1.2
x86-64 gcc (contract labels)
x86-64 gcc (contracts natural syntax)
x86-64 gcc (contracts)
x86-64 gcc (coroutines)
x86-64 gcc (modules)
x86-64 gcc (trunk)
x86-64 gcc 10.1
x86-64 gcc 10.2
x86-64 gcc 10.3
x86-64 gcc 10.4
x86-64 gcc 10.5
x86-64 gcc 11.1
x86-64 gcc 11.2
x86-64 gcc 11.3
x86-64 gcc 11.4
x86-64 gcc 12.1
x86-64 gcc 12.2
x86-64 gcc 12.3
x86-64 gcc 12.4
x86-64 gcc 13.1
x86-64 gcc 13.2
x86-64 gcc 13.3
x86-64 gcc 14.1
x86-64 gcc 14.2
x86-64 gcc 3.4.6
x86-64 gcc 4.0.4
x86-64 gcc 4.1.2
x86-64 gcc 4.4.7
x86-64 gcc 4.5.3
x86-64 gcc 4.6.4
x86-64 gcc 4.7.1
x86-64 gcc 4.7.2
x86-64 gcc 4.7.3
x86-64 gcc 4.7.4
x86-64 gcc 4.8.1
x86-64 gcc 4.8.2
x86-64 gcc 4.8.3
x86-64 gcc 4.8.4
x86-64 gcc 4.8.5
x86-64 gcc 4.9.0
x86-64 gcc 4.9.1
x86-64 gcc 4.9.2
x86-64 gcc 4.9.3
x86-64 gcc 4.9.4
x86-64 gcc 5.1
x86-64 gcc 5.2
x86-64 gcc 5.3
x86-64 gcc 5.4
x86-64 gcc 5.5
x86-64 gcc 6.1
x86-64 gcc 6.2
x86-64 gcc 6.3
x86-64 gcc 6.4
x86-64 gcc 6.5
x86-64 gcc 7.1
x86-64 gcc 7.2
x86-64 gcc 7.3
x86-64 gcc 7.4
x86-64 gcc 7.5
x86-64 gcc 8.1
x86-64 gcc 8.2
x86-64 gcc 8.3
x86-64 gcc 8.4
x86-64 gcc 8.5
x86-64 gcc 9.1
x86-64 gcc 9.2
x86-64 gcc 9.3
x86-64 gcc 9.4
x86-64 gcc 9.5
x86-64 icc 13.0.1
x86-64 icc 16.0.3
x86-64 icc 17.0.0
x86-64 icc 18.0.0
x86-64 icc 19.0.0
x86-64 icc 19.0.1
x86-64 icc 2021.1.2
x86-64 icc 2021.10.0
x86-64 icc 2021.2.0
x86-64 icc 2021.3.0
x86-64 icc 2021.4.0
x86-64 icc 2021.5.0
x86-64 icc 2021.6.0
x86-64 icc 2021.7.0
x86-64 icc 2021.7.1
x86-64 icc 2021.8.0
x86-64 icc 2021.9.0
x86-64 icx 2021.1.2
x86-64 icx 2021.2.0
x86-64 icx 2021.3.0
x86-64 icx 2021.4.0
x86-64 icx 2022.0.0
x86-64 icx 2022.1.0
x86-64 icx 2022.2.0
x86-64 icx 2022.2.1
x86-64 icx 2023.0.0
x86-64 icx 2023.1.0
x86-64 icx 2023.2.1
x86-64 icx 2024.0.0
x86-64 icx 2024.1.0
x86-64 icx 2024.2.0
x86-64 icx 2025.0.0
x86-64 icx 2025.0.0
zig c++ 0.10.0
zig c++ 0.11.0
zig c++ 0.12.0
zig c++ 0.12.1
zig c++ 0.13.0
zig c++ 0.6.0
zig c++ 0.7.0
zig c++ 0.7.1
zig c++ 0.8.0
zig c++ 0.9.0
zig c++ trunk
Options
Source code
# 1 "sample.cpp" # 1 "<built-in>" 1 # 1 "<built-in>" 3 # 465 "<built-in>" 3 # 1 "<command line>" 1 # 1 "<built-in>" 2 # 1 "sample.cpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 1 3 # 921 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__assert" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__assert" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config_site" 1 3 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config_site" 3 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wmacro-redefined" #pragma clang diagnostic pop # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 2 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 3 # 458 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/features.h" 1 3 4 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/features.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/cdefs.h" 1 3 4 # 335 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/cdefs.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/versioning.h" 1 3 4 # 336 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/cdefs.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/api-level.h" 1 3 4 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/api-level.h" 3 4 extern "C" { # 202 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/api-level.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/get_device_api_level_inlines.h" 1 3 4 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/get_device_api_level_inlines.h" 3 4 extern "C" { int __system_property_get(const char* _Nonnull __name, char* _Nonnull __value); int atoi(const char* _Nonnull __s) __attribute__((__pure__)); static __inline__ int android_get_device_api_level() { char value[92] = { 0 }; if (__system_property_get("ro.build.version.sdk", value) < 1) return -1; int api_level = atoi(value); return (api_level > 0) ? api_level : -1; } } # 203 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/api-level.h" 2 3 4 # 220 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/api-level.h" 3 4 } # 337 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/cdefs.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/ndk-version.h" 1 3 4 # 339 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/cdefs.h" 2 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/features.h" 2 3 4 # 459 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 2 3 # 1013 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__config" 3 extern "C" __attribute__((__visibility__("default"))) void __sanitizer_annotate_contiguous_container(const void*, const void*, const void*, const void*); extern "C" __attribute__((__visibility__("default"))) void __sanitizer_annotate_double_ended_contiguous_container( const void*, const void*, const void*, const void*, const void*, const void*); extern "C" __attribute__((__visibility__("default"))) int __sanitizer_verify_double_ended_contiguous_container(const void*, const void*, const void*, const void*); # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__assert" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__verbose_abort" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__verbose_abort" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__availability" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__availability" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__verbose_abort" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__verbose_abort" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[noreturn]] __attribute__((__visibility__("default"))) __attribute__((__format__(__printf__, 1, 2))) void __libcpp_verbose_abort(const char* __format, ...); # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__verbose_abort" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__assert" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__assert" 3 # 922 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/addressof.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/addressof.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> inline constexpr __attribute__((__no_sanitize__("cfi"))) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* addressof(_Tp& __x) noexcept { return __builtin_addressof(__x); } # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/addressof.h" 3 template <class _Tp> _Tp* addressof(const _Tp&&) noexcept = delete; }} # 924 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/align.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/align.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 1 3 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/enable_if.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/enable_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool, class _Tp = void> struct enable_if {}; template <class _Tp> struct enable_if<true, _Tp> { typedef _Tp type; }; template <bool _Bp, class _Tp = void> using __enable_if_t __attribute__((__nodebug__)) = typename enable_if<_Bp, _Tp>::type; template <bool _Bp, class _Tp = void> using enable_if_t = typename enable_if<_Bp, _Tp>::type; }} # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/integral_constant.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/integral_constant.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, _Tp __v> struct integral_constant { static constexpr const _Tp value = __v; typedef _Tp value_type; typedef integral_constant type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr operator value_type() const noexcept { return value; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type operator()() const noexcept { return value; } }; template <class _Tp, _Tp __v> constexpr const _Tp integral_constant<_Tp, __v>::value; typedef integral_constant<bool, true> true_type; typedef integral_constant<bool, false> false_type; template <bool _Val> using _BoolConstant __attribute__((__nodebug__)) = integral_constant<bool, _Val>; template <bool __b> using bool_constant = integral_constant<bool, __b>; }} # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_integral.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_integral.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cv.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cv.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_const.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_const.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_const { using type __attribute__((__nodebug__)) = __remove_const(_Tp); }; template <class _Tp> using __remove_const_t = __remove_const(_Tp); # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_const.h" 3 template <class _Tp> using remove_const_t = __remove_const_t<_Tp>; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cv.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_volatile.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_volatile.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_volatile { using type __attribute__((__nodebug__)) = __remove_volatile(_Tp); }; template <class _Tp> using __remove_volatile_t = __remove_volatile(_Tp); # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_volatile.h" 3 template <class _Tp> using remove_volatile_t = __remove_volatile_t<_Tp>; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cv.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cv.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_cv { using type __attribute__((__nodebug__)) = __remove_cv(_Tp); }; template <class _Tp> using __remove_cv_t = __remove_cv(_Tp); # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cv.h" 3 template <class _Tp> using remove_cv_t = __remove_cv_t<_Tp>; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_integral.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_integral.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_integral { enum { value = 0 }; }; template <> struct __libcpp_is_integral<bool> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<char> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<signed char> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<unsigned char> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<wchar_t> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<char16_t> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<char32_t> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<short> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<unsigned short> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<int> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<unsigned int> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<long> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<unsigned long> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<long long> { enum { value = 1 }; }; template <> struct __libcpp_is_integral<unsigned long long> { enum { value = 1 }; }; # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_integral.h" 3 template <class _Tp> struct is_integral : _BoolConstant<__is_integral(_Tp)> {}; template <class _Tp> inline constexpr bool is_integral_v = __is_integral(_Tp); # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_integral.h" 3 }} # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/version" 1 3 # 252 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/version" 3 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 1 3 # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_ptrdiff_t.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_ptrdiff_t.h" 3 typedef int ptrdiff_t; # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_size_t.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_size_t.h" 3 typedef unsigned int size_t; # 78 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_wchar_t.h" 1 3 # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_null.h" 1 3 # 93 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_nullptr_t.h" 1 3 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 107 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_max_align_t.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_max_align_t.h" 3 typedef struct { long long __clang_max_align_nonce1 __attribute__((__aligned__(__alignof__(long long)))); long double __clang_max_align_nonce2 __attribute__((__aligned__(__alignof__(long double)))); } max_align_t; # 108 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stddef_offsetof.h" 1 3 # 113 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stddef.h" 2 3 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 2 3 typedef decltype(nullptr) nullptr_t; # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 2 3 # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstddef" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::nullptr_t; using ::ptrdiff_t __attribute__((__using_if_exists__)); using ::size_t __attribute__((__using_if_exists__)); using ::max_align_t __attribute__((__using_if_exists__)); }} namespace std { enum class byte : unsigned char {}; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte operator|(byte __lhs, byte __rhs) noexcept { return static_cast<byte>( static_cast<unsigned char>(static_cast<unsigned int>(__lhs) | static_cast<unsigned int>(__rhs))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte& operator|=(byte& __lhs, byte __rhs) noexcept { return __lhs = __lhs | __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte operator&(byte __lhs, byte __rhs) noexcept { return static_cast<byte>( static_cast<unsigned char>(static_cast<unsigned int>(__lhs) & static_cast<unsigned int>(__rhs))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte& operator&=(byte& __lhs, byte __rhs) noexcept { return __lhs = __lhs & __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte operator^(byte __lhs, byte __rhs) noexcept { return static_cast<byte>( static_cast<unsigned char>(static_cast<unsigned int>(__lhs) ^ static_cast<unsigned int>(__rhs))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte& operator^=(byte& __lhs, byte __rhs) noexcept { return __lhs = __lhs ^ __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr byte operator~(byte __b) noexcept { return static_cast<byte>(static_cast<unsigned char>(~static_cast<unsigned int>(__b))); } template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr byte& operator<<=(byte& __lhs, _Integer __shift) noexcept { return __lhs = __lhs << __shift; } template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr byte operator<<(byte __lhs, _Integer __shift) noexcept { return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) << __shift)); } template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr byte& operator>>=(byte& __lhs, _Integer __shift) noexcept { return __lhs = __lhs >> __shift; } template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr byte operator>>(byte __lhs, _Integer __shift) noexcept { return static_cast<byte>(static_cast<unsigned char>(static_cast<unsigned int>(__lhs) >> __shift)); } template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Integer to_integer(byte __b) noexcept { return static_cast<_Integer>(__b); } } # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/align.h" 2 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/align.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { __attribute__((__visibility__("default"))) void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space); }} # 925 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocate_at_least.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocate_at_least.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/access.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/access.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, size_t _Np> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* begin(_Tp (&__array)[_Np]) noexcept { return __array; } template <class _Tp, size_t _Np> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* end(_Tp (&__array)[_Np]) noexcept { return __array + _Np; } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto begin(_Cp& __c) -> decltype(__c.begin()) { return __c.begin(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto begin(const _Cp& __c) -> decltype(__c.begin()) { return __c.begin(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto end(_Cp& __c) -> decltype(__c.end()) { return __c.end(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto end(const _Cp& __c) -> decltype(__c.end()) { return __c.end(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto cbegin(const _Cp& __c) noexcept(noexcept(std::begin(__c))) -> decltype(std::begin(__c)) { return std::begin(__c); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto cend(const _Cp& __c) noexcept(noexcept(std::end(__c))) -> decltype(std::end(__c)) { return std::end(__c); } # 93 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/access.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/voidify.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/voidify.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <typename _Tp> __attribute__((__always_inline__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void* __voidify(_Tp& __from) { return const_cast<void*>(static_cast<const volatile void*>(std::addressof(__from))); } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_array.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_array.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_array.h" 3 template <class _Tp> struct is_array : public false_type {}; template <class _Tp> struct is_array<_Tp[]> : public true_type {}; template <class _Tp, size_t _Np> struct is_array<_Tp[_Np]> : public true_type {}; template <class _Tp> inline constexpr bool is_array_v = is_array<_Tp>::value; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/declval.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/declval.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/declval.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/declval.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Tp> _Tp&& __declval(int); template <class _Tp> _Tp __declval(long); #pragma GCC diagnostic pop template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) decltype(std::__declval<_Tp>(0)) declval() noexcept { static_assert(!__is_same(_Tp, _Tp), "std::declval can only be used in an unevaluated context. " "It's likely that your current usage is trying to extract a value from the function."); } }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_reference.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> {}; template <class _Tp> struct is_rvalue_reference : _BoolConstant<__is_rvalue_reference(_Tp)> {}; template <class _Tp> struct is_reference : _BoolConstant<__is_reference(_Tp)> {}; template <class _Tp> inline constexpr bool is_reference_v = __is_reference(_Tp); template <class _Tp> inline constexpr bool is_lvalue_reference_v = __is_lvalue_reference(_Tp); template <class _Tp> inline constexpr bool is_rvalue_reference_v = __is_rvalue_reference(_Tp); # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_reference.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_reference.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_reference { using type __attribute__((__nodebug__)) = __remove_reference_t(_Tp); }; template <class _Tp> using __libcpp_remove_reference_t = __remove_reference_t(_Tp); # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_reference.h" 3 template <class _Tp> using remove_reference_t = __libcpp_remove_reference_t<_Tp>; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp&& forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>& __t) noexcept { return static_cast<_Tp&&>(__t); } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp&& forward([[_Clang::__lifetimebound__]] __libcpp_remove_reference_t<_Tp>&& __t) noexcept { static_assert(!is_lvalue_reference<_Tp>::value, "cannot forward an rvalue as an lvalue"); return static_cast<_Tp&&>(__t); } }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/conditional.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/conditional.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool> struct _IfImpl; template <> struct _IfImpl<true> { template <class _IfRes, class _ElseRes> using _Select __attribute__((__nodebug__)) = _IfRes; }; template <> struct _IfImpl<false> { template <class _IfRes, class _ElseRes> using _Select __attribute__((__nodebug__)) = _ElseRes; }; template <bool _Cond, class _IfRes, class _ElseRes> using _If __attribute__((__nodebug__)) = typename _IfImpl<_Cond>::template _Select<_IfRes, _ElseRes>; template <bool _Bp, class _If, class _Then> struct conditional { using type __attribute__((__nodebug__)) = _If; }; template <class _If, class _Then> struct conditional<false, _If, _Then> { using type __attribute__((__nodebug__)) = _Then; }; template <bool _Bp, class _IfRes, class _ElseRes> using conditional_t __attribute__((__nodebug__)) = typename conditional<_Bp, _IfRes, _ElseRes>::type; template <bool _Bp, class _If, class _Then> using __conditional_t __attribute__((__nodebug__)) = typename conditional<_Bp, _If, _Then>::type; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_constructible.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_constructible.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_const.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_const.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct add_const { typedef __attribute__((__nodebug__)) const _Tp type; }; template <class _Tp> using add_const_t = typename add_const<_Tp>::type; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_constructible.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_lvalue_reference.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_lvalue_reference.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_referenceable.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_referenceable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_same.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_same.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Up> struct is_same : _BoolConstant<__is_same(_Tp, _Up)> {}; template <class _Tp, class _Up> inline constexpr bool is_same_v = __is_same(_Tp, _Up); # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_same.h" 3 template <class _Tp, class _Up> using _IsSame = _BoolConstant<__is_same(_Tp, _Up)>; template <class _Tp, class _Up> using _IsNotSame = _BoolConstant<!__is_same(_Tp, _Up)>; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_referenceable.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_referenceable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_referenceable : integral_constant<bool, __is_referenceable(_Tp)> {}; # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_referenceable.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_lvalue_reference.h" 2 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_lvalue_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __add_lvalue_reference_t = __add_lvalue_reference(_Tp); # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_lvalue_reference.h" 3 template <class _Tp> struct add_lvalue_reference { using type __attribute__((__nodebug__)) = __add_lvalue_reference_t<_Tp>; }; template <class _Tp> using add_lvalue_reference_t = __add_lvalue_reference_t<_Tp>; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_constructible.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_copy_constructible : public integral_constant<bool, __is_constructible(_Tp, __add_lvalue_reference_t<typename add_const<_Tp>::type>)> { }; template <class _Tp> inline constexpr bool is_copy_constructible_v = is_copy_constructible<_Tp>::value; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_rvalue_reference.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_rvalue_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __add_rvalue_reference_t = __add_rvalue_reference(_Tp); # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_rvalue_reference.h" 3 template <class _Tp> struct add_rvalue_reference { using type = __add_rvalue_reference_t<_Tp>; }; template <class _Tp> using add_rvalue_reference_t = __add_rvalue_reference_t<_Tp>; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_constructible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class... _Args> struct is_constructible : public integral_constant<bool, __is_constructible(_Tp, _Args...)> {}; template <class _Tp, class... _Args> inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...); }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template < class _Tp, class... _Args> struct is_nothrow_constructible : public integral_constant<bool, __is_nothrow_constructible(_Tp, _Args...)> {}; # 65 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h" 3 template <class _Tp, class... _Args> inline constexpr bool is_nothrow_constructible_v = is_nothrow_constructible<_Tp, _Args...>::value; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_nothrow_move_constructible : public integral_constant<bool, __is_nothrow_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_constructible.h" 3 template <class _Tp> inline constexpr bool is_nothrow_move_constructible_v = is_nothrow_move_constructible<_Tp>::value; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/move.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __libcpp_remove_reference_t<_Tp>&& move([[_Clang::__lifetimebound__]] _Tp&& __t) noexcept { typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tp> _Up; return static_cast<_Up&&>(__t); } template <class _Tp> using __move_if_noexcept_result_t = __conditional_t<!is_nothrow_move_constructible<_Tp>::value && is_copy_constructible<_Tp>::value, const _Tp&, _Tp&&>; template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __move_if_noexcept_result_t<_Tp> move_if_noexcept([[_Clang::__lifetimebound__]] _Tp& __x) noexcept { return std::move(__x); } }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 1 3 # 92 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception.h" 3 namespace std { # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception.h" 3 class __attribute__((__visibility__("default"))) exception { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception() noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception(const exception&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception& operator=(const exception&) noexcept = default; virtual ~exception() noexcept; virtual const char* what() const noexcept; }; class __attribute__((__visibility__("default"))) bad_exception : public exception { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_exception() noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_exception(const bad_exception&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_exception& operator=(const bad_exception&) noexcept = default; ~bad_exception() noexcept override; const char* what() const noexcept override; }; } # 93 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_function.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_function.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_const.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_const.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_const : _BoolConstant<__is_const(_Tp)> {}; template <class _Tp> inline constexpr bool is_const_v = __is_const(_Tp); # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_const.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_function.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_function.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_function : integral_constant<bool, __is_function(_Tp)> {}; # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_function.h" 3 template <class _Tp> inline constexpr bool is_function_v = is_function<_Tp>::value; }} # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 2 3 # 105 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 # 119 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 namespace std { struct __attribute__((__visibility__("default"))) nothrow_t { explicit nothrow_t() = default; }; extern __attribute__((__visibility__("default"))) const nothrow_t nothrow; class __attribute__((__visibility__("default"))) bad_alloc : public exception { public: bad_alloc() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_alloc(const bad_alloc&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_alloc& operator=(const bad_alloc&) noexcept = default; ~bad_alloc() noexcept override; const char* what() const noexcept override; }; class __attribute__((__visibility__("default"))) bad_array_new_length : public bad_alloc { public: bad_array_new_length() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_array_new_length(const bad_array_new_length&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_array_new_length& operator=(const bad_array_new_length&) noexcept = default; ~bad_array_new_length() noexcept override; const char* what() const noexcept override; }; typedef void (*new_handler)(); __attribute__((__visibility__("default"))) new_handler set_new_handler(new_handler) noexcept; __attribute__((__visibility__("default"))) new_handler get_new_handler() noexcept; # 170 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 [[noreturn]] __attribute__((__visibility__("default"))) void __throw_bad_alloc(); [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_bad_array_new_length() { throw bad_array_new_length(); } enum class align_val_t : size_t {}; # 197 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 } # 207 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz) ; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, const std::nothrow_t&) noexcept __attribute__((__malloc__)); __attribute__((__visibility__("default"))) void operator delete(void* __p) noexcept; __attribute__((__visibility__("default"))) void operator delete(void* __p, const std::nothrow_t&) noexcept; __attribute__((__visibility__("default"))) void operator delete(void* __p, std::size_t __sz) noexcept; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz) ; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, const std::nothrow_t&) noexcept __attribute__((__malloc__)); __attribute__((__visibility__("default"))) void operator delete[](void* __p) noexcept; __attribute__((__visibility__("default"))) void operator delete[](void* __p, const std::nothrow_t&) noexcept; __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::size_t __sz) noexcept; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, std::align_val_t) ; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) noexcept __attribute__((__malloc__)); __attribute__((__visibility__("default"))) void operator delete(void* __p, std::align_val_t) noexcept; __attribute__((__visibility__("default"))) void operator delete(void* __p, std::align_val_t, const std::nothrow_t&) noexcept; __attribute__((__visibility__("default"))) void operator delete(void* __p, std::size_t __sz, std::align_val_t) noexcept; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, std::align_val_t) ; [[__nodiscard__]] __attribute__((__visibility__("default"))) void* operator new[](std::size_t __sz, std::align_val_t, const std::nothrow_t&) noexcept __attribute__((__malloc__)); __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::align_val_t) noexcept; __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) noexcept; __attribute__((__visibility__("default"))) void operator delete[](void* __p, std::size_t __sz, std::align_val_t) noexcept; [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void* operator new(std::size_t, void* __p) noexcept { return __p; } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void* operator new[](std::size_t, void* __p) noexcept { return __p; } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator delete(void*, void*) noexcept {} inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator delete[](void*, void*) noexcept {} namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __is_overaligned_for_new(size_t __align) noexcept { return __align > 8U; } template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void* __libcpp_operator_new(_Args... __args) { return __builtin_operator_new(__args...); } template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __libcpp_operator_delete(_Args... __args) { __builtin_operator_delete(__args...); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void* __libcpp_allocate(size_t __size, size_t __align) { if (__is_overaligned_for_new(__align)) { const align_val_t __align_val = static_cast<align_val_t>(__align); return __libcpp_operator_new(__size, __align_val); } (void)__align; return __libcpp_operator_new(__size); } template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __do_deallocate_handle_size(void* __ptr, size_t __size, _Args... __args) { (void)__size; return std::__libcpp_operator_delete(__ptr, __args...); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __libcpp_deallocate(void* __ptr, size_t __size, size_t __align) { if (__is_overaligned_for_new(__align)) { const align_val_t __align_val = static_cast<align_val_t>(__align); return __do_deallocate_handle_size(__ptr, __size, __align_val); } else { return __do_deallocate_handle_size(__ptr, __size); } } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __libcpp_deallocate_unsized(void* __ptr, size_t __align) { if (__is_overaligned_for_new(__align)) { const align_val_t __align_val = static_cast<align_val_t>(__align); return __libcpp_operator_delete(__ptr, __align_val); } else { return __libcpp_operator_delete(__ptr); } } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __launder(_Tp* __p) noexcept { static_assert(!(is_function<_Tp>::value), "can't launder functions"); static_assert(!(is_same<void, __remove_cv_t<_Tp> >::value), "can't launder cv-void"); return __builtin_launder(__p); } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* launder(_Tp* __p) noexcept { return std::__launder(__p); } # 361 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 3 }} # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstdlib" 1 3 # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstdlib" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 1 3 # 91 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 1 3 4 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/alloca.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/wait.h" 1 3 4 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/wait.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/wait.h" 1 3 4 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/wait.h" 2 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 1 3 4 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdio.h" 1 3 4 # 105 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdio.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 1 3 4 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 1 3 4 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdint.h" 1 3 4 # 110 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdint.h" 3 # 124 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdint.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdint.h" 1 3 # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdint.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdint.h" 1 3 4 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdint.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/wchar_limits.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdint.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdint.h" 2 3 4 typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; typedef long long __int64_t; typedef unsigned long long __uint64_t; typedef int __intptr_t; typedef unsigned int __uintptr_t; typedef __int8_t int8_t; typedef __uint8_t uint8_t; typedef __int16_t int16_t; typedef __uint16_t uint16_t; typedef __int32_t int32_t; typedef __uint32_t uint32_t; typedef __int64_t int64_t; typedef __uint64_t uint64_t; typedef __intptr_t intptr_t; typedef __uintptr_t uintptr_t; typedef int8_t int_least8_t; typedef uint8_t uint_least8_t; typedef int16_t int_least16_t; typedef uint16_t uint_least16_t; typedef int32_t int_least32_t; typedef uint32_t uint_least32_t; typedef int64_t int_least64_t; typedef uint64_t uint_least64_t; typedef int8_t int_fast8_t; typedef uint8_t uint_fast8_t; typedef int64_t int_fast64_t; typedef uint64_t uint_fast64_t; typedef int32_t int_fast16_t; typedef uint32_t uint_fast16_t; typedef int32_t int_fast32_t; typedef uint32_t uint_fast32_t; typedef uint64_t uintmax_t; typedef int64_t intmax_t; # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdint.h" 2 3 # 125 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdint.h" 2 3 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/types.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/types.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/int-ll64.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/bitsperlong.h" 1 3 4 # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 2 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/int-ll64.h" 2 3 4 typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/types.h" 2 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/types.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/posix_types.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/stddef.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/compiler_types.h" 1 3 4 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/compiler_types.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/compiler.h" 1 3 4 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/compiler_types.h" 2 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/stddef.h" 2 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/posix_types.h" 2 3 4 typedef struct { unsigned long fds_bits[1024 / (8 * sizeof(long))]; } __kernel_fd_set; typedef void(* __kernel_sighandler_t) (int); typedef int __kernel_key_t; typedef int __kernel_mqd_t; # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h" 1 3 4 typedef unsigned short __kernel_mode_t; typedef unsigned short __kernel_ipc_pid_t; typedef unsigned short __kernel_uid_t; typedef unsigned short __kernel_gid_t; typedef unsigned short __kernel_old_dev_t; # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/posix_types.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/bitsperlong.h" 1 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/posix_types.h" 2 3 4 typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef __kernel_ulong_t __kernel_ino_t; typedef int __kernel_pid_t; # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/posix_types.h" 3 4 typedef __kernel_long_t __kernel_suseconds_t; typedef int __kernel_daddr_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef __kernel_uid_t __kernel_old_uid_t; typedef __kernel_gid_t __kernel_old_gid_t; typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef int __kernel_ptrdiff_t; typedef struct { int val[2]; } __kernel_fsid_t; typedef __kernel_long_t __kernel_off_t; typedef long long __kernel_loff_t; typedef __kernel_long_t __kernel_old_time_t; typedef __kernel_long_t __kernel_time_t; typedef long long __kernel_time64_t; typedef __kernel_long_t __kernel_clock_t; typedef int __kernel_timer_t; typedef int __kernel_clockid_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h" 2 3 4 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/posix_types.h" 2 3 4 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/types.h" 2 3 4 typedef __u16 __le16; typedef __u16 __be16; typedef __u32 __le32; typedef __u32 __be32; typedef __u64 __le64; typedef __u64 __be64; typedef __u16 __sum16; typedef __u32 __wsum; typedef unsigned __poll_t; # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/pthread_types.h" 1 3 4 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/pthread_types.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/pthread_types.h" 2 3 4 typedef struct { uint32_t flags; void* stack_base; size_t stack_size; size_t guard_size; int32_t sched_policy; int32_t sched_priority; } pthread_attr_t; # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/pthread_types.h" 3 4 typedef struct { int32_t __private[1]; } pthread_cond_t; typedef long pthread_condattr_t; typedef int pthread_key_t; typedef struct { int32_t __private[1]; } pthread_mutex_t; typedef long pthread_mutexattr_t; typedef int pthread_once_t; typedef struct { int32_t __private[10]; } pthread_rwlock_t; typedef long pthread_rwlockattr_t; # 104 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/pthread_types.h" 3 4 typedef long pthread_t; # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 2 3 4 typedef __kernel_gid32_t __gid_t; typedef __gid_t gid_t; typedef __kernel_uid32_t __uid_t; typedef __uid_t uid_t; typedef __kernel_pid_t __pid_t; typedef __pid_t pid_t; typedef uint32_t __id_t; typedef __id_t id_t; typedef unsigned long blkcnt_t; typedef unsigned long blksize_t; typedef __kernel_caddr_t caddr_t; typedef __kernel_clock_t clock_t; typedef __kernel_clockid_t __clockid_t; typedef __clockid_t clockid_t; typedef __kernel_daddr_t daddr_t; typedef unsigned long fsblkcnt_t; typedef unsigned long fsfilcnt_t; typedef __kernel_mode_t __mode_t; typedef __mode_t mode_t; typedef __kernel_key_t __key_t; typedef __key_t key_t; typedef __kernel_ino_t __ino_t; typedef __ino_t ino_t; typedef uint64_t ino64_t; typedef uint32_t __nlink_t; typedef __nlink_t nlink_t; typedef void* __timer_t; typedef __timer_t timer_t; typedef __kernel_suseconds_t __suseconds_t; typedef __suseconds_t suseconds_t; typedef uint32_t __useconds_t; typedef __useconds_t useconds_t; typedef uint32_t dev_t; typedef __kernel_time_t __time_t; typedef __time_t time_t; # 105 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 3 4 typedef __kernel_off_t off_t; typedef __kernel_loff_t loff_t; typedef loff_t off64_t; typedef int32_t __socklen_t; typedef __socklen_t socklen_t; typedef __builtin_va_list __va_list; # 128 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/types.h" 3 4 typedef __kernel_ssize_t ssize_t; typedef unsigned int uint_t; typedef unsigned int uint; typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef uint32_t u_int32_t; typedef uint16_t u_int16_t; typedef uint8_t u_int8_t; typedef uint64_t u_int64_t; # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 1 3 4 # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg___gnuc_va_list.h" 1 3 4 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg___gnuc_va_list.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg_va_list.h" 1 3 4 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg_va_list.h" 3 4 typedef __builtin_va_list va_list; # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg_va_arg.h" 1 3 4 # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg___va_copy.h" 1 3 4 # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/__stdarg_va_copy.h" 1 3 4 # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 2 3 4 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/seek_constants.h" 1 3 4 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/struct_file.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/struct_file.h" 3 4 extern "C" { struct __sFILE { char __private[84]; } __attribute__((__aligned__(sizeof(void*)))); } # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 2 3 4 extern "C" { typedef off_t fpos_t; typedef off64_t fpos64_t; struct __sFILE; typedef struct __sFILE FILE; # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 extern FILE __sF[] __attribute__((__availability__(android,strict,obsoleted=23 , message= "Use stdin/stdout/stderr"))); # 106 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 void clearerr(FILE* _Nonnull __fp); int fclose(FILE* _Nonnull __fp); int feof(FILE* _Nonnull __fp); int ferror(FILE* _Nonnull __fp); int fflush(FILE* _Nullable __fp); int fgetc(FILE* _Nonnull __fp); char* _Nullable fgets(char* _Nonnull __buf, int __size, FILE* _Nonnull __fp); int fprintf(FILE* _Nonnull __fp , const char* _Nonnull __fmt, ...) __attribute__((__format__(printf, 2, 3))); int fputc(int __ch, FILE* _Nonnull __fp); int fputs(const char* _Nonnull __s, FILE* _Nonnull __fp); size_t fread(void* _Nonnull __buf, size_t __size, size_t __count, FILE* _Nonnull __fp); int fscanf(FILE* _Nonnull __fp, const char* _Nonnull __fmt, ...) __attribute__((__format__(scanf, 2, 3))); size_t fwrite(const void* _Nonnull __buf, size_t __size, size_t __count, FILE* _Nonnull __fp); int getc(FILE* _Nonnull __fp); int getchar(void); ssize_t getdelim(char* _Nullable * _Nonnull __line_ptr, size_t* _Nonnull __line_length_ptr, int __delimiter, FILE* _Nonnull __fp); ssize_t getline(char* _Nullable * _Nonnull __line_ptr, size_t* _Nonnull __line_length_ptr, FILE* _Nonnull __fp); void perror(const char* _Nullable __msg); int printf(const char* _Nonnull __fmt, ...) __attribute__((__format__(printf, 1, 2))); int putc(int __ch, FILE* _Nonnull __fp); int putchar(int __ch); int puts(const char* _Nonnull __s); int remove(const char* _Nonnull __path); void rewind(FILE* _Nonnull __fp); int scanf(const char* _Nonnull __fmt, ...) __attribute__((__format__(scanf, 1, 2))); void setbuf(FILE* _Nonnull __fp, char* _Nullable __buf); int setvbuf(FILE* _Nonnull __fp, char* _Nullable __buf, int __mode, size_t __size); int sscanf(const char* _Nonnull __s, const char* _Nonnull __fmt, ...) __attribute__((__format__(scanf, 2, 3))); int ungetc(int __ch, FILE* _Nonnull __fp); int vfprintf(FILE* _Nonnull __fp, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(printf, 2, 0))); int vprintf(const char* _Nonnull __fp, va_list __args) __attribute__((__format__(printf, 1, 0))); int dprintf(int __fd, const char* _Nonnull __fmt, ...) __attribute__((__format__(printf, 2, 3))); int vdprintf(int __fd, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(printf, 2, 0))); int sprintf(char* _Null_unspecified __s, const char* _Nonnull __fmt, ...) __attribute__((__format__(printf, 2, 3))) ; int vsprintf(char* _Null_unspecified __s, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(printf, 2, 0))) ; char* _Nullable tmpnam(char* _Nullable __s) __attribute__((__deprecated__("tmpnam is unsafe, use mkstemp or tmpfile instead"))); char* _Nullable tempnam(const char* _Nullable __dir, const char* _Nullable __prefix) __attribute__((__deprecated__("tempnam is unsafe, use mkstemp or tmpfile instead"))); int rename(const char* _Nonnull __old_path, const char* _Nonnull __new_path); int renameat(int __old_dir_fd, const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path); # 207 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 int fseek(FILE* _Nonnull __fp, long __offset, int __whence); long ftell(FILE* _Nonnull __fp); # 233 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 int fgetpos(FILE* _Nonnull __fp, fpos_t* _Nonnull __pos); int fsetpos(FILE* _Nonnull __fp, const fpos_t* _Nonnull __pos); int fseeko(FILE* _Nonnull __fp, off_t __offset, int __whence); off_t ftello(FILE* _Nonnull __fp); FILE* _Nullable funopen(const void* _Nullable __cookie, int (* _Null_unspecified __read_fn)(void* _Nonnull, char* _Nonnull, int), int (* _Null_unspecified __write_fn)(void* _Nonnull, const char* _Nonnull, int), fpos_t (* _Nullable __seek_fn)(void* _Nonnull, fpos_t, int), int (* _Nullable __close_fn)(void* _Nonnull)); # 267 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 FILE* _Nullable fopen(const char* _Nonnull __path, const char* _Nonnull __mode); FILE* _Nullable freopen(const char* _Nullable __path, const char* _Nonnull __mode, FILE* _Nonnull __fp); FILE* _Nullable tmpfile(void); int snprintf(char* _Null_unspecified __buf, size_t __size, const char* _Nonnull __fmt, ...) __attribute__((__format__(printf, 3, 4))); int vfscanf(FILE* _Nonnull __fp, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(scanf, 2, 0))); int vscanf(const char* _Nonnull __fmt , va_list __args) __attribute__((__format__(scanf, 1, 0))); int vsnprintf(char* _Null_unspecified __buf, size_t __size, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(printf, 3, 0))); int vsscanf(const char* _Nonnull __s, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(scanf, 2, 0))); # 299 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 FILE* _Nullable fdopen(int __fd, const char* _Nonnull __mode); int fileno(FILE* _Nonnull __fp); int pclose(FILE* _Nonnull __fp); FILE* _Nullable popen(const char* _Nonnull __command, const char* _Nonnull __mode); void flockfile(FILE* _Nonnull __fp); int ftrylockfile(FILE* _Nonnull __fp); void funlockfile(FILE* _Nonnull __fp); int getc_unlocked(FILE* _Nonnull __fp); int getchar_unlocked(void); int putc_unlocked(int __ch, FILE* _Nonnull __fp); int putchar_unlocked(int __ch); # 319 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 int asprintf(char* _Nullable * _Nonnull __s_ptr, const char* _Nonnull __fmt, ...) __attribute__((__format__(printf, 2, 3))); char* _Nullable fgetln(FILE* _Nonnull __fp, size_t* _Nonnull __length_ptr); int fpurge(FILE* _Nonnull __fp); void setbuffer(FILE* _Nonnull __fp, char* _Nullable __buf, int __size); int setlinebuf(FILE* _Nonnull __fp); int vasprintf(char* _Nullable * _Nonnull __s_ptr, const char* _Nonnull __fmt, va_list __args) __attribute__((__format__(printf, 2, 0))); # 366 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdio.h" 3 4 } # 109 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdio.h" 2 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 2 3 4 extern "C" { # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 void* _Nullable malloc(size_t __byte_count) __attribute__((__malloc__)) __attribute__((__alloc_size__(1))) __attribute__((__warn_unused_result__)); # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 void* _Nullable calloc(size_t __item_count, size_t __item_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1,2))) __attribute__((__warn_unused_result__)); # 77 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 void* _Nullable realloc(void* _Nullable __ptr, size_t __byte_count) __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); # 100 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 void free(void* _Nullable __ptr); # 111 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 void* _Nullable memalign(size_t __alignment, size_t __byte_count) __attribute__((__malloc__)) __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); size_t malloc_usable_size(const void* _Nullable __ptr); # 143 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 struct mallinfo { size_t arena; size_t ordblks; size_t smblks; size_t hblks; size_t hblkhd; size_t usmblks; size_t fsmblks; size_t uordblks; size_t fordblks; size_t keepcost; }; struct mallinfo mallinfo(void); struct mallinfo2 { size_t arena; size_t ordblks; size_t smblks; size_t hblks; size_t hblkhd; size_t usmblks; size_t fsmblks; size_t uordblks; size_t fordblks; size_t keepcost; }; struct mallinfo2 mallinfo2(void) __asm__("mallinfo"); # 321 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 enum HeapTaggingLevel { M_HEAP_TAGGING_LEVEL_NONE = 0, M_HEAP_TAGGING_LEVEL_TBI = 1, M_HEAP_TAGGING_LEVEL_ASYNC = 2, M_HEAP_TAGGING_LEVEL_SYNC = 3, }; # 421 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/malloc.h" 3 4 } # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/xlocale.h" 1 3 4 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/xlocale.h" 3 4 struct __locale_t; typedef struct __locale_t* locale_t; # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 2 3 4 extern "C" { __attribute__((__noreturn__)) void abort(void) __attribute__((__nomerge__)); __attribute__((__noreturn__)) void exit(int __status); __attribute__((__noreturn__)) void _Exit(int __status); int atexit(void (* _Nonnull __fn)(void)); int at_quick_exit(void (* _Nonnull __fn)(void)); void quick_exit(int __status) __attribute__((__noreturn__)); char* _Nullable getenv(const char* _Nonnull __name); int putenv(char* _Nonnull __assignment); int setenv(const char* _Nonnull __name, const char* _Nonnull __value, int __overwrite); int unsetenv(const char* _Nonnull __name); int clearenv(void); char* _Nullable mkdtemp(char* _Nonnull __template); char* _Nullable mktemp(char* _Nonnull __template) __attribute__((__deprecated__("mktemp is unsafe, use mkstemp or tmpfile instead"))); # 70 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 3 4 int mkstemp64(char* _Nonnull __template); int mkstemp(char* _Nonnull __template); int mkstemps(char* _Nonnull __template, int __flags); long strtol(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base); long long strtoll(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base); unsigned long strtoul(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base); unsigned long long strtoull(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base); int posix_memalign(void* _Nullable * _Nullable __memptr, size_t __alignment, size_t __size); double strtod(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr); long double strtold(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr); int atoi(const char* _Nonnull __s) __attribute__((__pure__)); long atol(const char* _Nonnull __s) __attribute__((__pure__)); long long atoll(const char* _Nonnull __s) __attribute__((__pure__)); __attribute__((__warn_unused_result__)) char* _Nullable realpath(const char* _Nonnull __path, char* _Nullable __resolved); # 122 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 3 4 int system(const char* _Nonnull __command); void* _Nullable bsearch(const void* _Nonnull __key, const void* _Nullable __base, size_t __nmemb, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull __lhs, const void* _Nonnull __rhs)); void qsort(void* _Nullable __base, size_t __nmemb, size_t __size, int (* _Nonnull __comparator)(const void* _Nullable __lhs, const void* _Nullable __rhs)); uint32_t arc4random(void); uint32_t arc4random_uniform(uint32_t __upper_bound); void arc4random_buf(void* _Nonnull __buf, size_t __n); int rand_r(unsigned int* _Nonnull __seed_ptr); double drand48(void); double erand48(unsigned short __xsubi[_Nonnull 3]); long jrand48(unsigned short __xsubi[_Nonnull 3]); long lrand48(void); long mrand48(void); long nrand48(unsigned short __xsubi[_Nonnull 3]); unsigned short* _Nonnull seed48(unsigned short __seed16v[_Nonnull 3]); void srand48(long __seed); char* _Nullable initstate(unsigned int __seed, char* _Nonnull __state, size_t __n); char* _Nullable setstate(char* _Nonnull __state); int getpt(void); int posix_openpt(int __flags); char* _Nullable ptsname(int __fd); int ptsname_r(int __fd, char* _Nonnull __buf, size_t __n); int unlockpt(int __fd); typedef struct { int quot; int rem; } div_t; div_t div(int __numerator, int __denominator) __attribute__((__const__)); typedef struct { long int quot; long int rem; } ldiv_t; ldiv_t ldiv(long __numerator, long __denominator) __attribute__((__const__)); typedef struct { long long int quot; long long int rem; } lldiv_t; lldiv_t lldiv(long long __numerator, long long __denominator) __attribute__((__const__)); # 200 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 3 4 const char* _Nullable getprogname(void); void setprogname(const char* _Nonnull __name); int mblen(const char* _Nullable __s, size_t __n) ; size_t mbstowcs(wchar_t* _Nullable __dst, const char* _Nullable __src, size_t __n); int mbtowc(wchar_t* _Nullable __wc_ptr, const char* _Nullable __s, size_t __n); int wctomb(char* _Nullable __dst, wchar_t __wc); size_t wcstombs(char* _Nullable __dst, const wchar_t* _Nullable __src, size_t __n); size_t __ctype_get_mb_cur_max(void); int abs(int __x) __attribute__((__const__)); long labs(long __x) __attribute__((__const__)); long long llabs(long long __x) __attribute__((__const__)); float strtof(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr); double atof(const char* _Nonnull __s) __attribute__((__pure__)); int rand(void); void srand(unsigned int __seed); long random(void); void srandom(unsigned int __seed); int grantpt(int __fd); long long strtoll_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l); unsigned long long strtoull_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l); long double strtold_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l); # 241 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 3 4 } # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/legacy_stdlib_inlines.h" 1 3 4 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/legacy_stdlib_inlines.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 1 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/legacy_stdlib_inlines.h" 2 3 4 extern "C" { static __inline__ double strtod_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) { return strtod(__s, __end_ptr); } static __inline__ float strtof_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) { return strtof(__s, __end_ptr); } static __inline__ long strtol_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) { return strtol(__s, __end_ptr, __base); } } # 244 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/stdlib.h" 2 3 4 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 2 3 extern "C++" { # 113 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 3 [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long abs(long __x) noexcept { return __builtin_labs(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long abs(long long __x) noexcept { return __builtin_llabs(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float abs(float __lcpp_x) noexcept { return __builtin_fabsf(__lcpp_x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double abs(double __lcpp_x) noexcept { return __builtin_fabs(__lcpp_x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double abs(long double __lcpp_x) noexcept { return __builtin_fabsl(__lcpp_x); } # 145 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 3 inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ldiv_t div(long __x, long __y) noexcept { return ::ldiv(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) lldiv_t div(long long __x, long long __y) noexcept { return ::lldiv(__x, __y); } } # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstdlib" 2 3 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstdlib" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::size_t __attribute__((__using_if_exists__)); using ::div_t __attribute__((__using_if_exists__)); using ::ldiv_t __attribute__((__using_if_exists__)); using ::lldiv_t __attribute__((__using_if_exists__)); using ::atof __attribute__((__using_if_exists__)); using ::atoi __attribute__((__using_if_exists__)); using ::atol __attribute__((__using_if_exists__)); using ::atoll __attribute__((__using_if_exists__)); using ::strtod __attribute__((__using_if_exists__)); using ::strtof __attribute__((__using_if_exists__)); using ::strtold __attribute__((__using_if_exists__)); using ::strtol __attribute__((__using_if_exists__)); using ::strtoll __attribute__((__using_if_exists__)); using ::strtoul __attribute__((__using_if_exists__)); using ::strtoull __attribute__((__using_if_exists__)); using ::rand __attribute__((__using_if_exists__)); using ::srand __attribute__((__using_if_exists__)); using ::calloc __attribute__((__using_if_exists__)); using ::free __attribute__((__using_if_exists__)); using ::malloc __attribute__((__using_if_exists__)); using ::realloc __attribute__((__using_if_exists__)); using ::abort __attribute__((__using_if_exists__)); using ::atexit __attribute__((__using_if_exists__)); using ::exit __attribute__((__using_if_exists__)); using ::_Exit __attribute__((__using_if_exists__)); using ::getenv __attribute__((__using_if_exists__)); using ::system __attribute__((__using_if_exists__)); using ::bsearch __attribute__((__using_if_exists__)); using ::qsort __attribute__((__using_if_exists__)); using ::abs __attribute__((__using_if_exists__)); using ::labs __attribute__((__using_if_exists__)); using ::llabs __attribute__((__using_if_exists__)); using ::div __attribute__((__using_if_exists__)); using ::ldiv __attribute__((__using_if_exists__)); using ::lldiv __attribute__((__using_if_exists__)); using ::mblen __attribute__((__using_if_exists__)); using ::mbtowc __attribute__((__using_if_exists__)); using ::wctomb __attribute__((__using_if_exists__)); using ::mbstowcs __attribute__((__using_if_exists__)); using ::wcstombs __attribute__((__using_if_exists__)); using ::at_quick_exit __attribute__((__using_if_exists__)); using ::quick_exit __attribute__((__using_if_exists__)); using ::aligned_alloc __attribute__((__using_if_exists__)); }} # 365 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 1 3 # 82 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception_ptr.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception_ptr.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/operations.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/operations.h" 3 namespace std { # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/operations.h" 3 using terminate_handler = void (*)(); __attribute__((__visibility__("default"))) terminate_handler set_terminate(terminate_handler) noexcept; __attribute__((__visibility__("default"))) terminate_handler get_terminate() noexcept; __attribute__((__visibility__("default"))) bool uncaught_exception() noexcept; __attribute__((__visibility__("default"))) int uncaught_exceptions() noexcept; class __attribute__((__visibility__("default"))) exception_ptr; __attribute__((__visibility__("default"))) exception_ptr current_exception() noexcept; [[noreturn]] __attribute__((__visibility__("default"))) void rethrow_exception(exception_ptr); } # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception_ptr.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception_ptr.h" 3 namespace std { class __attribute__((__visibility__("default"))) exception_ptr { void* __ptr_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception_ptr() noexcept : __ptr_() {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception_ptr(nullptr_t) noexcept : __ptr_() {} exception_ptr(const exception_ptr&) noexcept; exception_ptr& operator=(const exception_ptr&) noexcept; ~exception_ptr() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit operator bool() const noexcept { return __ptr_ != nullptr; } friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const exception_ptr& __x, const exception_ptr& __y) noexcept { return __x.__ptr_ == __y.__ptr_; } friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const exception_ptr& __x, const exception_ptr& __y) noexcept { return !(__x == __y); } friend __attribute__((__visibility__("default"))) exception_ptr current_exception() noexcept; friend __attribute__((__visibility__("default"))) void rethrow_exception(exception_ptr); }; template <class _Ep> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception_ptr make_exception_ptr(_Ep __e) noexcept { try { throw __e; } catch (...) { return current_exception(); } } # 107 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/exception_ptr.h" 3 } # 83 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/decay.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/decay.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_pointer.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_pointer.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_void.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_void.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_void : _BoolConstant<__is_void(_Tp)> {}; template <class _Tp> inline constexpr bool is_void_v = __is_void(_Tp); # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_void.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_pointer.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __add_pointer_t = __add_pointer(_Tp); # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_pointer.h" 3 template <class _Tp> struct add_pointer { using type __attribute__((__nodebug__)) = __add_pointer_t<_Tp>; }; template <class _Tp> using add_pointer_t = __add_pointer_t<_Tp>; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/decay.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_extent.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_extent.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_extent { using type __attribute__((__nodebug__)) = __remove_extent(_Tp); }; template <class _Tp> using __remove_extent_t = __remove_extent(_Tp); # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_extent.h" 3 template <class _Tp> using remove_extent_t = __remove_extent_t<_Tp>; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/decay.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/decay.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __decay_t __attribute__((__nodebug__)) = __decay(_Tp); template <class _Tp> struct decay { using type __attribute__((__nodebug__)) = __decay_t<_Tp>; }; # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/decay.h" 3 template <class _Tp> using decay_t = __decay_t<_Tp>; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_base_of.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_base_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Bp, class _Dp> struct is_base_of : public integral_constant<bool, __is_base_of(_Bp, _Dp)> {}; template <class _Bp, class _Dp> inline constexpr bool is_base_of_v = __is_base_of(_Bp, _Dp); }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_class.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_class.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_class : public integral_constant<bool, __is_class(_Tp)> {}; template <class _Tp> inline constexpr bool is_class_v = __is_class(_Tp); }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_convertible.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_convertible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _T1, class _T2> struct is_convertible : public integral_constant<bool, __is_convertible(_T1, _T2)> {}; template <class _From, class _To> inline constexpr bool is_convertible_v = __is_convertible(_From, _To); }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_final.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_final.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_final : public integral_constant<bool, __is_final(_Tp)> {}; template <class _Tp> struct is_final : public integral_constant<bool, __is_final(_Tp)> {}; template <class _Tp> inline constexpr bool is_final_v = __is_final(_Tp); }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_polymorphic.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_polymorphic.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_polymorphic : public integral_constant<bool, __is_polymorphic(_Tp)> {}; template <class _Tp> inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp); }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/nested_exception.h" 3 namespace std { class __attribute__((__visibility__("default"))) nested_exception { exception_ptr __ptr_; public: nested_exception() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) nested_exception(const nested_exception&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) nested_exception& operator=(const nested_exception&) noexcept = default; virtual ~nested_exception() noexcept; [[noreturn]] void rethrow_nested() const; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) exception_ptr nested_ptr() const noexcept { return __ptr_; } }; template <class _Tp> struct __nested : public _Tp, public nested_exception { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __nested(const _Tp& __t) : _Tp(__t) {} }; template <class _Tp, class _Up, bool> struct __throw_with_nested; template <class _Tp, class _Up> struct __throw_with_nested<_Tp, _Up, true> { [[noreturn]] static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __do_throw(_Tp&& __t) { throw __nested<_Up>(std::forward<_Tp>(__t)); } }; template <class _Tp, class _Up> struct __throw_with_nested<_Tp, _Up, false> { [[noreturn]] static inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __do_throw(_Tp&& __t) { throw std::forward<_Tp>(__t); } }; template <class _Tp> [[noreturn]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void throw_with_nested(_Tp&& __t) { using _Up = __decay_t<_Tp>; static_assert(is_copy_constructible<_Up>::value, "type thrown must be CopyConstructible"); __throw_with_nested<_Tp, _Up, is_class<_Up>::value && !is_base_of<nested_exception, _Up>::value && !__libcpp_is_final<_Up>::value>::__do_throw(std::forward<_Tp>(__t)); } template <class _From, class _To> struct __can_dynamic_cast : _BoolConstant< is_polymorphic<_From>::value && (!is_base_of<_To, _From>::value || is_convertible<const _From*, const _To*>::value)> {}; template <class _Ep> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void rethrow_if_nested(const _Ep& __e, __enable_if_t< __can_dynamic_cast<_Ep, nested_exception>::value>* = 0) { const nested_exception* __nep = dynamic_cast<const nested_exception*>(std::addressof(__e)); if (__nep) __nep->rethrow_nested(); } template <class _Ep> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void rethrow_if_nested(const _Ep&, __enable_if_t<!__can_dynamic_cast<_Ep, nested_exception>::value>* = 0) {} } # 84 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/terminate.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__exception/terminate.h" 3 namespace std { [[noreturn]] __attribute__((__visibility__("default"))) void terminate() noexcept; } # 86 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 2 3 # 90 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 1 3 # 421 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/hash.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/hash.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class> struct hash; }} # 422 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_cv.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_cv.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct add_cv { typedef __attribute__((__nodebug__)) const volatile _Tp type; }; template <class _Tp> using add_cv_t = typename add_cv<_Tp>::type; }} # 424 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_volatile.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/add_volatile.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct add_volatile { typedef __attribute__((__nodebug__)) volatile _Tp type; }; template <class _Tp> using add_volatile_t = typename add_volatile<_Tp>::type; }} # 428 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/nat.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/nat.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __nat { __nat() = delete; __nat(const __nat&) = delete; __nat& operator=(const __nat&) = delete; ~__nat() = delete; }; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/type_list.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/type_list.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Hp, class _Tp> struct __type_list { typedef _Hp _Head; typedef _Tp _Tail; }; template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename _TypeList::_Head)> struct __find_first; template <class _Hp, class _Tp, size_t _Size> struct __find_first<__type_list<_Hp, _Tp>, _Size, true> { typedef __attribute__((__nodebug__)) _Hp type; }; template <class _Hp, class _Tp, size_t _Size> struct __find_first<__type_list<_Hp, _Tp>, _Size, false> { typedef __attribute__((__nodebug__)) typename __find_first<_Tp, _Size>::type type; }; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __align_type { static const size_t value = __alignof(_Tp); typedef _Tp type; }; struct __struct_double { long double __lx; }; struct __struct_double4 { double __lx[4]; }; typedef __type_list<__align_type<unsigned char>, __type_list<__align_type<unsigned short>, __type_list<__align_type<unsigned int>, __type_list<__align_type<unsigned long>, __type_list<__align_type<unsigned long long>, __type_list<__align_type<double>, __type_list<__align_type<long double>, __type_list<__align_type<__struct_double>, __type_list<__align_type<__struct_double4>, __type_list<__align_type<int*>, __nat > > > > > > > > > > __all_types; template <size_t _Align> struct alignas(_Align) __fallback_overaligned {}; template <class _TL, size_t _Align> struct __find_pod; template <class _Hp, size_t _Align> struct __find_pod<__type_list<_Hp, __nat>, _Align> { typedef __conditional_t<_Align == _Hp::value, typename _Hp::type, __fallback_overaligned<_Align> > type; }; template <class _Hp, class _Tp, size_t _Align> struct __find_pod<__type_list<_Hp, _Tp>, _Align> { typedef __conditional_t<_Align == _Hp::value, typename _Hp::type, typename __find_pod<_Tp, _Align>::type> type; }; template <class _TL, size_t _Len> struct __find_max_align; template <class _Hp, size_t _Len> struct __find_max_align<__type_list<_Hp, __nat>, _Len> : public integral_constant<size_t, _Hp::value> {}; template <size_t _Len, size_t _A1, size_t _A2> struct __select_align { private: static const size_t __min = _A2 < _A1 ? _A2 : _A1; static const size_t __max = _A1 < _A2 ? _A2 : _A1; public: static const size_t value = _Len < __max ? __min : __max; }; template <class _Hp, class _Tp, size_t _Len> struct __find_max_align<__type_list<_Hp, _Tp>, _Len> : public integral_constant<size_t, __select_align<_Len, _Hp::value, __find_max_align<_Tp, _Len>::value>::value> {}; template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value> struct aligned_storage { typedef typename __find_pod<__all_types, _Align>::type _Aligner; union type { _Aligner __align; unsigned char __data[(_Len + _Align - 1) / _Align * _Align]; }; }; #pragma GCC diagnostic push # 100 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 100 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value> using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; #pragma GCC diagnostic pop # 115 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_storage.h" 3 template <size_t _Len> struct aligned_storage<_Len, 0x1> { struct alignas(0x1) type { unsigned char __lx[(_Len + 0x1 - 1) / 0x1 * 0x1]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x2> { struct alignas(0x2) type { unsigned char __lx[(_Len + 0x2 - 1) / 0x2 * 0x2]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x4> { struct alignas(0x4) type { unsigned char __lx[(_Len + 0x4 - 1) / 0x4 * 0x4]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x8> { struct alignas(0x8) type { unsigned char __lx[(_Len + 0x8 - 1) / 0x8 * 0x8]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x10> { struct alignas(0x10) type { unsigned char __lx[(_Len + 0x10 - 1) / 0x10 * 0x10]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x20> { struct alignas(0x20) type { unsigned char __lx[(_Len + 0x20 - 1) / 0x20 * 0x20]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x40> { struct alignas(0x40) type { unsigned char __lx[(_Len + 0x40 - 1) / 0x40 * 0x40]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x80> { struct alignas(0x80) type { unsigned char __lx[(_Len + 0x80 - 1) / 0x80 * 0x80]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x100> { struct alignas(0x100) type { unsigned char __lx[(_Len + 0x100 - 1) / 0x100 * 0x100]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x200> { struct alignas(0x200) type { unsigned char __lx[(_Len + 0x200 - 1) / 0x200 * 0x200]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x400> { struct alignas(0x400) type { unsigned char __lx[(_Len + 0x400 - 1) / 0x400 * 0x400]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x800> { struct alignas(0x800) type { unsigned char __lx[(_Len + 0x800 - 1) / 0x800 * 0x800]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x1000> { struct alignas(0x1000) type { unsigned char __lx[(_Len + 0x1000 - 1) / 0x1000 * 0x1000]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x2000> { struct alignas(0x2000) type { unsigned char __lx[(_Len + 0x2000 - 1) / 0x2000 * 0x2000]; }; }; template <size_t _Len> struct aligned_storage<_Len, 0x4000> { struct alignas(0x4000) type { unsigned char __lx[(_Len + 0x4000 - 1) / 0x4000 * 0x4000]; }; }; }} # 429 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_union.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/aligned_union.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t _I0, size_t... _In> struct __static_max; template <size_t _I0> struct __static_max<_I0> { static const size_t value = _I0; }; template <size_t _I0, size_t _I1, size_t... _In> struct __static_max<_I0, _I1, _In...> { static const size_t value = _I0 >= _I1 ? __static_max<_I0, _In...>::value : __static_max<_I1, _In...>::value; }; template <size_t _Len, class _Type0, class... _Types> struct aligned_union { static const size_t alignment_value = __static_max<__alignof(_Type0), __alignof(_Types)...>::value; static const size_t __len = __static_max<_Len, sizeof(_Type0), sizeof(_Types)...>::value; typedef typename aligned_storage<__len, alignment_value>::type type; }; template <size_t _Len, class... _Types> using aligned_union_t = typename aligned_union<_Len, _Types...>::type; }} # 430 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/alignment_of.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/alignment_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct alignment_of : public integral_constant<size_t, alignof(_Tp)> {}; template <class _Tp> inline constexpr size_t alignment_of_v = alignof(_Tp); }} # 431 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/apply_cv.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/apply_cv.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_volatile.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_volatile.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_volatile : _BoolConstant<__is_volatile(_Tp)> {}; template <class _Tp> inline constexpr bool is_volatile_v = __is_volatile(_Tp); # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_volatile.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/apply_cv.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/apply_cv.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, bool = is_const<__libcpp_remove_reference_t<_Tp> >::value, bool = is_volatile<__libcpp_remove_reference_t<_Tp> >::value> struct __apply_cv_impl { template <class _Up> using __apply __attribute__((__nodebug__)) = _Up; }; template <class _Tp> struct __apply_cv_impl<_Tp, true, false> { template <class _Up> using __apply __attribute__((__nodebug__)) = const _Up; }; template <class _Tp> struct __apply_cv_impl<_Tp, false, true> { template <class _Up> using __apply __attribute__((__nodebug__)) = volatile _Up; }; template <class _Tp> struct __apply_cv_impl<_Tp, true, true> { template <class _Up> using __apply __attribute__((__nodebug__)) = const volatile _Up; }; template <class _Tp> struct __apply_cv_impl<_Tp&, false, false> { template <class _Up> using __apply __attribute__((__nodebug__)) = _Up&; }; template <class _Tp> struct __apply_cv_impl<_Tp&, true, false> { template <class _Up> using __apply __attribute__((__nodebug__)) = const _Up&; }; template <class _Tp> struct __apply_cv_impl<_Tp&, false, true> { template <class _Up> using __apply __attribute__((__nodebug__)) = volatile _Up&; }; template <class _Tp> struct __apply_cv_impl<_Tp&, true, true> { template <class _Up> using __apply __attribute__((__nodebug__)) = const volatile _Up&; }; template <class _Tp, class _Up> using __apply_cv_t __attribute__((__nodebug__)) = typename __apply_cv_impl<_Tp>::template __apply<_Up>; }} # 432 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/can_extract_key.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/can_extract_key.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/pair.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/pair.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class, class> struct pair; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/can_extract_key.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_const_ref.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_const_ref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __remove_const_ref_t = __remove_const_t<__libcpp_remove_reference_t<_Tp> >; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/can_extract_key.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/can_extract_key.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __extract_key_fail_tag {}; struct __extract_key_self_tag {}; struct __extract_key_first_tag {}; template <class _ValTy, class _Key, class _RawValTy = __remove_const_ref_t<_ValTy> > struct __can_extract_key : __conditional_t<_IsSame<_RawValTy, _Key>::value, __extract_key_self_tag, __extract_key_fail_tag> {}; template <class _Pair, class _Key, class _First, class _Second> struct __can_extract_key<_Pair, _Key, pair<_First, _Second> > : __conditional_t<_IsSame<__remove_const_t<_First>, _Key>::value, __extract_key_first_tag, __extract_key_fail_tag> { }; template <class _ValTy, class _Key, class _ContainerValueTy, class _RawValTy = __remove_const_ref_t<_ValTy> > struct __can_extract_map_key : integral_constant<bool, _IsSame<_RawValTy, _Key>::value> {}; template <class _ValTy, class _Key, class _RawValTy> struct __can_extract_map_key<_ValTy, _Key, _Key, _RawValTy> : false_type {}; }} # 433 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_type.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_type.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cvref.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cvref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __remove_cvref_t __attribute__((__nodebug__)) = __remove_cvref(_Tp); template <class _Tp, class _Up> struct __is_same_uncvref : _IsSame<__remove_cvref_t<_Tp>, __remove_cvref_t<_Up> > {}; # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_cvref.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_type.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/void_t.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/void_t.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class...> using void_t = void; template <class...> using __void_t = void; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_type.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_type.h" 3 template <class _Tp, class _Up, class = void> struct __common_type2_imp {}; template <class _Tp, class _Up> struct __common_type2_imp<_Tp, _Up, __void_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> > { typedef __attribute__((__nodebug__)) __decay_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> type; }; template <class, class = void> struct __common_type_impl {}; template <class... _Tp> struct __common_types; template <class... _Tp> struct common_type; template <class _Tp, class _Up> struct __common_type_impl< __common_types<_Tp, _Up>, __void_t<typename common_type<_Tp, _Up>::type> > { typedef typename common_type<_Tp, _Up>::type type; }; template <class _Tp, class _Up, class _Vp, class... _Rest> struct __common_type_impl<__common_types<_Tp, _Up, _Vp, _Rest...>, __void_t<typename common_type<_Tp, _Up>::type> > : __common_type_impl<__common_types<typename common_type<_Tp, _Up>::type, _Vp, _Rest...> > {}; template <> struct common_type<> {}; template <class _Tp> struct common_type<_Tp> : public common_type<_Tp, _Tp> {}; template <class _Tp, class _Up> struct common_type<_Tp, _Up> : conditional<_IsSame<_Tp, __decay_t<_Tp> >::value && _IsSame<_Up, __decay_t<_Up> >::value, __common_type2_imp<_Tp, _Up>, common_type<__decay_t<_Tp>, __decay_t<_Up> > >::type {}; template <class _Tp, class _Up, class _Vp, class... _Rest> struct common_type<_Tp, _Up, _Vp, _Rest...> : __common_type_impl<__common_types<_Tp, _Up, _Vp, _Rest...> > {}; template <class... _Tp> using common_type_t = typename common_type<_Tp...>::type; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/copy_cv.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/copy_cv.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _From, class _To> struct __copy_cv { using type = _To; }; template <class _From, class _To> struct __copy_cv<const _From, _To> { using type = typename add_const<_To>::type; }; template <class _From, class _To> struct __copy_cv<volatile _From, _To> { using type = typename add_volatile<_To>::type; }; template <class _From, class _To> struct __copy_cv<const volatile _From, _To> { using type = typename add_cv<_To>::type; }; template <class _From, class _To> using __copy_cv_t = typename __copy_cv<_From, _To>::type; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/copy_cvref.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/copy_cvref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _From, class _To> struct __copy_cvref { using type = __copy_cv_t<_From, _To>; }; template <class _From, class _To> struct __copy_cvref<_From&, _To> { using type = __add_lvalue_reference_t<__copy_cv_t<_From, _To> >; }; template <class _From, class _To> struct __copy_cvref<_From&&, _To> { using type = __add_rvalue_reference_t<__copy_cv_t<_From, _To> >; }; template <class _From, class _To> using __copy_cvref_t = typename __copy_cvref<_From, _To>::type; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 191 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/common_reference.h" 3 }} # 434 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/conjunction.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/conjunction.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class...> using __expand_to_true = true_type; template <class... _Pred> __expand_to_true<__enable_if_t<_Pred::value>...> __and_helper(int); template <class...> false_type __and_helper(...); template <class... _Pred> using _And __attribute__((__nodebug__)) = decltype(std::__and_helper<_Pred...>(0)); template <class...> struct conjunction : true_type {}; template <class _Arg> struct conjunction<_Arg> : _Arg {}; template <class _Arg, class... _Args> struct conjunction<_Arg, _Args...> : conditional_t<!bool(_Arg::value), _Arg, conjunction<_Args...>> {}; template <class... _Args> inline constexpr bool conjunction_v = conjunction<_Args...>::value; }} # 437 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/dependent_type.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/dependent_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, bool> struct __dependent_type : public _Tp {}; }} # 439 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/disjunction.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/disjunction.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool> struct _OrImpl; template <> struct _OrImpl<true> { template <class _Res, class _First, class... _Rest> using _Result __attribute__((__nodebug__)) = typename _OrImpl<!bool(_First::value) && sizeof...(_Rest) != 0>::template _Result<_First, _Rest...>; }; template <> struct _OrImpl<false> { template <class _Res, class...> using _Result = _Res; }; template <class... _Args> using _Or __attribute__((__nodebug__)) = typename _OrImpl<sizeof...(_Args) != 0>::template _Result<false_type, _Args...>; template <class... _Args> struct disjunction : _Or<_Args...> {}; template <class... _Args> inline constexpr bool disjunction_v = _Or<_Args...>::value; }} # 440 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/extent.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/extent.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, size_t _Dim = 0> struct extent : integral_constant<size_t, __array_extent(_Tp, _Dim)> {}; template <class _Tp, unsigned _Ip = 0> inline constexpr size_t extent_v = __array_extent(_Tp, _Ip); # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/extent.h" 3 }} # 442 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/has_unique_object_representation.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/has_unique_object_representation.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_all_extents.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_all_extents.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_all_extents { using type __attribute__((__nodebug__)) = __remove_all_extents(_Tp); }; template <class _Tp> using __remove_all_extents_t = __remove_all_extents(_Tp); # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_all_extents.h" 3 template <class _Tp> using remove_all_extents_t = __remove_all_extents_t<_Tp>; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/has_unique_object_representation.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/has_unique_object_representation.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct has_unique_object_representations : public integral_constant<bool, __has_unique_object_representations(remove_cv_t<remove_all_extents_t<_Tp>>)> {}; template <class _Tp> inline constexpr bool has_unique_object_representations_v = has_unique_object_representations<_Tp>::value; }} # 443 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/has_virtual_destructor.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/has_virtual_destructor.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct has_virtual_destructor : public integral_constant<bool, __has_virtual_destructor(_Tp)> {}; template <class _Tp> inline constexpr bool has_virtual_destructor_v = __has_virtual_destructor(_Tp); }} # 444 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_core_convertible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_core_convertible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Up, class = void> struct __is_core_convertible : public false_type {}; template <class _Tp, class _Up> struct __is_core_convertible<_Tp, _Up, decltype(static_cast<void (*)(_Up)>(0)(static_cast<_Tp (*)()>(0)()))> : public true_type {}; }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_function_pointer.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_function_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_member_pointer { enum { __is_member = false, __is_func = false, __is_obj = false }; }; template <class _Tp, class _Up> struct __libcpp_is_member_pointer<_Tp _Up::*> { enum { __is_member = true, __is_func = is_function<_Tp>::value, __is_obj = !__is_func, }; }; template <class _Tp> struct is_member_function_pointer : _BoolConstant<__is_member_function_pointer(_Tp)> {}; template <class _Tp> inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(_Tp); # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_function_pointer.h" 3 }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_object_pointer.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_object_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_member_object_pointer : _BoolConstant<__is_member_object_pointer(_Tp)> {}; template <class _Tp> inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Tp); # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_object_pointer.h" 3 }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_reference_wrapper.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_reference_wrapper.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> class reference_wrapper; template <class _Tp> struct __is_reference_wrapper_impl : public false_type {}; template <class _Tp> struct __is_reference_wrapper_impl<reference_wrapper<_Tp> > : public true_type {}; template <class _Tp> struct __is_reference_wrapper : public __is_reference_wrapper_impl<__remove_cv_t<_Tp> > {}; }} # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 2 3 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/invoke.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __any { __any(...); }; template <class _MP, bool _IsMemberFunctionPtr, bool _IsMemberObjectPtr> struct __member_pointer_traits_imp {}; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...), true, false> { typedef _Class _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...), true, false> { typedef _Class _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const, true, false> { typedef _Class const _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const, true, false> { typedef _Class const _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile, true, false> { typedef _Class volatile _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile, true, false> { typedef _Class volatile _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile, true, false> { typedef _Class const volatile _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile, true, false> { typedef _Class const volatile _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...)&, true, false> { typedef _Class& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...)&, true, false> { typedef _Class& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&, true, false> { typedef _Class const& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&, true, false> { typedef _Class const& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&, true, false> { typedef _Class volatile& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&, true, false> { typedef _Class volatile& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&, true, false> { typedef _Class const volatile& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&, true, false> { typedef _Class const volatile& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...)&&, true, false> { typedef _Class&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...)&&, true, false> { typedef _Class&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&&, true, false> { typedef _Class const&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&&, true, false> { typedef _Class const&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&&, true, false> { typedef _Class volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&&, true, false> { typedef _Class volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const volatile&&, true, false> { typedef _Class const volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param...); }; template <class _Rp, class _Class, class... _Param> struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&&, true, false> { typedef _Class const volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp(_FnType)(_Param..., ...); }; template <class _Rp, class _Class> struct __member_pointer_traits_imp<_Rp _Class::*, false, true> { typedef _Class _ClassType; typedef _Rp _ReturnType; }; template <class _MP> struct __member_pointer_traits : public __member_pointer_traits_imp<__remove_cv_t<_MP>, is_member_function_pointer<_MP>::value, is_member_object_pointer<_MP>::value> { }; template <class _DecayedFp> struct __member_pointer_class_type {}; template <class _Ret, class _ClassType> struct __member_pointer_class_type<_Ret _ClassType::*> { typedef _ClassType type; }; template <class _Fp, class _A0, class _DecayFp = __decay_t<_Fp>, class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet1 = __enable_if_t<is_member_function_pointer<_DecayFp>::value && (is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value)>; template <class _Fp, class _A0, class _DecayFp = __decay_t<_Fp>, class _DecayA0 = __decay_t<_A0> > using __enable_if_bullet2 = __enable_if_t<is_member_function_pointer<_DecayFp>::value && __is_reference_wrapper<_DecayA0>::value>; template <class _Fp, class _A0, class _DecayFp = __decay_t<_Fp>, class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet3 = __enable_if_t<is_member_function_pointer<_DecayFp>::value && !(is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value) && !__is_reference_wrapper<_DecayA0>::value>; template <class _Fp, class _A0, class _DecayFp = __decay_t<_Fp>, class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet4 = __enable_if_t<is_member_object_pointer<_DecayFp>::value && (is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value)>; template <class _Fp, class _A0, class _DecayFp = __decay_t<_Fp>, class _DecayA0 = __decay_t<_A0> > using __enable_if_bullet5 = __enable_if_t<is_member_object_pointer<_DecayFp>::value && __is_reference_wrapper<_DecayA0>::value>; template <class _Fp, class _A0, class _DecayFp = __decay_t<_Fp>, class _DecayA0 = __decay_t<_A0>, class _ClassT = typename __member_pointer_class_type<_DecayFp>::type> using __enable_if_bullet6 = __enable_if_t<is_member_object_pointer<_DecayFp>::value && !(is_same<_ClassT, _DecayA0>::value || is_base_of<_ClassT, _DecayA0>::value) && !__is_reference_wrapper<_DecayA0>::value>; template <class... _Args> __nat __invoke(__any, _Args&&... __args); template <class _Fp, class _A0, class... _Args, class = __enable_if_bullet1<_Fp, _A0> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype((std::declval<_A0>().*std::declval<_Fp>())(std::declval<_Args>()...)) __invoke(_Fp&& __f, _A0&& __a0, _Args&&... __args) noexcept(noexcept((static_cast<_A0&&>(__a0).*__f)(static_cast<_Args&&>(__args)...))) { return (static_cast<_A0&&>(__a0).*__f)(static_cast<_Args&&>(__args)...); } template <class _Fp, class _A0, class... _Args, class = __enable_if_bullet2<_Fp, _A0> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype((std::declval<_A0>().get().*std::declval<_Fp>())(std::declval<_Args>()...)) __invoke(_Fp&& __f, _A0&& __a0, _Args&&... __args) noexcept(noexcept((__a0.get().*__f)(static_cast<_Args&&>(__args)...))) { return (__a0.get().*__f)(static_cast<_Args&&>(__args)...); } template <class _Fp, class _A0, class... _Args, class = __enable_if_bullet3<_Fp, _A0> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(((*std::declval<_A0>()).*std::declval<_Fp>())(std::declval<_Args>()...)) __invoke(_Fp&& __f, _A0&& __a0, _Args&&... __args) noexcept(noexcept(((*static_cast<_A0&&>(__a0)).*__f)(static_cast<_Args&&>(__args)...))) { return ((*static_cast<_A0&&>(__a0)).*__f)(static_cast<_Args&&>(__args)...); } template <class _Fp, class _A0, class = __enable_if_bullet4<_Fp, _A0> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(std::declval<_A0>().*std::declval<_Fp>()) __invoke(_Fp&& __f, _A0&& __a0) noexcept(noexcept(static_cast<_A0&&>(__a0).*__f)) { return static_cast<_A0&&>(__a0).*__f; } template <class _Fp, class _A0, class = __enable_if_bullet5<_Fp, _A0> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(std::declval<_A0>().get().*std::declval<_Fp>()) __invoke(_Fp&& __f, _A0&& __a0) noexcept(noexcept(__a0.get().*__f)) { return __a0.get().*__f; } template <class _Fp, class _A0, class = __enable_if_bullet6<_Fp, _A0> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype((*std::declval<_A0>()).*std::declval<_Fp>()) __invoke(_Fp&& __f, _A0&& __a0) noexcept(noexcept((*static_cast<_A0&&>(__a0)).*__f)) { return (*static_cast<_A0&&>(__a0)).*__f; } template <class _Fp, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(std::declval<_Fp>()(std::declval<_Args>()...)) __invoke(_Fp&& __f, _Args&&... __args) noexcept(noexcept(static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...))) { return static_cast<_Fp&&>(__f)(static_cast<_Args&&>(__args)...); } template <class _Ret, class _Fp, class... _Args> struct __invokable_r { template <class _XFp, class... _XArgs> static decltype(std::__invoke(std::declval<_XFp>(), std::declval<_XArgs>()...)) __try_call(int); template <class _XFp, class... _XArgs> static __nat __try_call(...); using _Result = decltype(__try_call<_Fp, _Args...>(0)); using type = __conditional_t<_IsNotSame<_Result, __nat>::value, __conditional_t<is_void<_Ret>::value, true_type, __is_core_convertible<_Result, _Ret> >, false_type>; static const bool value = type::value; }; template <class _Fp, class... _Args> using __invokable = __invokable_r<void, _Fp, _Args...>; template <bool _IsInvokable, bool _IsCVVoid, class _Ret, class _Fp, class... _Args> struct __nothrow_invokable_r_imp { static const bool value = false; }; template <class _Ret, class _Fp, class... _Args> struct __nothrow_invokable_r_imp<true, false, _Ret, _Fp, _Args...> { typedef __nothrow_invokable_r_imp _ThisT; template <class _Tp> static void __test_noexcept(_Tp) noexcept; static const bool value = noexcept(_ThisT::__test_noexcept<_Ret>(std::__invoke(std::declval<_Fp>(), std::declval<_Args>()...))); }; template <class _Ret, class _Fp, class... _Args> struct __nothrow_invokable_r_imp<true, true, _Ret, _Fp, _Args...> { static const bool value = noexcept(std::__invoke(std::declval<_Fp>(), std::declval<_Args>()...)); }; template <class _Ret, class _Fp, class... _Args> using __nothrow_invokable_r = __nothrow_invokable_r_imp<__invokable_r<_Ret, _Fp, _Args...>::value, is_void<_Ret>::value, _Ret, _Fp, _Args...>; template <class _Fp, class... _Args> using __nothrow_invokable = __nothrow_invokable_r_imp<__invokable<_Fp, _Args...>::value, true, void, _Fp, _Args...>; template <class _Fp, class... _Args> struct __invoke_of : public enable_if<__invokable<_Fp, _Args...>::value, typename __invokable_r<void, _Fp, _Args...>::_Result> {}; template <class _Ret, bool = is_void<_Ret>::value> struct __invoke_void_return_wrapper { template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static _Ret __call(_Args&&... __args) { return std::__invoke(std::forward<_Args>(__args)...); } }; template <class _Ret> struct __invoke_void_return_wrapper<_Ret, true> { template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void __call(_Args&&... __args) { std::__invoke(std::forward<_Args>(__args)...); } }; template <class _Fn, class... _Args> struct is_invocable : integral_constant<bool, __invokable<_Fn, _Args...>::value> {}; template <class _Ret, class _Fn, class... _Args> struct is_invocable_r : integral_constant<bool, __invokable_r<_Ret, _Fn, _Args...>::value> {}; template <class _Fn, class... _Args> inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value; template <class _Ret, class _Fn, class... _Args> inline constexpr bool is_invocable_r_v = is_invocable_r<_Ret, _Fn, _Args...>::value; template <class _Fn, class... _Args> struct is_nothrow_invocable : integral_constant<bool, __nothrow_invokable<_Fn, _Args...>::value> { }; template <class _Ret, class _Fn, class... _Args> struct is_nothrow_invocable_r : integral_constant<bool, __nothrow_invokable_r<_Ret, _Fn, _Args...>::value> {}; template <class _Fn, class... _Args> inline constexpr bool is_nothrow_invocable_v = is_nothrow_invocable<_Fn, _Args...>::value; template <class _Ret, class _Fn, class... _Args> inline constexpr bool is_nothrow_invocable_r_v = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value; template <class _Fn, class... _Args> struct invoke_result : __invoke_of<_Fn, _Args...> {}; template <class _Fn, class... _Args> using invoke_result_t = typename invoke_result<_Fn, _Args...>::type; }} # 446 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_abstract.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_abstract.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_abstract : public integral_constant<bool, __is_abstract(_Tp)> {}; template <class _Tp> inline constexpr bool is_abstract_v = __is_abstract(_Tp); }} # 447 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_aggregate.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_aggregate.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_aggregate : public integral_constant<bool, __is_aggregate(_Tp)> {}; template <class _Tp> inline constexpr bool is_aggregate_v = __is_aggregate(_Tp); }} # 448 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_arithmetic.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_arithmetic.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_floating_point.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_floating_point.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_floating_point : public false_type {}; template <> struct __libcpp_is_floating_point<float> : public true_type {}; template <> struct __libcpp_is_floating_point<double> : public true_type {}; template <> struct __libcpp_is_floating_point<long double> : public true_type {}; template <class _Tp> struct is_floating_point : public __libcpp_is_floating_point<__remove_cv_t<_Tp> > {}; template <class _Tp> inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_arithmetic.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_arithmetic.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_arithmetic : public integral_constant<bool, is_integral<_Tp>::value || is_floating_point<_Tp>::value> {}; template <class _Tp> inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value; }} # 449 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_assignable.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Up> struct is_assignable : _BoolConstant<__is_assignable(_Tp, _Up)> {}; template <class _Tp, class _Arg> inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Arg); }} # 451 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_bounded_array.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_bounded_array.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class> struct __libcpp_is_bounded_array : false_type {}; template <class _Tp, size_t _Np> struct __libcpp_is_bounded_array<_Tp[_Np]> : true_type {}; # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_bounded_array.h" 3 }} # 453 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_callable.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_callable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Func, class... _Args, class = decltype(std::declval<_Func>()(std::declval<_Args>()...))> true_type __is_callable_helper(int); template <class...> false_type __is_callable_helper(...); template <class _Func, class... _Args> struct __is_callable : decltype(std::__is_callable_helper<_Func, _Args...>(0)) {}; }} # 454 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_char_like_type.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_char_like_type.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_standard_layout.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_standard_layout.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_standard_layout : public integral_constant<bool, __is_standard_layout(_Tp)> {}; template <class _Tp> inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp); }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_char_like_type.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivial.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivial.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivial : public integral_constant<bool, __is_trivial(_Tp)> {}; template <class _Tp> inline constexpr bool is_trivial_v = __is_trivial(_Tp); }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_char_like_type.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_char_like_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT> using _IsCharLikeType = _And<is_standard_layout<_CharT>, is_trivial<_CharT> >; }} # 455 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_compound.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_compound.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_fundamental.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_fundamental.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_null_pointer.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_null_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __is_nullptr_t_impl : public false_type {}; template <> struct __is_nullptr_t_impl<nullptr_t> : public true_type {}; template <class _Tp> struct __is_nullptr_t : public __is_nullptr_t_impl<__remove_cv_t<_Tp> > {}; template <class _Tp> struct is_null_pointer : public __is_nullptr_t_impl<__remove_cv_t<_Tp> > {}; template <class _Tp> inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_fundamental.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_fundamental.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_fundamental : _BoolConstant<__is_fundamental(_Tp)> {}; template <class _Tp> inline constexpr bool is_fundamental_v = __is_fundamental(_Tp); # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_fundamental.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_compound.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_compound.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_compound : _BoolConstant<__is_compound(_Tp)> {}; template <class _Tp> inline constexpr bool is_compound_v = __is_compound(_Tp); # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_compound.h" 3 }} # 457 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_constant_evaluated.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_constant_evaluated.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool __libcpp_is_constant_evaluated() noexcept { return __builtin_is_constant_evaluated(); } }} # 459 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_assignable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_copy_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_copy_assignable : public integral_constant< bool, __is_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; template <class _Tp> inline constexpr bool is_copy_assignable_v = is_copy_assignable<_Tp>::value; }} # 462 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_default_constructible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_default_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_default_constructible : public integral_constant<bool, __is_constructible(_Tp)> {}; template <class _Tp> inline constexpr bool is_default_constructible_v = __is_constructible(_Tp); }} # 464 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_destructible.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_destructible : _BoolConstant<__is_destructible(_Tp)> {}; template <class _Tp> inline constexpr bool is_destructible_v = __is_destructible(_Tp); # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_destructible.h" 3 }} # 465 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_empty.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_empty.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_empty : public integral_constant<bool, __is_empty(_Tp)> {}; template <class _Tp> inline constexpr bool is_empty_v = __is_empty(_Tp); }} # 466 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_enum.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_enum.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_enum : public integral_constant<bool, __is_enum(_Tp)> {}; template <class _Tp> inline constexpr bool is_enum_v = __is_enum(_Tp); }} # 467 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_implicitly_default_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> void __test_implicit_default_constructible(_Tp); template <class _Tp, class = void, class = typename is_default_constructible<_Tp>::type> struct __is_implicitly_default_constructible : false_type {}; template <class _Tp> struct __is_implicitly_default_constructible<_Tp, decltype(std::__test_implicit_default_constructible<_Tp const&>({})), true_type> : true_type {}; template <class _Tp> struct __is_implicitly_default_constructible<_Tp, decltype(std::__test_implicit_default_constructible<_Tp const&>({})), false_type> : false_type {}; }} # 472 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_literal_type.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_literal_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __attribute__((__deprecated__)) is_literal_type : public integral_constant<bool, __is_literal_type(_Tp)> {}; template <class _Tp> __attribute__((__deprecated__)) inline constexpr bool is_literal_type_v = __is_literal_type(_Tp); }} # 474 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_pointer.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_member_pointer : _BoolConstant<__is_member_pointer(_Tp)> {}; template <class _Tp> inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_member_pointer.h" 3 }} # 477 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_move_assignable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_move_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_move_assignable : public integral_constant<bool, __is_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> {}; template <class _Tp> inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value; }} # 478 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_move_constructible.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_move_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_move_constructible : public integral_constant<bool, __is_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; template <class _Tp> inline constexpr bool is_move_constructible_v = is_move_constructible<_Tp>::value; }} # 479 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Arg> struct is_nothrow_assignable : public integral_constant<bool, __is_nothrow_assignable(_Tp, _Arg)> { }; template <class _Tp, class _Arg> inline constexpr bool is_nothrow_assignable_v = __is_nothrow_assignable(_Tp, _Arg); }} # 480 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_convertible.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_convertible.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/lazy.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/lazy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <template <class...> class _Func, class... _Args> struct _Lazy : _Func<_Args...> {}; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_convertible.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_convertible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_convertible.h" 3 }} # 482 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_copy_assignable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_copy_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_nothrow_copy_assignable : public integral_constant<bool, __is_nothrow_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; template <class _Tp> inline constexpr bool is_nothrow_copy_assignable_v = is_nothrow_copy_assignable<_Tp>::value; }} # 483 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_copy_constructible.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_copy_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_copy_constructible.h" 3 template <class _Tp> struct is_nothrow_copy_constructible : public integral_constant< bool, __is_nothrow_constructible(_Tp, typename add_lvalue_reference<typename add_const<_Tp>::type>::type)> {}; template <class _Tp> inline constexpr bool is_nothrow_copy_constructible_v = is_nothrow_copy_constructible<_Tp>::value; }} # 484 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_default_constructible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_default_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_nothrow_default_constructible : public integral_constant<bool, __is_nothrow_constructible(_Tp)> {}; template <class _Tp> inline constexpr bool is_nothrow_default_constructible_v = __is_nothrow_constructible(_Tp); }} # 485 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scalar.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scalar.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_pointer.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_pointer : _BoolConstant<__is_pointer(_Tp)> {}; template <class _Tp> inline constexpr bool is_pointer_v = __is_pointer(_Tp); # 63 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_pointer.h" 3 }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scalar.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scalar.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_scalar : _BoolConstant<__is_scalar(_Tp)> {}; template <class _Tp> inline constexpr bool is_scalar_v = __is_scalar(_Tp); # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scalar.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool, class _Tp> struct __libcpp_is_nothrow_destructible; template <class _Tp> struct __libcpp_is_nothrow_destructible<false, _Tp> : public false_type {}; template <class _Tp> struct __libcpp_is_nothrow_destructible<true, _Tp> : public integral_constant<bool, noexcept(std::declval<_Tp>().~_Tp()) > {}; template <class _Tp> struct is_nothrow_destructible : public __libcpp_is_nothrow_destructible<is_destructible<_Tp>::value, _Tp> {}; template <class _Tp, size_t _Ns> struct is_nothrow_destructible<_Tp[_Ns]> : public is_nothrow_destructible<_Tp> {}; template <class _Tp> struct is_nothrow_destructible<_Tp&> : public true_type {}; template <class _Tp> struct is_nothrow_destructible<_Tp&&> : public true_type {}; # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_destructible.h" 3 template <class _Tp> inline constexpr bool is_nothrow_destructible_v = is_nothrow_destructible<_Tp>::value; }} # 486 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_assignable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_nothrow_move_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_nothrow_move_assignable : public integral_constant<bool, __is_nothrow_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> { }; template <class _Tp> inline constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable<_Tp>::value; }} # 487 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_object.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_object.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_union.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_union.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_union : public integral_constant<bool, __is_union(_Tp)> {}; template <class _Tp> inline constexpr bool is_union_v = __is_union(_Tp); }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_object.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_object.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_object : _BoolConstant<__is_object(_Tp)> {}; template <class _Tp> inline constexpr bool is_object_v = __is_object(_Tp); # 50 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_object.h" 3 }} # 490 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_pod.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_pod.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_pod : public integral_constant<bool, __is_pod(_Tp)> {}; template <class _Tp> inline constexpr bool is_pod_v = __is_pod(_Tp); }} # 491 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scoped_enum.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scoped_enum.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/underlying_type.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/underlying_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, bool = is_enum<_Tp>::value> struct __underlying_type_impl; template <class _Tp> struct __underlying_type_impl<_Tp, false> {}; template <class _Tp> struct __underlying_type_impl<_Tp, true> { typedef __underlying_type(_Tp) type; }; template <class _Tp> struct underlying_type : __underlying_type_impl<_Tp, is_enum<_Tp>::value> {}; template <class _Tp> using underlying_type_t = typename underlying_type<_Tp>::type; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scoped_enum.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scoped_enum.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_scoped_enum.h" 3 }} # 499 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_signed.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_signed.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_signed : _BoolConstant<__is_signed(_Tp)> {}; template <class _Tp> inline constexpr bool is_signed_v = __is_signed(_Tp); # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_signed.h" 3 }} # 500 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_specialization.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_specialization.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, template <class...> class _Template> inline constexpr bool __is_specialization_v = false; template <template <class...> class _Template, class... _Args> inline constexpr bool __is_specialization_v<_Template<_Args...>, _Template> = true; }} # 501 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_swappable.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_swappable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __is_swappable; template <class _Tp> struct __is_nothrow_swappable; template <class _Tp> using __swap_result_t = __enable_if_t<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>; template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __swap_result_t<_Tp> swap(_Tp& __x, _Tp& __y) noexcept(is_nothrow_move_constructible<_Tp>::value&& is_nothrow_move_assignable<_Tp>::value); template <class _Tp, size_t _Np, __enable_if_t<__is_swappable<_Tp>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable<_Tp>::value); namespace __detail { template <class _Tp, class _Up = _Tp, bool _NotVoid = !is_void<_Tp>::value && !is_void<_Up>::value> struct __swappable_with { template <class _LHS, class _RHS> static decltype(swap(std::declval<_LHS>(), std::declval<_RHS>())) __test_swap(int); template <class, class> static __nat __test_swap(long); typedef decltype((__test_swap<_Tp, _Up>(0))) __swap1; typedef decltype((__test_swap<_Up, _Tp>(0))) __swap2; static const bool value = _IsNotSame<__swap1, __nat>::value && _IsNotSame<__swap2, __nat>::value; }; template <class _Tp, class _Up> struct __swappable_with<_Tp, _Up, false> : false_type {}; template <class _Tp, class _Up = _Tp, bool _Swappable = __swappable_with<_Tp, _Up>::value> struct __nothrow_swappable_with { static const bool value = noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))&& noexcept( swap(std::declval<_Up>(), std::declval<_Tp>())); }; template <class _Tp, class _Up> struct __nothrow_swappable_with<_Tp, _Up, false> : false_type {}; } template <class _Tp> struct __is_swappable : public integral_constant<bool, __detail::__swappable_with<_Tp&>::value> {}; template <class _Tp> struct __is_nothrow_swappable : public integral_constant<bool, __detail::__nothrow_swappable_with<_Tp&>::value> {}; template <class _Tp, class _Up> struct is_swappable_with : public integral_constant<bool, __detail::__swappable_with<_Tp, _Up>::value> {}; template <class _Tp> struct is_swappable : public __conditional_t<__libcpp_is_referenceable<_Tp>::value, is_swappable_with<__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<_Tp> >, false_type> {}; template <class _Tp, class _Up> struct is_nothrow_swappable_with : public integral_constant<bool, __detail::__nothrow_swappable_with<_Tp, _Up>::value> {}; template <class _Tp> struct is_nothrow_swappable : public __conditional_t<__libcpp_is_referenceable<_Tp>::value, is_nothrow_swappable_with<__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<_Tp> >, false_type> {}; template <class _Tp, class _Up> inline constexpr bool is_swappable_with_v = is_swappable_with<_Tp, _Up>::value; template <class _Tp> inline constexpr bool is_swappable_v = is_swappable<_Tp>::value; template <class _Tp, class _Up> inline constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with<_Tp, _Up>::value; template <class _Tp> inline constexpr bool is_nothrow_swappable_v = is_nothrow_swappable<_Tp>::value; }} # 503 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_assignable.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Arg> struct is_trivially_assignable : integral_constant<bool, __is_trivially_assignable(_Tp, _Arg)> {}; template <class _Tp, class _Arg> inline constexpr bool is_trivially_assignable_v = __is_trivially_assignable(_Tp, _Arg); }} # 505 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_constructible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class... _Args> struct is_trivially_constructible : integral_constant<bool, __is_trivially_constructible(_Tp, _Args...)> {}; template <class _Tp, class... _Args> inline constexpr bool is_trivially_constructible_v = __is_trivially_constructible(_Tp, _Args...); }} # 506 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copy_assignable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copy_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_copy_assignable : public integral_constant<bool, __is_trivially_assignable(__add_lvalue_reference_t<_Tp>, __add_lvalue_reference_t<typename add_const<_Tp>::type>)> {}; template <class _Tp> inline constexpr bool is_trivially_copy_assignable_v = is_trivially_copy_assignable<_Tp>::value; }} # 507 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copy_constructible.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copy_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_copy_constructible : public integral_constant<bool, __is_trivially_constructible(_Tp, __add_lvalue_reference_t<const _Tp>)> {}; template <class _Tp> inline constexpr bool is_trivially_copy_constructible_v = is_trivially_copy_constructible<_Tp>::value; }} # 508 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copyable.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copyable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstdint" 1 3 # 158 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstdint" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::int8_t __attribute__((__using_if_exists__)); using ::int16_t __attribute__((__using_if_exists__)); using ::int32_t __attribute__((__using_if_exists__)); using ::int64_t __attribute__((__using_if_exists__)); using ::uint8_t __attribute__((__using_if_exists__)); using ::uint16_t __attribute__((__using_if_exists__)); using ::uint32_t __attribute__((__using_if_exists__)); using ::uint64_t __attribute__((__using_if_exists__)); using ::int_least8_t __attribute__((__using_if_exists__)); using ::int_least16_t __attribute__((__using_if_exists__)); using ::int_least32_t __attribute__((__using_if_exists__)); using ::int_least64_t __attribute__((__using_if_exists__)); using ::uint_least8_t __attribute__((__using_if_exists__)); using ::uint_least16_t __attribute__((__using_if_exists__)); using ::uint_least32_t __attribute__((__using_if_exists__)); using ::uint_least64_t __attribute__((__using_if_exists__)); using ::int_fast8_t __attribute__((__using_if_exists__)); using ::int_fast16_t __attribute__((__using_if_exists__)); using ::int_fast32_t __attribute__((__using_if_exists__)); using ::int_fast64_t __attribute__((__using_if_exists__)); using ::uint_fast8_t __attribute__((__using_if_exists__)); using ::uint_fast16_t __attribute__((__using_if_exists__)); using ::uint_fast32_t __attribute__((__using_if_exists__)); using ::uint_fast64_t __attribute__((__using_if_exists__)); using ::intptr_t __attribute__((__using_if_exists__)); using ::uintptr_t __attribute__((__using_if_exists__)); using ::intmax_t __attribute__((__using_if_exists__)); using ::uintmax_t __attribute__((__using_if_exists__)); }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copyable.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_copyable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_copyable : public integral_constant<bool, __is_trivially_copyable(_Tp)> {}; template <class _Tp> inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp); }} # 509 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_default_constructible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_default_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_default_constructible : public integral_constant<bool, __is_trivially_constructible(_Tp)> {}; template <class _Tp> inline constexpr bool is_trivially_default_constructible_v = __is_trivially_constructible(_Tp); }} # 510 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_destructible.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_destructible : public integral_constant<bool, __is_trivially_destructible(_Tp)> {}; # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_destructible.h" 3 template <class _Tp> inline constexpr bool is_trivially_destructible_v = is_trivially_destructible<_Tp>::value; }} # 511 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_move_assignable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_move_assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_move_assignable : public integral_constant< bool, __is_trivially_assignable(__add_lvalue_reference_t<_Tp>, __add_rvalue_reference_t<_Tp>)> {}; template <class _Tp> inline constexpr bool is_trivially_move_assignable_v = is_trivially_move_assignable<_Tp>::value; }} # 512 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_move_constructible.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_move_constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_trivially_move_constructible : public integral_constant<bool, __is_trivially_constructible(_Tp, __add_rvalue_reference_t<_Tp>)> {}; template <class _Tp> inline constexpr bool is_trivially_move_constructible_v = is_trivially_move_constructible<_Tp>::value; }} # 513 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unbounded_array.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unbounded_array.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class> struct __libcpp_is_unbounded_array : false_type {}; template <class _Tp> struct __libcpp_is_unbounded_array<_Tp[]> : true_type {}; # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unbounded_array.h" 3 }} # 514 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unsigned.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unsigned.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct is_unsigned : _BoolConstant<__is_unsigned(_Tp)> {}; template <class _Tp> inline constexpr bool is_unsigned_v = __is_unsigned(_Tp); # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unsigned.h" 3 }} # 516 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_const_lvalue_ref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __make_const_lvalue_ref = const __libcpp_remove_reference_t<_Tp>&; }} # 519 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_signed.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_signed.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __make_signed_t = __make_signed(_Tp); # 77 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_signed.h" 3 template <class _Tp> struct make_signed { using type __attribute__((__nodebug__)) = __make_signed_t<_Tp>; }; template <class _Tp> using make_signed_t = __make_signed_t<_Tp>; }} # 520 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_unsigned.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_unsigned.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __make_unsigned_t = __make_unsigned(_Tp); # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/make_unsigned.h" 3 template <class _Tp> struct make_unsigned { using type __attribute__((__nodebug__)) = __make_unsigned_t<_Tp>; }; template <class _Tp> using make_unsigned_t = __make_unsigned_t<_Tp>; template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __make_unsigned_t<_Tp> __to_unsigned_like(_Tp __x) noexcept { return static_cast<__make_unsigned_t<_Tp> >(__x); } template <class _Tp, class _Up> using __copy_unsigned_t = __conditional_t<is_unsigned<_Tp>::value, __make_unsigned_t<_Up>, _Up>; }} # 521 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/maybe_const.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/maybe_const.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool _Const, class _Tp> using __maybe_const = __conditional_t<_Const, const _Tp, _Tp>; }} # 522 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/negation.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/negation.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Pred> struct _Not : _BoolConstant<!_Pred::value> {}; template <class _Tp> struct negation : _Not<_Tp> {}; template <class _Tp> inline constexpr bool negation_v = !_Tp::value; }} # 523 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/rank.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/rank.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/rank.h" 3 template <class _Tp> struct rank : public integral_constant<size_t, 0> {}; template <class _Tp> struct rank<_Tp[]> : public integral_constant<size_t, rank<_Tp>::value + 1> {}; template <class _Tp, size_t _Np> struct rank<_Tp[_Np]> : public integral_constant<size_t, rank<_Tp>::value + 1> {}; template <class _Tp> inline constexpr size_t rank_v = rank<_Tp>::value; }} # 524 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_pointer.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_pointer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct remove_pointer { using type __attribute__((__nodebug__)) = __remove_pointer(_Tp); }; template <class _Tp> using __remove_pointer_t = __remove_pointer(_Tp); # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/remove_pointer.h" 3 template <class _Tp> using remove_pointer_t = __remove_pointer_t<_Tp>; }} # 530 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/result_of.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/result_of.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/invoke.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/invoke.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Fn, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) invoke_result_t<_Fn, _Args...> invoke(_Fn&& __f, _Args&&... __args) noexcept(is_nothrow_invocable_v<_Fn, _Args...>) { return std::__invoke(std::forward<_Fn>(__f), std::forward<_Args>(__args)...); } # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/invoke.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/result_of.h" 2 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/result_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Callable> class __attribute__((__deprecated__)) result_of; template <class _Fp, class... _Args> class result_of<_Fp(_Args...)> : public __invoke_of<_Fp, _Args...> {}; template <class _Tp> using result_of_t __attribute__((__deprecated__)) = typename result_of<_Tp>::type; }} # 533 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/type_identity.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/type_identity.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __type_identity { typedef _Tp type; }; template <class _Tp> using __type_identity_t __attribute__((__nodebug__)) = typename __type_identity<_Tp>::type; # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/type_identity.h" 3 }} # 534 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/unwrap_ref.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/unwrap_ref.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __unwrap_reference { typedef __attribute__((__nodebug__)) _Tp type; }; template <class _Tp> class reference_wrapper; template <class _Tp> struct __unwrap_reference<reference_wrapper<_Tp> > { typedef __attribute__((__nodebug__)) _Tp& type; }; template <class _Tp> struct decay; # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/unwrap_ref.h" 3 template <class _Tp> struct __unwrap_ref_decay : __unwrap_reference<__decay_t<_Tp> > { }; }} # 536 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 2 3 # 544 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/type_traits" 3 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/exception" 2 3 # 366 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/new" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 3 template <class _Tp, class... _Args, class = decltype(::new(std::declval<void*>()) _Tp(std::declval<_Args>()...))> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __construct_at(_Tp* __location, _Args&&... __args) { return ((void)0), ::new (std::__voidify(*__location)) _Tp(std::forward<_Args>(__args)...); } template <class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __destroy(_ForwardIterator, _ForwardIterator); template <class _Tp, __enable_if_t<!is_array<_Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __destroy_at(_Tp* __loc) { ((void)0); __loc->~_Tp(); } # 78 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 3 template <class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __destroy(_ForwardIterator __first, _ForwardIterator __last) { for (; __first != __last; ++__first) std::__destroy_at(std::addressof(*__first)); return __first; } template <class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _BidirectionalIterator __reverse_destroy(_BidirectionalIterator __first, _BidirectionalIterator __last) { while (__last != __first) { --__last; std::__destroy_at(std::addressof(*__last)); } return __last; } template <class _Tp, enable_if_t<!is_array_v<_Tp>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void destroy_at(_Tp* __loc) { std::__destroy_at(__loc); } # 110 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/construct_at.h" 3 template <class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void destroy(_ForwardIterator __first, _ForwardIterator __last) { (void)std::__destroy(std::move(__first), std::move(__last)); } template <class _ForwardIterator, class _Size> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator destroy_n(_ForwardIterator __first, _Size __n) { for (; __n > 0; (void)++__first, --__n) std::__destroy_at(std::addressof(*__first)); return __first; } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/pointer_traits.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/pointer_traits.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class = void> struct __has_element_type : false_type {}; template <class _Tp> struct __has_element_type<_Tp, __void_t<typename _Tp::element_type> > : true_type {}; template <class _Ptr, bool = __has_element_type<_Ptr>::value> struct __pointer_traits_element_type {}; template <class _Ptr> struct __pointer_traits_element_type<_Ptr, true> { typedef __attribute__((__nodebug__)) typename _Ptr::element_type type; }; template <template <class, class...> class _Sp, class _Tp, class... _Args> struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, true> { typedef __attribute__((__nodebug__)) typename _Sp<_Tp, _Args...>::element_type type; }; template <template <class, class...> class _Sp, class _Tp, class... _Args> struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, false> { typedef __attribute__((__nodebug__)) _Tp type; }; template <class _Tp, class = void> struct __has_difference_type : false_type {}; template <class _Tp> struct __has_difference_type<_Tp, __void_t<typename _Tp::difference_type> > : true_type {}; template <class _Ptr, bool = __has_difference_type<_Ptr>::value> struct __pointer_traits_difference_type { typedef __attribute__((__nodebug__)) ptrdiff_t type; }; template <class _Ptr> struct __pointer_traits_difference_type<_Ptr, true> { typedef __attribute__((__nodebug__)) typename _Ptr::difference_type type; }; template <class _Tp, class _Up> struct __has_rebind { private: template <class _Xp> static false_type __test(...); #pragma GCC diagnostic push # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/pointer_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/pointer_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Xp> static true_type __test(typename _Xp::template rebind<_Up>* = 0); #pragma GCC diagnostic pop public: static const bool value = decltype(__test<_Tp>(0))::value; }; template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value> struct __pointer_traits_rebind { typedef __attribute__((__nodebug__)) typename _Tp::template rebind<_Up> type; }; template <template <class, class...> class _Sp, class _Tp, class... _Args, class _Up> struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, true> { typedef __attribute__((__nodebug__)) typename _Sp<_Tp, _Args...>::template rebind<_Up> type; }; template <template <class, class...> class _Sp, class _Tp, class... _Args, class _Up> struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, false> { typedef _Sp<_Up, _Args...> type; }; template <class _Ptr, class = void> struct __pointer_traits_impl {}; template <class _Ptr> struct __pointer_traits_impl<_Ptr, __void_t<typename __pointer_traits_element_type<_Ptr>::type> > { typedef _Ptr pointer; typedef typename __pointer_traits_element_type<pointer>::type element_type; typedef typename __pointer_traits_difference_type<pointer>::type difference_type; template <class _Up> using rebind = typename __pointer_traits_rebind<pointer, _Up>::type; private: struct __nat {}; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static pointer pointer_to(__conditional_t<is_void<element_type>::value, __nat, element_type>& __r) { return pointer::pointer_to(__r); } }; template <class _Ptr> struct pointer_traits : __pointer_traits_impl<_Ptr> {}; template <class _Tp> struct pointer_traits<_Tp*> { typedef _Tp* pointer; typedef _Tp element_type; typedef ptrdiff_t difference_type; template <class _Up> using rebind = _Up*; private: struct __nat {}; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static pointer pointer_to(__conditional_t<is_void<element_type>::value, __nat, element_type>& __r) noexcept { return std::addressof(__r); } }; template <class _From, class _To> using __rebind_pointer_t = typename pointer_traits<_From>::template rebind<_To>; template <class _Pointer, class = void> struct __to_address_helper; template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __to_address(_Tp* __p) noexcept { static_assert(!is_function<_Tp>::value, "_Tp is a function type"); return __p; } template <class _Pointer, class = void> struct _HasToAddress : false_type {}; template <class _Pointer> struct _HasToAddress<_Pointer, decltype((void)pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>())) > : true_type {}; template <class _Pointer, class = void> struct _HasArrow : false_type {}; template <class _Pointer> struct _HasArrow<_Pointer, decltype((void)std::declval<const _Pointer&>().operator->()) > : true_type {}; template <class _Pointer> struct _IsFancyPointer { static const bool value = _HasArrow<_Pointer>::value || _HasToAddress<_Pointer>::value; }; template <class _Pointer, class = __enable_if_t< _And<is_class<_Pointer>, _IsFancyPointer<_Pointer> >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __decay_t<decltype(__to_address_helper<_Pointer>::__call(std::declval<const _Pointer&>()))> __to_address(const _Pointer& __p) noexcept { return __to_address_helper<_Pointer>::__call(__p); } template <class _Pointer, class> struct __to_address_helper { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static decltype(std::__to_address( std::declval<const _Pointer&>().operator->())) __call(const _Pointer& __p) noexcept { return std::__to_address(__p.operator->()); } }; template <class _Pointer> struct __to_address_helper<_Pointer, decltype((void)pointer_traits<_Pointer>::to_address(std::declval<const _Pointer&>()))> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static decltype(pointer_traits<_Pointer>::to_address( std::declval<const _Pointer&>())) __call(const _Pointer& __p) noexcept { return pointer_traits<_Pointer>::to_address(__p); } }; # 243 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/pointer_traits.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 1 3 # 113 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 117 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { enum float_round_style { round_indeterminate = -1, round_toward_zero = 0, round_to_nearest = 1, round_toward_infinity = 2, round_toward_neg_infinity = 3 }; enum float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, denorm_present = 1 }; template <class _Tp, bool = is_arithmetic<_Tp>::value> class __libcpp_numeric_limits { protected: typedef _Tp type; static constexpr const bool is_specialized = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return type(); } static constexpr const int digits = 0; static constexpr const int digits10 = 0; static constexpr const int max_digits10 = 0; static constexpr const bool is_signed = false; static constexpr const bool is_integer = false; static constexpr const bool is_exact = false; static constexpr const int radix = 0; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return type(); } static constexpr const int min_exponent = 0; static constexpr const int min_exponent10 = 0; static constexpr const int max_exponent = 0; static constexpr const int max_exponent10 = 0; static constexpr const bool has_infinity = false; static constexpr const bool has_quiet_NaN = false; static constexpr const bool has_signaling_NaN = false; static constexpr const float_denorm_style has_denorm = denorm_absent; static constexpr const bool has_denorm_loss = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return type(); } static constexpr const bool is_iec559 = false; static constexpr const bool is_bounded = false; static constexpr const bool is_modulo = false; static constexpr const bool traps = false; static constexpr const bool tinyness_before = false; static constexpr const float_round_style round_style = round_toward_zero; }; template <class _Tp, int __digits, bool _IsSigned> struct __libcpp_compute_min { static constexpr const _Tp value = _Tp(_Tp(1) << __digits); }; template <class _Tp, int __digits> struct __libcpp_compute_min<_Tp, __digits, false> { static constexpr const _Tp value = _Tp(0); }; template <class _Tp> class __libcpp_numeric_limits<_Tp, true> { protected: typedef _Tp type; static constexpr const bool is_specialized = true; static constexpr const bool is_signed = type(-1) < type(0); static constexpr const int digits = static_cast<int>(sizeof(type) * 8 - is_signed); static constexpr const int digits10 = digits * 3 / 10; static constexpr const int max_digits10 = 0; static constexpr const type __min = __libcpp_compute_min<type, digits, is_signed>::value; static constexpr const type __max = is_signed ? type(type(~0) ^ __min) : type(~0); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return __min; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return __max; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return min(); } static constexpr const bool is_integer = true; static constexpr const bool is_exact = true; static constexpr const int radix = 2; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return type(0); } static constexpr const int min_exponent = 0; static constexpr const int min_exponent10 = 0; static constexpr const int max_exponent = 0; static constexpr const int max_exponent10 = 0; static constexpr const bool has_infinity = false; static constexpr const bool has_quiet_NaN = false; static constexpr const bool has_signaling_NaN = false; static constexpr const float_denorm_style has_denorm = denorm_absent; static constexpr const bool has_denorm_loss = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return type(0); } static constexpr const bool is_iec559 = false; static constexpr const bool is_bounded = true; static constexpr const bool is_modulo = !std::is_signed<_Tp>::value; static constexpr const bool traps = false; static constexpr const bool tinyness_before = false; static constexpr const float_round_style round_style = round_toward_zero; }; template <> class __libcpp_numeric_limits<bool, true> { protected: typedef bool type; static constexpr const bool is_specialized = true; static constexpr const bool is_signed = false; static constexpr const int digits = 1; static constexpr const int digits10 = 0; static constexpr const int max_digits10 = 0; static constexpr const type __min = false; static constexpr const type __max = true; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return __min; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return __max; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return min(); } static constexpr const bool is_integer = true; static constexpr const bool is_exact = true; static constexpr const int radix = 2; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return type(0); } static constexpr const int min_exponent = 0; static constexpr const int min_exponent10 = 0; static constexpr const int max_exponent = 0; static constexpr const int max_exponent10 = 0; static constexpr const bool has_infinity = false; static constexpr const bool has_quiet_NaN = false; static constexpr const bool has_signaling_NaN = false; static constexpr const float_denorm_style has_denorm = denorm_absent; static constexpr const bool has_denorm_loss = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return type(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return type(0); } static constexpr const bool is_iec559 = false; static constexpr const bool is_bounded = true; static constexpr const bool is_modulo = false; static constexpr const bool traps = false; static constexpr const bool tinyness_before = false; static constexpr const float_round_style round_style = round_toward_zero; }; template <> class __libcpp_numeric_limits<float, true> { protected: typedef float type; static constexpr const bool is_specialized = true; static constexpr const bool is_signed = true; static constexpr const int digits = 24; static constexpr const int digits10 = 6; static constexpr const int max_digits10 = 2 + (digits * 30103l) / 100000l; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return 1.17549435e-38F; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return 3.40282347e+38F; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return -max(); } static constexpr const bool is_integer = false; static constexpr const bool is_exact = false; static constexpr const int radix = 2; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return 1.19209290e-7F; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return 0.5F; } static constexpr const int min_exponent = (-125); static constexpr const int min_exponent10 = (-37); static constexpr const int max_exponent = 128; static constexpr const int max_exponent10 = 38; static constexpr const bool has_infinity = true; static constexpr const bool has_quiet_NaN = true; static constexpr const bool has_signaling_NaN = true; static constexpr const float_denorm_style has_denorm = denorm_present; static constexpr const bool has_denorm_loss = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __builtin_huge_valf(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __builtin_nanf(""); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __builtin_nansf(""); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return 1.40129846e-45F; } static constexpr const bool is_iec559 = true; static constexpr const bool is_bounded = true; static constexpr const bool is_modulo = false; static constexpr const bool traps = false; static constexpr const bool tinyness_before = true; static constexpr const float_round_style round_style = round_to_nearest; }; template <> class __libcpp_numeric_limits<double, true> { protected: typedef double type; static constexpr const bool is_specialized = true; static constexpr const bool is_signed = true; static constexpr const int digits = 53; static constexpr const int digits10 = 15; static constexpr const int max_digits10 = 2 + (digits * 30103l) / 100000l; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return 2.2250738585072014e-308; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return 1.7976931348623157e+308; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return -max(); } static constexpr const bool is_integer = false; static constexpr const bool is_exact = false; static constexpr const int radix = 2; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return 2.2204460492503131e-16; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return 0.5; } static constexpr const int min_exponent = (-1021); static constexpr const int min_exponent10 = (-307); static constexpr const int max_exponent = 1024; static constexpr const int max_exponent10 = 308; static constexpr const bool has_infinity = true; static constexpr const bool has_quiet_NaN = true; static constexpr const bool has_signaling_NaN = true; static constexpr const float_denorm_style has_denorm = denorm_present; static constexpr const bool has_denorm_loss = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __builtin_huge_val(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __builtin_nan(""); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __builtin_nans(""); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return 4.9406564584124654e-324; } static constexpr const bool is_iec559 = true; static constexpr const bool is_bounded = true; static constexpr const bool is_modulo = false; static constexpr const bool traps = false; static constexpr const bool tinyness_before = true; static constexpr const float_round_style round_style = round_to_nearest; }; template <> class __libcpp_numeric_limits<long double, true> { protected: typedef long double type; static constexpr const bool is_specialized = true; static constexpr const bool is_signed = true; static constexpr const int digits = 53; static constexpr const int digits10 = 15; static constexpr const int max_digits10 = 2 + (digits * 30103l) / 100000l; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return 2.2250738585072014e-308L; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return 1.7976931348623157e+308L; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return -max(); } static constexpr const bool is_integer = false; static constexpr const bool is_exact = false; static constexpr const int radix = 2; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return 2.2204460492503131e-16L; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return 0.5L; } static constexpr const int min_exponent = (-1021); static constexpr const int min_exponent10 = (-307); static constexpr const int max_exponent = 1024; static constexpr const int max_exponent10 = 308; static constexpr const bool has_infinity = true; static constexpr const bool has_quiet_NaN = true; static constexpr const bool has_signaling_NaN = true; static constexpr const float_denorm_style has_denorm = denorm_present; static constexpr const bool has_denorm_loss = false; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __builtin_huge_vall(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __builtin_nanl(""); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __builtin_nansl(""); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return 4.9406564584124654e-324L; } static constexpr const bool is_iec559 = true; static constexpr const bool is_bounded = true; static constexpr const bool is_modulo = false; static constexpr const bool traps = false; static constexpr const bool tinyness_before = true; static constexpr const float_round_style round_style = round_to_nearest; }; template <class _Tp> class numeric_limits : private __libcpp_numeric_limits<__remove_cv_t<_Tp> > { typedef __libcpp_numeric_limits<__remove_cv_t<_Tp> > __base; typedef typename __base::type type; public: static constexpr const bool is_specialized = __base::is_specialized; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return __base::min(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return __base::max(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return __base::lowest(); } static constexpr const int digits = __base::digits; static constexpr const int digits10 = __base::digits10; static constexpr const int max_digits10 = __base::max_digits10; static constexpr const bool is_signed = __base::is_signed; static constexpr const bool is_integer = __base::is_integer; static constexpr const bool is_exact = __base::is_exact; static constexpr const int radix = __base::radix; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return __base::epsilon(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return __base::round_error(); } static constexpr const int min_exponent = __base::min_exponent; static constexpr const int min_exponent10 = __base::min_exponent10; static constexpr const int max_exponent = __base::max_exponent; static constexpr const int max_exponent10 = __base::max_exponent10; static constexpr const bool has_infinity = __base::has_infinity; static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; #pragma GCC diagnostic push # 467 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 467 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; #pragma GCC diagnostic pop __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __base::infinity(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __base::quiet_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __base::signaling_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return __base::denorm_min(); } static constexpr const bool is_iec559 = __base::is_iec559; static constexpr const bool is_bounded = __base::is_bounded; static constexpr const bool is_modulo = __base::is_modulo; static constexpr const bool traps = __base::traps; static constexpr const bool tinyness_before = __base::tinyness_before; static constexpr const float_round_style round_style = __base::round_style; }; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_specialized; template <class _Tp> constexpr const int numeric_limits<_Tp>::digits; template <class _Tp> constexpr const int numeric_limits<_Tp>::digits10; template <class _Tp> constexpr const int numeric_limits<_Tp>::max_digits10; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_signed; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_integer; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_exact; template <class _Tp> constexpr const int numeric_limits<_Tp>::radix; template <class _Tp> constexpr const int numeric_limits<_Tp>::min_exponent; template <class _Tp> constexpr const int numeric_limits<_Tp>::min_exponent10; template <class _Tp> constexpr const int numeric_limits<_Tp>::max_exponent; template <class _Tp> constexpr const int numeric_limits<_Tp>::max_exponent10; template <class _Tp> constexpr const bool numeric_limits<_Tp>::has_infinity; template <class _Tp> constexpr const bool numeric_limits<_Tp>::has_quiet_NaN; template <class _Tp> constexpr const bool numeric_limits<_Tp>::has_signaling_NaN; template <class _Tp> constexpr const float_denorm_style numeric_limits<_Tp>::has_denorm; template <class _Tp> constexpr const bool numeric_limits<_Tp>::has_denorm_loss; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_iec559; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_bounded; template <class _Tp> constexpr const bool numeric_limits<_Tp>::is_modulo; template <class _Tp> constexpr const bool numeric_limits<_Tp>::traps; template <class _Tp> constexpr const bool numeric_limits<_Tp>::tinyness_before; template <class _Tp> constexpr const float_round_style numeric_limits<_Tp>::round_style; template <class _Tp> class numeric_limits<const _Tp> : private numeric_limits<_Tp> { typedef numeric_limits<_Tp> __base; typedef _Tp type; public: static constexpr const bool is_specialized = __base::is_specialized; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return __base::min(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return __base::max(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return __base::lowest(); } static constexpr const int digits = __base::digits; static constexpr const int digits10 = __base::digits10; static constexpr const int max_digits10 = __base::max_digits10; static constexpr const bool is_signed = __base::is_signed; static constexpr const bool is_integer = __base::is_integer; static constexpr const bool is_exact = __base::is_exact; static constexpr const int radix = __base::radix; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return __base::epsilon(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return __base::round_error(); } static constexpr const int min_exponent = __base::min_exponent; static constexpr const int min_exponent10 = __base::min_exponent10; static constexpr const int max_exponent = __base::max_exponent; static constexpr const int max_exponent10 = __base::max_exponent10; static constexpr const bool has_infinity = __base::has_infinity; static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; #pragma GCC diagnostic push # 561 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 561 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; #pragma GCC diagnostic pop __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __base::infinity(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __base::quiet_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __base::signaling_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return __base::denorm_min(); } static constexpr const bool is_iec559 = __base::is_iec559; static constexpr const bool is_bounded = __base::is_bounded; static constexpr const bool is_modulo = __base::is_modulo; static constexpr const bool traps = __base::traps; static constexpr const bool tinyness_before = __base::tinyness_before; static constexpr const float_round_style round_style = __base::round_style; }; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_specialized; template <class _Tp> constexpr const int numeric_limits<const _Tp>::digits; template <class _Tp> constexpr const int numeric_limits<const _Tp>::digits10; template <class _Tp> constexpr const int numeric_limits<const _Tp>::max_digits10; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_signed; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_integer; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_exact; template <class _Tp> constexpr const int numeric_limits<const _Tp>::radix; template <class _Tp> constexpr const int numeric_limits<const _Tp>::min_exponent; template <class _Tp> constexpr const int numeric_limits<const _Tp>::min_exponent10; template <class _Tp> constexpr const int numeric_limits<const _Tp>::max_exponent; template <class _Tp> constexpr const int numeric_limits<const _Tp>::max_exponent10; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::has_infinity; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::has_quiet_NaN; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::has_signaling_NaN; template <class _Tp> constexpr const float_denorm_style numeric_limits<const _Tp>::has_denorm; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::has_denorm_loss; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_iec559; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_bounded; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::is_modulo; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::traps; template <class _Tp> constexpr const bool numeric_limits<const _Tp>::tinyness_before; template <class _Tp> constexpr const float_round_style numeric_limits<const _Tp>::round_style; template <class _Tp> class numeric_limits<volatile _Tp> : private numeric_limits<_Tp> { typedef numeric_limits<_Tp> __base; typedef _Tp type; public: static constexpr const bool is_specialized = __base::is_specialized; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return __base::min(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return __base::max(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return __base::lowest(); } static constexpr const int digits = __base::digits; static constexpr const int digits10 = __base::digits10; static constexpr const int max_digits10 = __base::max_digits10; static constexpr const bool is_signed = __base::is_signed; static constexpr const bool is_integer = __base::is_integer; static constexpr const bool is_exact = __base::is_exact; static constexpr const int radix = __base::radix; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return __base::epsilon(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return __base::round_error(); } static constexpr const int min_exponent = __base::min_exponent; static constexpr const int min_exponent10 = __base::min_exponent10; static constexpr const int max_exponent = __base::max_exponent; static constexpr const int max_exponent10 = __base::max_exponent10; static constexpr const bool has_infinity = __base::has_infinity; static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; #pragma GCC diagnostic push # 655 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 655 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; #pragma GCC diagnostic pop __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __base::infinity(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __base::quiet_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __base::signaling_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return __base::denorm_min(); } static constexpr const bool is_iec559 = __base::is_iec559; static constexpr const bool is_bounded = __base::is_bounded; static constexpr const bool is_modulo = __base::is_modulo; static constexpr const bool traps = __base::traps; static constexpr const bool tinyness_before = __base::tinyness_before; static constexpr const float_round_style round_style = __base::round_style; }; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_specialized; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::digits; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::digits10; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::max_digits10; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_signed; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_integer; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_exact; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::radix; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::min_exponent; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::min_exponent10; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::max_exponent; template <class _Tp> constexpr const int numeric_limits<volatile _Tp>::max_exponent10; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::has_infinity; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::has_quiet_NaN; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::has_signaling_NaN; template <class _Tp> constexpr const float_denorm_style numeric_limits<volatile _Tp>::has_denorm; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::has_denorm_loss; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_iec559; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_bounded; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::is_modulo; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::traps; template <class _Tp> constexpr const bool numeric_limits<volatile _Tp>::tinyness_before; template <class _Tp> constexpr const float_round_style numeric_limits<volatile _Tp>::round_style; template <class _Tp> class numeric_limits<const volatile _Tp> : private numeric_limits<_Tp> { typedef numeric_limits<_Tp> __base; typedef _Tp type; public: static constexpr const bool is_specialized = __base::is_specialized; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type min() noexcept { return __base::min(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type max() noexcept { return __base::max(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type lowest() noexcept { return __base::lowest(); } static constexpr const int digits = __base::digits; static constexpr const int digits10 = __base::digits10; static constexpr const int max_digits10 = __base::max_digits10; static constexpr const bool is_signed = __base::is_signed; static constexpr const bool is_integer = __base::is_integer; static constexpr const bool is_exact = __base::is_exact; static constexpr const int radix = __base::radix; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type epsilon() noexcept { return __base::epsilon(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type round_error() noexcept { return __base::round_error(); } static constexpr const int min_exponent = __base::min_exponent; static constexpr const int min_exponent10 = __base::min_exponent10; static constexpr const int max_exponent = __base::max_exponent; static constexpr const int max_exponent10 = __base::max_exponent10; static constexpr const bool has_infinity = __base::has_infinity; static constexpr const bool has_quiet_NaN = __base::has_quiet_NaN; static constexpr const bool has_signaling_NaN = __base::has_signaling_NaN; #pragma GCC diagnostic push # 749 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 749 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/limits" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; #pragma GCC diagnostic pop __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type infinity() noexcept { return __base::infinity(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type quiet_NaN() noexcept { return __base::quiet_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type signaling_NaN() noexcept { return __base::signaling_NaN(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr type denorm_min() noexcept { return __base::denorm_min(); } static constexpr const bool is_iec559 = __base::is_iec559; static constexpr const bool is_bounded = __base::is_bounded; static constexpr const bool is_modulo = __base::is_modulo; static constexpr const bool traps = __base::traps; static constexpr const bool tinyness_before = __base::tinyness_before; static constexpr const float_round_style round_style = __base::round_style; }; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_specialized; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::digits; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::digits10; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::max_digits10; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_signed; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_integer; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_exact; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::radix; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::min_exponent; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::min_exponent10; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::max_exponent; template <class _Tp> constexpr const int numeric_limits<const volatile _Tp>::max_exponent10; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::has_infinity; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::has_quiet_NaN; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::has_signaling_NaN; template <class _Tp> constexpr const float_denorm_style numeric_limits<const volatile _Tp>::has_denorm; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::has_denorm_loss; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_iec559; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_bounded; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::is_modulo; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::traps; template <class _Tp> constexpr const bool numeric_limits<const volatile _Tp>::tinyness_before; template <class _Tp> constexpr const float_round_style numeric_limits<const volatile _Tp>::round_style; }} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 template <class _Tp, class = void> struct __has_pointer : false_type {}; template <class _Tp> struct __has_pointer<_Tp, __void_t<typename _Tp::pointer > > : true_type {}; template <class _Tp, class _Alloc, class _RawAlloc = __libcpp_remove_reference_t<_Alloc>, bool = __has_pointer<_RawAlloc>::value> struct __pointer { using type __attribute__((__nodebug__)) = typename _RawAlloc::pointer; }; template <class _Tp, class _Alloc, class _RawAlloc> struct __pointer<_Tp, _Alloc, _RawAlloc, false> { using type __attribute__((__nodebug__)) = _Tp*; }; template <class _Tp, class = void> struct __has_const_pointer : false_type {}; template <class _Tp> struct __has_const_pointer<_Tp, __void_t<typename _Tp::const_pointer > > : true_type {}; template <class _Tp, class _Ptr, class _Alloc, bool = __has_const_pointer<_Alloc>::value> struct __const_pointer { using type __attribute__((__nodebug__)) = typename _Alloc::const_pointer; }; template <class _Tp, class _Ptr, class _Alloc> struct __const_pointer<_Tp, _Ptr, _Alloc, false> { using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::template rebind<const _Tp>; }; template <class _Tp, class = void> struct __has_void_pointer : false_type {}; template <class _Tp> struct __has_void_pointer<_Tp, __void_t<typename _Tp::void_pointer > > : true_type {}; template <class _Ptr, class _Alloc, bool = __has_void_pointer<_Alloc>::value> struct __void_pointer { using type __attribute__((__nodebug__)) = typename _Alloc::void_pointer; }; template <class _Ptr, class _Alloc> struct __void_pointer<_Ptr, _Alloc, false> { using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::template rebind<void>; }; template <class _Tp, class = void> struct __has_const_void_pointer : false_type {}; template <class _Tp> struct __has_const_void_pointer<_Tp, __void_t<typename _Tp::const_void_pointer > > : true_type {}; template <class _Ptr, class _Alloc, bool = __has_const_void_pointer<_Alloc>::value> struct __const_void_pointer { using type __attribute__((__nodebug__)) = typename _Alloc::const_void_pointer; }; template <class _Ptr, class _Alloc> struct __const_void_pointer<_Ptr, _Alloc, false> { using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::template rebind<const void>; }; template <class _Tp, class = void> struct __has_size_type : false_type {}; template <class _Tp> struct __has_size_type<_Tp, __void_t<typename _Tp::size_type > > : true_type {}; template <class _Alloc, class _DiffType, bool = __has_size_type<_Alloc>::value> struct __size_type : make_unsigned<_DiffType> {}; template <class _Alloc, class _DiffType> struct __size_type<_Alloc, _DiffType, true> { using type __attribute__((__nodebug__)) = typename _Alloc::size_type; }; template <class _Tp, class = void> struct __has_alloc_traits_difference_type : false_type {}; template <class _Tp> struct __has_alloc_traits_difference_type<_Tp, __void_t<typename _Tp::difference_type > > : true_type {}; template <class _Alloc, class _Ptr, bool = __has_alloc_traits_difference_type<_Alloc>::value> struct __alloc_traits_difference_type { using type __attribute__((__nodebug__)) = typename pointer_traits<_Ptr>::difference_type; }; template <class _Alloc, class _Ptr> struct __alloc_traits_difference_type<_Alloc, _Ptr, true> { using type __attribute__((__nodebug__)) = typename _Alloc::difference_type; }; template <class _Tp, class = void> struct __has_propagate_on_container_copy_assignment : false_type {}; template <class _Tp> struct __has_propagate_on_container_copy_assignment<_Tp, __void_t<typename _Tp::propagate_on_container_copy_assignment > > : true_type {}; template <class _Alloc, bool = __has_propagate_on_container_copy_assignment<_Alloc>::value> struct __propagate_on_container_copy_assignment : false_type {}; template <class _Alloc> struct __propagate_on_container_copy_assignment<_Alloc, true> { using type __attribute__((__nodebug__)) = typename _Alloc::propagate_on_container_copy_assignment; }; template <class _Tp, class = void> struct __has_propagate_on_container_move_assignment : false_type {}; template <class _Tp> struct __has_propagate_on_container_move_assignment<_Tp, __void_t<typename _Tp::propagate_on_container_move_assignment > > : true_type {}; template <class _Alloc, bool = __has_propagate_on_container_move_assignment<_Alloc>::value> struct __propagate_on_container_move_assignment : false_type {}; template <class _Alloc> struct __propagate_on_container_move_assignment<_Alloc, true> { using type __attribute__((__nodebug__)) = typename _Alloc::propagate_on_container_move_assignment; }; template <class _Tp, class = void> struct __has_propagate_on_container_swap : false_type {}; template <class _Tp> struct __has_propagate_on_container_swap<_Tp, __void_t<typename _Tp::propagate_on_container_swap > > : true_type {}; template <class _Alloc, bool = __has_propagate_on_container_swap<_Alloc>::value> struct __propagate_on_container_swap : false_type {}; template <class _Alloc> struct __propagate_on_container_swap<_Alloc, true> { using type __attribute__((__nodebug__)) = typename _Alloc::propagate_on_container_swap; }; template <class _Tp, class = void> struct __has_is_always_equal : false_type {}; template <class _Tp> struct __has_is_always_equal<_Tp, __void_t<typename _Tp::is_always_equal > > : true_type {}; template <class _Alloc, bool = __has_is_always_equal<_Alloc>::value> struct __is_always_equal : is_empty<_Alloc> {}; template <class _Alloc> struct __is_always_equal<_Alloc, true> { using type __attribute__((__nodebug__)) = typename _Alloc::is_always_equal; }; #pragma GCC diagnostic push # 158 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 158 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Tp, class _Up, class = void> struct __has_rebind_other : false_type {}; template <class _Tp, class _Up> struct __has_rebind_other<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>::other> > : true_type {}; template <class _Tp, class _Up, bool = __has_rebind_other<_Tp, _Up>::value> struct __allocator_traits_rebind { static_assert(__has_rebind_other<_Tp, _Up>::value, "This allocator has to implement rebind"); using type __attribute__((__nodebug__)) = typename _Tp::template rebind<_Up>::other; }; template <template <class, class...> class _Alloc, class _Tp, class... _Args, class _Up> struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, true> { using type __attribute__((__nodebug__)) = typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other; }; template <template <class, class...> class _Alloc, class _Tp, class... _Args, class _Up> struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false> { using type __attribute__((__nodebug__)) = _Alloc<_Up, _Args...>; }; #pragma GCC diagnostic pop template <class _Alloc, class _Tp> using __allocator_traits_rebind_t = typename __allocator_traits_rebind<_Alloc, _Tp>::type; #pragma GCC diagnostic push # 182 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 182 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Alloc, class _SizeType, class _ConstVoidPtr, class = void> struct __has_allocate_hint : false_type {}; template <class _Alloc, class _SizeType, class _ConstVoidPtr> struct __has_allocate_hint< _Alloc, _SizeType, _ConstVoidPtr, decltype((void)std::declval<_Alloc>().allocate(std::declval<_SizeType>(), std::declval<_ConstVoidPtr>()))> : true_type {}; template <class, class _Alloc, class... _Args> struct __has_construct_impl : false_type {}; template <class _Alloc, class... _Args> struct __has_construct_impl<decltype((void)std::declval<_Alloc>().construct(std::declval<_Args>()...)), _Alloc, _Args...> : true_type {}; template <class _Alloc, class... _Args> struct __has_construct : __has_construct_impl<void, _Alloc, _Args...> {}; template <class _Alloc, class _Pointer, class = void> struct __has_destroy : false_type {}; template <class _Alloc, class _Pointer> struct __has_destroy<_Alloc, _Pointer, decltype((void)std::declval<_Alloc>().destroy(std::declval<_Pointer>()))> : true_type {}; template <class _Alloc, class = void> struct __has_max_size : false_type {}; template <class _Alloc> struct __has_max_size<_Alloc, decltype((void)std::declval<_Alloc&>().max_size())> : true_type {}; template <class _Alloc, class = void> struct __has_select_on_container_copy_construction : false_type {}; template <class _Alloc> struct __has_select_on_container_copy_construction< _Alloc, decltype((void)std::declval<_Alloc>().select_on_container_copy_construction())> : true_type {}; #pragma GCC diagnostic pop template <class _Alloc> struct allocator_traits { using allocator_type = _Alloc; using value_type = typename allocator_type::value_type; using pointer = typename __pointer<value_type, allocator_type>::type; using const_pointer = typename __const_pointer<value_type, pointer, allocator_type>::type; using void_pointer = typename __void_pointer<pointer, allocator_type>::type; using const_void_pointer = typename __const_void_pointer<pointer, allocator_type>::type; using difference_type = typename __alloc_traits_difference_type<allocator_type, pointer>::type; using size_type = typename __size_type<allocator_type, difference_type>::type; using propagate_on_container_copy_assignment = typename __propagate_on_container_copy_assignment<allocator_type>::type; using propagate_on_container_move_assignment = typename __propagate_on_container_move_assignment<allocator_type>::type; using propagate_on_container_swap = typename __propagate_on_container_swap<allocator_type>::type; using is_always_equal = typename __is_always_equal<allocator_type>::type; template <class _Tp> using rebind_alloc = __allocator_traits_rebind_t<allocator_type, _Tp>; template <class _Tp> using rebind_traits = allocator_traits<rebind_alloc<_Tp> >; # 267 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static pointer allocate(allocator_type& __a, size_type __n) { return __a.allocate(__n); } template <class _Ap = _Alloc, class = __enable_if_t<__has_allocate_hint<_Ap, size_type, const_void_pointer>::value> > [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) { #pragma GCC diagnostic push # 275 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 275 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" return __a.allocate(__n, __hint); #pragma GCC diagnostic pop } template <class _Ap = _Alloc, class = void, class = __enable_if_t<!__has_allocate_hint<_Ap, size_type, const_void_pointer>::value> > [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer) { return __a.allocate(__n); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void deallocate(allocator_type& __a, pointer __p, size_type __n) noexcept { __a.deallocate(__p, __n); } template <class _Tp, class... _Args, class = __enable_if_t<__has_construct<allocator_type, _Tp*, _Args...>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args) { #pragma GCC diagnostic push # 295 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 295 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" __a.construct(__p, std::forward<_Args>(__args)...); #pragma GCC diagnostic pop } template <class _Tp, class... _Args, class = void, class = __enable_if_t<!__has_construct<allocator_type, _Tp*, _Args...>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void construct(allocator_type&, _Tp* __p, _Args&&... __args) { std::__construct_at(__p, std::forward<_Args>(__args)...); } template <class _Tp, class = __enable_if_t<__has_destroy<allocator_type, _Tp*>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void destroy(allocator_type& __a, _Tp* __p) { #pragma GCC diagnostic push # 310 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 310 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" __a.destroy(__p); #pragma GCC diagnostic pop } template <class _Tp, class = void, class = __enable_if_t<!__has_destroy<allocator_type, _Tp*>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void destroy(allocator_type&, _Tp* __p) { std::__destroy_at(__p); } template <class _Ap = _Alloc, class = __enable_if_t<__has_max_size<const _Ap>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static size_type max_size(const allocator_type& __a) noexcept { #pragma GCC diagnostic push # 321 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 321 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_traits.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" return __a.max_size(); #pragma GCC diagnostic pop } template <class _Ap = _Alloc, class = void, class = __enable_if_t<!__has_max_size<const _Ap>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static size_type max_size(const allocator_type&) noexcept { return numeric_limits<size_type>::max() / sizeof(value_type); } template <class _Ap = _Alloc, class = __enable_if_t<__has_select_on_container_copy_construction<const _Ap>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static allocator_type select_on_container_copy_construction(const allocator_type& __a) { return __a.select_on_container_copy_construction(); } template <class _Ap = _Alloc, class = void, class = __enable_if_t<!__has_select_on_container_copy_construction<const _Ap>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static allocator_type select_on_container_copy_construction(const allocator_type& __a) { return __a; } }; template <class _Traits, class _Tp> using __rebind_alloc __attribute__((__nodebug__)) = typename _Traits::template rebind_alloc<_Tp>; template <class _Tp> struct __is_default_allocator : false_type {}; template <class> class allocator; template <class _Tp> struct __is_default_allocator<allocator<_Tp> > : true_type {}; template <class _Alloc, class = void> struct __is_cpp17_move_insertable : is_move_constructible<typename _Alloc::value_type> {}; template <class _Alloc> struct __is_cpp17_move_insertable< _Alloc, __enable_if_t< !__is_default_allocator<_Alloc>::value && __has_construct<_Alloc, typename _Alloc::value_type*, typename _Alloc::value_type&&>::value > > : true_type {}; template <class _Alloc, class = void> struct __is_cpp17_copy_insertable : integral_constant<bool, is_copy_constructible<typename _Alloc::value_type>::value && __is_cpp17_move_insertable<_Alloc>::value > {}; template <class _Alloc> struct __is_cpp17_copy_insertable< _Alloc, __enable_if_t< !__is_default_allocator<_Alloc>::value && __has_construct<_Alloc, typename _Alloc::value_type*, const typename _Alloc::value_type&>::value > > : __is_cpp17_move_insertable<_Alloc> {}; template <class _Alloc> struct __asan_annotate_container_with_allocator : true_type {}; template <class _Tp> struct __asan_annotate_container_with_allocator<allocator<_Tp> > : true_type {}; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocate_at_least.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocate_at_least.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocate_at_least.h" 3 template <class _Pointer> struct __allocation_result { _Pointer ptr; size_t count; }; template <class _Alloc> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __allocation_result<typename allocator_traits<_Alloc>::pointer> __allocate_at_least(_Alloc& __alloc, size_t __n) { return {__alloc.allocate(__n), __n}; } }} # 926 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocation_guard.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocation_guard.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocation_guard.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocation_guard.h" 3 template <class _Alloc> struct __allocation_guard { using _Pointer = typename allocator_traits<_Alloc>::pointer; using _Size = typename allocator_traits<_Alloc>::size_type; template <class _AllocT> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __allocation_guard(_AllocT __alloc, _Size __n) : __alloc_(std::move(__alloc)), __n_(__n), __ptr_(allocator_traits<_Alloc>::allocate(__alloc_, __n_)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~__allocation_guard() noexcept { __destroy(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __allocation_guard(const __allocation_guard&) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __allocation_guard(__allocation_guard&& __other) noexcept : __alloc_(std::move(__other.__alloc_)), __n_(__other.__n_), __ptr_(__other.__ptr_) { __other.__ptr_ = nullptr; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __allocation_guard& operator=(const __allocation_guard& __other) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __allocation_guard& operator=(__allocation_guard&& __other) noexcept { if (std::addressof(__other) != this) { __destroy(); __alloc_ = std::move(__other.__alloc_); __n_ = __other.__n_; __ptr_ = __other.__ptr_; __other.__ptr_ = nullptr; } return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Pointer __release_ptr() noexcept { _Pointer __tmp = __ptr_; __ptr_ = nullptr; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Pointer __get() const noexcept { return __ptr_; } private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __destroy() noexcept { if (__ptr_ != nullptr) { allocator_traits<_Alloc>::deallocate(__alloc_, __ptr_, __n_); } } _Alloc __alloc_; _Size __n_; _Pointer __ptr_; }; }} # 927 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> class allocator; template <> class allocator<void> { public: __attribute__((__deprecated__)) typedef void* pointer; __attribute__((__deprecated__)) typedef const void* const_pointer; __attribute__((__deprecated__)) typedef void value_type; template <class _Up> struct __attribute__((__deprecated__)) rebind { typedef allocator<_Up> other; }; }; template <> class allocator<const void> { public: __attribute__((__deprecated__)) typedef const void* pointer; __attribute__((__deprecated__)) typedef const void* const_pointer; __attribute__((__deprecated__)) typedef const void value_type; template <class _Up> struct __attribute__((__deprecated__)) rebind { typedef allocator<_Up> other; }; }; # 82 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator.h" 3 template <bool _Cond, class _Unique> struct __non_trivial_if {}; template <class _Unique> struct __non_trivial_if<true, _Unique> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __non_trivial_if() noexcept {} }; template <class _Tp> class allocator : private __non_trivial_if<!is_void<_Tp>::value, allocator<_Tp> > { static_assert(!is_volatile<_Tp>::value, "std::allocator does not support volatile types"); public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Tp value_type; typedef true_type propagate_on_container_move_assignment; typedef true_type is_always_equal; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) allocator() noexcept = default; template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) allocator(const allocator<_Up>&) noexcept {} [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* allocate(size_t __n) { if (__n > allocator_traits<allocator>::max_size(*this)) __throw_bad_array_new_length(); if (__libcpp_is_constant_evaluated()) { return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } else { return static_cast<_Tp*>(std::__libcpp_allocate(__n * sizeof(_Tp), alignof(_Tp))); } } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void deallocate(_Tp* __p, size_t __n) noexcept { if (__libcpp_is_constant_evaluated()) { ::operator delete(__p); } else { std::__libcpp_deallocate((void*)__p, __n * sizeof(_Tp), alignof(_Tp)); } } __attribute__((__deprecated__)) typedef _Tp* pointer; __attribute__((__deprecated__)) typedef const _Tp* const_pointer; __attribute__((__deprecated__)) typedef _Tp& reference; __attribute__((__deprecated__)) typedef const _Tp& const_reference; template <class _Up> struct __attribute__((__deprecated__)) rebind { typedef allocator<_Up> other; }; __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pointer address(reference __x) const noexcept { return std::addressof(__x); } __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const_pointer address(const_reference __x) const noexcept { return std::addressof(__x); } [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__deprecated__)) _Tp* allocate(size_t __n, const void*) { return allocate(__n); } __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_type max_size() const noexcept { return size_type(~0) / sizeof(_Tp); } template <class _Up, class... _Args> __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void construct(_Up* __p, _Args&&... __args) { ::new ((void*)__p) _Up(std::forward<_Args>(__args)...); } __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void destroy(pointer __p) { __p->~_Tp(); } }; template <class _Tp> class allocator<const _Tp> : private __non_trivial_if<!is_void<_Tp>::value, allocator<const _Tp> > { static_assert(!is_volatile<_Tp>::value, "std::allocator does not support volatile types"); public: typedef size_t size_type; typedef ptrdiff_t difference_type; typedef const _Tp value_type; typedef true_type propagate_on_container_move_assignment; typedef true_type is_always_equal; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) allocator() noexcept = default; template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) allocator(const allocator<_Up>&) noexcept {} [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const _Tp* allocate(size_t __n) { if (__n > allocator_traits<allocator>::max_size(*this)) __throw_bad_array_new_length(); if (__libcpp_is_constant_evaluated()) { return static_cast<const _Tp*>(::operator new(__n * sizeof(_Tp))); } else { return static_cast<const _Tp*>(std::__libcpp_allocate(__n * sizeof(_Tp), alignof(_Tp))); } } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void deallocate(const _Tp* __p, size_t __n) { if (__libcpp_is_constant_evaluated()) { ::operator delete(const_cast<_Tp*>(__p)); } else { std::__libcpp_deallocate((void*)const_cast<_Tp*>(__p), __n * sizeof(_Tp), alignof(_Tp)); } } __attribute__((__deprecated__)) typedef const _Tp* pointer; __attribute__((__deprecated__)) typedef const _Tp* const_pointer; __attribute__((__deprecated__)) typedef const _Tp& reference; __attribute__((__deprecated__)) typedef const _Tp& const_reference; template <class _Up> struct __attribute__((__deprecated__)) rebind { typedef allocator<_Up> other; }; __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const_pointer address(const_reference __x) const noexcept { return std::addressof(__x); } [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__deprecated__)) const _Tp* allocate(size_t __n, const void*) { return allocate(__n); } __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_type max_size() const noexcept { return size_type(~0) / sizeof(_Tp); } template <class _Up, class... _Args> __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void construct(_Up* __p, _Args&&... __args) { ::new ((void*)__p) _Up(std::forward<_Args>(__args)...); } __attribute__((__deprecated__)) __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void destroy(pointer __p) { __p->~_Tp(); } }; template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const allocator<_Tp>&, const allocator<_Up>&) noexcept { return true; } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) noexcept { return false; } }} # 928 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_arg_t.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_arg_t.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __has_allocator_type { private: template <class _Up> static false_type __test(...); template <class _Up> static true_type __test(typename _Up::allocator_type* = 0); public: static const bool value = decltype(__test<_Tp>(0))::value; }; template <class _Tp, class _Alloc, bool = __has_allocator_type<_Tp>::value> struct __uses_allocator : public integral_constant<bool, is_convertible<_Alloc, typename _Tp::allocator_type>::value> { }; template <class _Tp, class _Alloc> struct __uses_allocator<_Tp, _Alloc, false> : public false_type {}; template <class _Tp, class _Alloc> struct uses_allocator : public __uses_allocator<_Tp, _Alloc> {}; template <class _Tp, class _Alloc> inline constexpr bool uses_allocator_v = uses_allocator<_Tp, _Alloc>::value; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_arg_t.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_arg_t.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct allocator_arg_t { explicit allocator_arg_t() = default; }; inline constexpr allocator_arg_t allocator_arg = allocator_arg_t(); # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_arg_t.h" 3 template <class _Tp, class _Alloc, class... _Args> struct __uses_alloc_ctor_imp { typedef __attribute__((__nodebug__)) __remove_cvref_t<_Alloc> _RawAlloc; static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value; static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value; static const int value = __ua ? 2 - __ic : 0; }; template <class _Tp, class _Alloc, class... _Args> struct __uses_alloc_ctor : integral_constant<int, __uses_alloc_ctor_imp<_Tp, _Alloc, _Args...>::value> {}; template <class _Tp, class _Allocator, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __user_alloc_construct_impl(integral_constant<int, 0>, _Tp* __storage, const _Allocator&, _Args&&... __args) { new (__storage) _Tp(std::forward<_Args>(__args)...); } template <class _Tp, class _Allocator, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __user_alloc_construct_impl(integral_constant<int, 1>, _Tp* __storage, const _Allocator& __a, _Args&&... __args) { new (__storage) _Tp(allocator_arg, __a, std::forward<_Args>(__args)...); } template <class _Tp, class _Allocator, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __user_alloc_construct_impl(integral_constant<int, 2>, _Tp* __storage, const _Allocator& __a, _Args&&... __args) { new (__storage) _Tp(std::forward<_Args>(__args)..., __a); } }} # 929 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/assume_aligned.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/assume_aligned.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t _Np, class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __assume_aligned(_Tp* __ptr) { static_assert(_Np != 0 && (_Np & (_Np - 1)) == 0, "std::assume_aligned<N>(p) requires N to be a power of two"); if (__libcpp_is_constant_evaluated()) { return __ptr; } else { ((void)0); return static_cast<_Tp*>(__builtin_assume_aligned(__ptr, _Np)); } } # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/assume_aligned.h" 3 }} # 931 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/auto_ptr.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/auto_ptr.h" 3 # 932 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/assignable.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/assignable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_reference_with.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_reference_with.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/convertible_to.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/convertible_to.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/convertible_to.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_reference_with.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/same_as.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/same_as.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/same_as.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_reference_with.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_reference_with.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_reference_with.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/assignable.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/assignable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/assignable.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/constructible.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/constructible.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/destructible.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/destructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/destructible.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/constructible.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/constructible.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/constructible.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/movable.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/movable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/class_or_enum.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/class_or_enum.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/class_or_enum.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exchange.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exchange.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exchange.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _T1, class _T2 = _T1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _T1 exchange(_T1& __obj, _T2&& __new_value) noexcept( is_nothrow_move_constructible<_T1>::value && is_nothrow_assignable<_T1&, _T2>::value) { _T1 __old_value = std::move(__obj); __obj = std::forward<_T2>(__new_value); return __old_value; } }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/swap.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/swap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/swap.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __swap_result_t = __enable_if_t<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>; template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __swap_result_t<_Tp> swap(_Tp& __x, _Tp& __y) noexcept(is_nothrow_move_constructible<_Tp>::value&& is_nothrow_move_assignable<_Tp>::value) { _Tp __t(std::move(__x)); __x = std::move(__y); __y = std::move(__t); } template <class _Tp, size_t _Np, __enable_if_t<__is_swappable<_Tp>::value, int> > inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable<_Tp>::value) { for (size_t __i = 0; __i != _Np; ++__i) { swap(__a[__i], __b[__i]); } } }} # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 119 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/swappable.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/movable.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/movable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/movable.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/copyable.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/array.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/array.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, size_t _Size> struct array; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/subrange.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/subrange.h" 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/tuple.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/tuple.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class...> class tuple; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_element.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_element.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_indices.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_indices.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/integer_sequence.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/integer_sequence.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t...> struct __tuple_indices; template <class _IdxType, _IdxType... _Values> struct __integer_sequence { template <template <class _OIdxType, _OIdxType...> class _ToIndexSeq, class _ToIndexType> using __convert = _ToIndexSeq<_ToIndexType, _Values...>; template <size_t _Sp> using __to_tuple_indices = __tuple_indices<(_Values + _Sp)...>; }; # 86 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/integer_sequence.h" 3 template <size_t _Ep, size_t _Sp> using __make_indices_imp = typename __make_integer_seq<__integer_sequence, size_t, _Ep - _Sp>::template __to_tuple_indices<_Sp>; # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/integer_sequence.h" 3 template <class _Tp, _Tp... _Ip> struct integer_sequence { typedef _Tp value_type; static_assert(is_integral<_Tp>::value, "std::integer_sequence can only be instantiated with an integral type"); static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t size() noexcept { return sizeof...(_Ip); } }; template <size_t... _Ip> using index_sequence = integer_sequence<size_t, _Ip...>; template <class _Tp, _Tp _Ep> using __make_integer_sequence __attribute__((__nodebug__)) = __make_integer_seq<integer_sequence, _Tp, _Ep>; # 132 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/integer_sequence.h" 3 template <class _Tp, _Tp _Np> using make_integer_sequence = __make_integer_sequence<_Tp, _Np>; template <size_t _Np> using make_index_sequence = make_integer_sequence<size_t, _Np>; template <class... _Tp> using index_sequence_for = make_index_sequence<sizeof...(_Tp)>; # 151 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/integer_sequence.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_indices.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_indices.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t...> struct __tuple_indices {}; template <size_t _Ep, size_t _Sp = 0> struct __make_tuple_indices { static_assert(_Sp <= _Ep, "__make_tuple_indices input error"); typedef __make_indices_imp<_Ep, _Sp> type; }; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_element.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_types.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_types.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class... _Tp> struct __tuple_types {}; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_element.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_element.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t _Ip, class _Tp> struct tuple_element; template <size_t _Ip, class _Tp> struct tuple_element<_Ip, const _Tp> { typedef __attribute__((__nodebug__)) typename add_const<typename tuple_element<_Ip, _Tp>::type>::type type; }; template <size_t _Ip, class _Tp> struct tuple_element<_Ip, volatile _Tp> { typedef __attribute__((__nodebug__)) typename add_volatile<typename tuple_element<_Ip, _Tp>::type>::type type; }; template <size_t _Ip, class _Tp> struct tuple_element<_Ip, const volatile _Tp> { typedef __attribute__((__nodebug__)) typename add_cv<typename tuple_element<_Ip, _Tp>::type>::type type; }; # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_element.h" 3 template <size_t _Ip, class... _Types> struct tuple_element<_Ip, __tuple_types<_Types...> > { static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range"); typedef __attribute__((__nodebug__)) __type_pack_element<_Ip, _Types...> type; }; template <size_t _Ip, class... _Tp> using tuple_element_t __attribute__((__nodebug__)) = typename tuple_element<_Ip, _Tp...>::type; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t _Ip, class... _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type& get(tuple<_Tp...>&) noexcept; template <size_t _Ip, class... _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type& get(const tuple<_Tp...>&) noexcept; template <size_t _Ip, class... _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(tuple<_Tp...>&&) noexcept; template <size_t _Ip, class... _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(const tuple<_Tp...>&&) noexcept; template <size_t _Ip, class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(pair<_T1, _T2>&) noexcept; template <size_t _Ip, class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(const pair<_T1, _T2>&) noexcept; template <size_t _Ip, class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(pair<_T1, _T2>&&) noexcept; template <size_t _Ip, class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(const pair<_T1, _T2>&&) noexcept; template <size_t _Ip, class _Tp, size_t _Size> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp& get(array<_Tp, _Size>&) noexcept; template <size_t _Ip, class _Tp, size_t _Size> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& get(const array<_Tp, _Size>&) noexcept; template <size_t _Ip, class _Tp, size_t _Size> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp&& get(array<_Tp, _Size>&&) noexcept; template <size_t _Ip, class _Tp, size_t _Size> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp&& get(const array<_Tp, _Size>&&) noexcept; # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/get.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/piecewise_construct.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/piecewise_construct.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; inline constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); }} # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/compressed_pair.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __default_init_tag {}; struct __value_init_tag {}; template <class _Tp, int _Idx, bool _CanBeEmptyBase = is_empty<_Tp>::value && !__libcpp_is_final<_Tp>::value> struct __compressed_pair_elem { using _ParamT = _Tp; using reference = _Tp&; using const_reference = const _Tp&; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem(__default_init_tag) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem(__value_init_tag) : __value_() {} template <class _Up, class = __enable_if_t<!is_same<__compressed_pair_elem, __decay_t<_Up> >::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem(_Up&& __u) : __value_(std::forward<_Up>(__u)) {} template <class... _Args, size_t... _Indices> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem( piecewise_construct_t, tuple<_Args...> __args, __tuple_indices<_Indices...>) : __value_(std::forward<_Args>(std::get<_Indices>(__args))...) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference __get() noexcept { return __value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const_reference __get() const noexcept { return __value_; } private: _Tp __value_; }; template <class _Tp, int _Idx> struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp { using _ParamT = _Tp; using reference = _Tp&; using const_reference = const _Tp&; using __value_type = _Tp; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem(__default_init_tag) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem(__value_init_tag) : __value_type() {} template <class _Up, class = __enable_if_t<!is_same<__compressed_pair_elem, __decay_t<_Up> >::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair_elem(_Up&& __u) : __value_type(std::forward<_Up>(__u)) {} template <class... _Args, size_t... _Indices> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __compressed_pair_elem(piecewise_construct_t, tuple<_Args...> __args, __tuple_indices<_Indices...>) : __value_type(std::forward<_Args>(std::get<_Indices>(__args))...) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference __get() noexcept { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const_reference __get() const noexcept { return *this; } }; template <class _T1, class _T2> class __compressed_pair : private __compressed_pair_elem<_T1, 0>, private __compressed_pair_elem<_T2, 1> { public: static_assert( (!is_same<_T1, _T2>::value), "__compressed_pair cannot be instantiated when T1 and T2 are the same type; " "The current implementation is NOT ABI-compatible with the previous implementation for this configuration"); using _Base1 __attribute__((__nodebug__)) = __compressed_pair_elem<_T1, 0>; using _Base2 __attribute__((__nodebug__)) = __compressed_pair_elem<_T2, 1>; template <bool _Dummy = true, class = __enable_if_t< __dependent_type<is_default_constructible<_T1>, _Dummy>::value && __dependent_type<is_default_constructible<_T2>, _Dummy>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair() : _Base1(__value_init_tag()), _Base2(__value_init_tag()) {} template <class _U1, class _U2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair(_U1&& __t1, _U2&& __t2) : _Base1(std::forward<_U1>(__t1)), _Base2(std::forward<_U2>(__t2)) {} template <class... _Args1, class... _Args2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __compressed_pair( piecewise_construct_t __pc, tuple<_Args1...> __first_args, tuple<_Args2...> __second_args) : _Base1(__pc, std::move(__first_args), typename __make_tuple_indices<sizeof...(_Args1)>::type()), _Base2(__pc, std::move(__second_args), typename __make_tuple_indices<sizeof...(_Args2)>::type()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename _Base1::reference first() noexcept { return static_cast<_Base1&>(*this).__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename _Base1::const_reference first() const noexcept { return static_cast<_Base1 const&>(*this).__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename _Base2::reference second() noexcept { return static_cast<_Base2&>(*this).__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename _Base2::const_reference second() const noexcept { return static_cast<_Base2 const&>(*this).__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static _Base1* __get_first_base(__compressed_pair* __pair) noexcept { return static_cast<_Base1*>(__pair); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static _Base2* __get_second_base(__compressed_pair* __pair) noexcept { return static_cast<_Base2*>(__pair); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void swap(__compressed_pair& __x) noexcept(__is_nothrow_swappable<_T1>::value&& __is_nothrow_swappable<_T2>::value) { using std::swap; swap(first(), __x.first()); swap(second(), __x.second()); } }; template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void swap(__compressed_pair<_T1, _T2>& __x, __compressed_pair<_T1, _T2>& __y) noexcept(__is_nothrow_swappable<_T1>::value&& __is_nothrow_swappable<_T2>::value) { __x.swap(__y); } }} # 933 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/arithmetic.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/arithmetic.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_signed_integer.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_signed_integer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_signed_integer : public false_type {}; template <> struct __libcpp_is_signed_integer<signed char> : public true_type {}; template <> struct __libcpp_is_signed_integer<signed short> : public true_type {}; template <> struct __libcpp_is_signed_integer<signed int> : public true_type {}; template <> struct __libcpp_is_signed_integer<signed long> : public true_type {}; template <> struct __libcpp_is_signed_integer<signed long long> : public true_type {}; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/arithmetic.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unsigned_integer.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_unsigned_integer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_unsigned_integer : public false_type {}; template <> struct __libcpp_is_unsigned_integer<unsigned char> : public true_type {}; template <> struct __libcpp_is_unsigned_integer<unsigned short> : public true_type {}; template <> struct __libcpp_is_unsigned_integer<unsigned int> : public true_type {}; template <> struct __libcpp_is_unsigned_integer<unsigned long> : public true_type {}; template <> struct __libcpp_is_unsigned_integer<unsigned long long> : public true_type {}; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/arithmetic.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/arithmetic.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 50 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/arithmetic.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/derived_from.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/derived_from.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/derived_from.h" 3 }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/equality_comparable.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/equality_comparable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/boolean_testable.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/boolean_testable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/boolean_testable.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/equality_comparable.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/equality_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/equality_comparable.h" 3 }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/invocable.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/invocable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/invocable.h" 3 }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/predicate.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/predicate.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/predicate.h" 3 }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/regular.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/regular.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/semiregular.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/semiregular.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/semiregular.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/regular.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/regular.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/regular.h" 3 }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/relation.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/relation.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/relation.h" 3 }} # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/totally_ordered.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/totally_ordered.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/totally_ordered.h" 3 }} # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/incrementable_traits.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/incrementable_traits.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_primary_template.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_primary_template.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_valid_expansion.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_valid_expansion.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <template <class...> class _Templ, class... _Args, class = _Templ<_Args...> > true_type __sfinae_test_impl(int); template <template <class...> class, class...> false_type __sfinae_test_impl(...); template <template <class...> class _Templ, class... _Args> using _IsValidExpansion __attribute__((__nodebug__)) = decltype(std::__sfinae_test_impl<_Templ, _Args...>(0)); }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_primary_template.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_primary_template.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> using __test_for_primary_template = __enable_if_t<_IsSame<_Tp, typename _Tp::__primary_template>::value>; template <class _Tp> using __is_primary_template = _IsValidExpansion<__test_for_primary_template, _Tp>; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/incrementable_traits.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/incrementable_traits.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 77 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/incrementable_traits.h" 3 }} # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_move.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_move.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/readable_traits.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/readable_traits.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/readable_traits.h" 3 }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 2 3 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 65 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 3 template <class _Iter> struct iterator_traits; struct input_iterator_tag {}; struct output_iterator_tag {}; struct forward_iterator_tag : public input_iterator_tag {}; struct bidirectional_iterator_tag : public forward_iterator_tag {}; struct random_access_iterator_tag : public bidirectional_iterator_tag {}; template <class _Iter> struct __iter_traits_cache { using type = _If< __is_primary_template<iterator_traits<_Iter> >::value, _Iter, iterator_traits<_Iter> >; }; template <class _Iter> using _ITER_TRAITS = typename __iter_traits_cache<_Iter>::type; struct __iter_concept_concept_test { template <class _Iter> using _Apply = typename _ITER_TRAITS<_Iter>::iterator_concept; }; struct __iter_concept_category_test { template <class _Iter> using _Apply = typename _ITER_TRAITS<_Iter>::iterator_category; }; struct __iter_concept_random_fallback { template <class _Iter> using _Apply = __enable_if_t< __is_primary_template<iterator_traits<_Iter> >::value, random_access_iterator_tag >; }; template <class _Iter, class _Tester> struct __test_iter_concept : _IsValidExpansion<_Tester::template _Apply, _Iter>, _Tester {}; template <class _Iter> struct __iter_concept_cache { using type = _Or< __test_iter_concept<_Iter, __iter_concept_concept_test>, __test_iter_concept<_Iter, __iter_concept_category_test>, __test_iter_concept<_Iter, __iter_concept_random_fallback> >; }; template <class _Iter> using _ITER_CONCEPT = typename __iter_concept_cache<_Iter>::type::template _Apply<_Iter>; template <class _Tp> struct __has_iterator_typedefs { private: template <class _Up> static false_type __test(...); template <class _Up> static true_type __test(__void_t<typename _Up::iterator_category>* = nullptr, __void_t<typename _Up::difference_type>* = nullptr, __void_t<typename _Up::value_type>* = nullptr, __void_t<typename _Up::reference>* = nullptr, __void_t<typename _Up::pointer>* = nullptr); public: static const bool value = decltype(__test<_Tp>(0, 0, 0, 0, 0))::value; }; template <class _Tp> struct __has_iterator_category { private: template <class _Up> static false_type __test(...); template <class _Up> static true_type __test(typename _Up::iterator_category* = nullptr); public: static const bool value = decltype(__test<_Tp>(nullptr))::value; }; template <class _Tp> struct __has_iterator_concept { private: template <class _Up> static false_type __test(...); template <class _Up> static true_type __test(typename _Up::iterator_concept* = nullptr); public: static const bool value = decltype(__test<_Tp>(nullptr))::value; }; # 371 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 3 template <class _Iter, bool> struct __iterator_traits {}; template <class _Iter, bool> struct __iterator_traits_impl {}; template <class _Iter> struct __iterator_traits_impl<_Iter, true> { typedef typename _Iter::difference_type difference_type; typedef typename _Iter::value_type value_type; typedef typename _Iter::pointer pointer; typedef typename _Iter::reference reference; typedef typename _Iter::iterator_category iterator_category; }; template <class _Iter> struct __iterator_traits<_Iter, true> : __iterator_traits_impl< _Iter, is_convertible<typename _Iter::iterator_category, input_iterator_tag>::value || is_convertible<typename _Iter::iterator_category, output_iterator_tag>::value > {}; template <class _Iter> struct iterator_traits : __iterator_traits<_Iter, __has_iterator_typedefs<_Iter>::value> { using __primary_template = iterator_traits; }; template <class _Tp> struct iterator_traits<_Tp*> { typedef ptrdiff_t difference_type; typedef __remove_cv_t<_Tp> value_type; typedef _Tp* pointer; typedef _Tp& reference; typedef random_access_iterator_tag iterator_category; }; template <class _Tp, class _Up, bool = __has_iterator_category<iterator_traits<_Tp> >::value> struct __has_iterator_category_convertible_to : is_convertible<typename iterator_traits<_Tp>::iterator_category, _Up> { }; template <class _Tp, class _Up> struct __has_iterator_category_convertible_to<_Tp, _Up, false> : false_type {}; template <class _Tp, class _Up, bool = __has_iterator_concept<_Tp>::value> struct __has_iterator_concept_convertible_to : is_convertible<typename _Tp::iterator_concept, _Up> {}; template <class _Tp, class _Up> struct __has_iterator_concept_convertible_to<_Tp, _Up, false> : false_type {}; template <class _Tp> using __has_input_iterator_category = __has_iterator_category_convertible_to<_Tp, input_iterator_tag>; template <class _Tp> using __has_forward_iterator_category = __has_iterator_category_convertible_to<_Tp, forward_iterator_tag>; template <class _Tp> using __has_bidirectional_iterator_category = __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>; template <class _Tp> using __has_random_access_iterator_category = __has_iterator_category_convertible_to<_Tp, random_access_iterator_tag>; # 456 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 3 template <class _Tp> struct __libcpp_is_contiguous_iterator : false_type {}; template <class _Up> struct __libcpp_is_contiguous_iterator<_Up*> : true_type {}; template <class _Iter> class __wrap_iter; template <class _Tp> using __has_exactly_input_iterator_category = integral_constant<bool, __has_iterator_category_convertible_to<_Tp, input_iterator_tag>::value && !__has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value>; template <class _Tp> using __has_exactly_forward_iterator_category = integral_constant<bool, __has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value && !__has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>::value>; template <class _Tp> using __has_exactly_bidirectional_iterator_category = integral_constant<bool, __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag>::value && !__has_iterator_category_convertible_to<_Tp, random_access_iterator_tag>::value>; template <class _InputIterator> using __iter_value_type = typename iterator_traits<_InputIterator>::value_type; template <class _InputIterator> using __iter_key_type = __remove_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>; template <class _InputIterator> using __iter_mapped_type = typename iterator_traits<_InputIterator>::value_type::second_type; template <class _InputIterator> using __iter_to_alloc_type = pair< typename add_const<typename iterator_traits<_InputIterator>::value_type::first_type>::type, typename iterator_traits<_InputIterator>::value_type::second_type>; template <class _Iter> using __iterator_category_type = typename iterator_traits<_Iter>::iterator_category; template <class _Iter> using __iterator_pointer_type = typename iterator_traits<_Iter>::pointer; template <class _Iter> using __iter_diff_t = typename iterator_traits<_Iter>::difference_type; template <class _Iter> using __iter_reference = typename iterator_traits<_Iter>::reference; # 527 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator_traits.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_move.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_move.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_move.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_move.h" 3 }} # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 2 3 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 250 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/concepts.h" 3 template <class _Tp> using __has_random_access_iterator_category_or_concept = __has_random_access_iterator_category<_Tp>; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/access.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/access.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/enable_borrowed_range.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/enable_borrowed_range.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/enable_borrowed_range.h" 3 }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/access.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/auto_cast.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/auto_cast.h" 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/access.h" 2 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/access.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 211 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/access.h" 3 }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/data.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/data.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 101 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/data.h" 3 }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/enable_view.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/enable_view.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/enable_view.h" 3 }} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/size.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/size.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 136 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/size.h" 3 }} # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/initializer_list" 1 3 # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/initializer_list" 3 namespace std { template <class _Ep> class initializer_list { const _Ep* __begin_; size_t __size_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr initializer_list(const _Ep* __b, size_t __s) noexcept : __begin_(__b), __size_(__s) {} public: typedef _Ep value_type; typedef const _Ep& reference; typedef const _Ep& const_reference; typedef size_t size_type; typedef const _Ep* iterator; typedef const _Ep* const_iterator; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr initializer_list() noexcept : __begin_(nullptr), __size_(0) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t size() const noexcept { return __size_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Ep* begin() const noexcept { return __begin_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Ep* end() const noexcept { return __begin_ + __size_; } }; template <class _Ep> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Ep* begin(initializer_list<_Ep> __il) noexcept { return __il.begin(); } template <class _Ep> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Ep* end(initializer_list<_Ep> __il) noexcept { return __il.end(); } } # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 2 3 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 140 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/concepts.h" 3 }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/concepts.h" 3 }} # 934 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_construct_at.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_construct_at.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/dangling.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/dangling.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/dangling.h" 3 }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_construct_at.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_construct_at.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_construct_at.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 120 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_construct_at.h" 3 }} # 937 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_result.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_result.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_result.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iter_swap.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iter_swap.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator1, class _ForwardIterator2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) noexcept(noexcept(swap(*std::declval<_ForwardIterator1>(), *std::declval<_ForwardIterator2>()))) { swap(*__a, *__b); } }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_iterator_concept.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/convert_to_integral.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/convert_to_integral.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __convert_to_integral(int __val) { return __val; } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned __convert_to_integral(unsigned __val) { return __val; } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr long __convert_to_integral(long __val) { return __val; } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned long __convert_to_integral(unsigned long __val) { return __val; } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr long long __convert_to_integral(long long __val) { return __val; } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned long long __convert_to_integral(unsigned long long __val) { return __val; } template <typename _Fp, __enable_if_t<is_floating_point<_Fp>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr long long __convert_to_integral(_Fp __val) { return __val; } template <class _Tp, bool = is_enum<_Tp>::value> struct __sfinae_underlying_type { typedef typename underlying_type<_Tp>::type type; typedef decltype(((type)1) + 0) __promoted_type; }; template <class _Tp> struct __sfinae_underlying_type<_Tp, false> {}; template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename __sfinae_underlying_type<_Tp>::__promoted_type __convert_to_integral(_Tp __val) { return __val; } }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/unreachable.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/unreachable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[noreturn]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline void __libcpp_unreachable() { ((void)0); __builtin_unreachable(); } }} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 2 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __advance(_InputIter& __i, typename iterator_traits<_InputIter>::difference_type __n, input_iterator_tag) { for (; __n > 0; --__n) ++__i; } template <class _BiDirIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __advance(_BiDirIter& __i, typename iterator_traits<_BiDirIter>::difference_type __n, bidirectional_iterator_tag) { if (__n >= 0) for (; __n > 0; --__n) ++__i; else for (; __n < 0; ++__n) --__i; } template <class _RandIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __advance(_RandIter& __i, typename iterator_traits<_RandIter>::difference_type __n, random_access_iterator_tag) { __i += __n; } template < class _InputIter, class _Distance, class _IntegralDistance = decltype(std::__convert_to_integral(std::declval<_Distance>())), class = __enable_if_t<is_integral<_IntegralDistance>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void advance(_InputIter& __i, _Distance __orig_n) { typedef typename iterator_traits<_InputIter>::difference_type _Difference; _Difference __n = static_cast<_Difference>(std::__convert_to_integral(__orig_n)); ((void)0); std::__advance(__i, __n, typename iterator_traits<_InputIter>::iterator_category()); } # 198 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/advance.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/distance.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/distance.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename iterator_traits<_InputIter>::difference_type __distance(_InputIter __first, _InputIter __last, input_iterator_tag) { typename iterator_traits<_InputIter>::difference_type __r(0); for (; __first != __last; ++__first) ++__r; return __r; } template <class _RandIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename iterator_traits<_RandIter>::difference_type __distance(_RandIter __first, _RandIter __last, random_access_iterator_tag) { return __last - __first; } template <class _InputIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename iterator_traits<_InputIter>::difference_type distance(_InputIter __first, _InputIter __last) { return std::__distance(__first, __last, typename iterator_traits<_InputIter>::iterator_category()); } # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/distance.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_swap.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_swap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_swap.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 104 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iter_swap.h" 3 }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/next.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/next.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _InputIter next(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = 1) { ((void)0); std::advance(__x, __n); return __x; } # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/next.h" 3 }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/prev.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/prev.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _InputIter prev(_InputIter __x, typename iterator_traits<_InputIter>::difference_type __n = 1) { ((void)0); std::advance(__x, -__n); return __x; } # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/prev.h" 3 }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy> struct _IterOps; # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/iterator_operations.h" 3 struct _ClassicAlgPolicy {}; template <> struct _IterOps<_ClassicAlgPolicy> { template <class _Iter> using __value_type = typename iterator_traits<_Iter>::value_type; template <class _Iter> using __iterator_category = typename iterator_traits<_Iter>::iterator_category; template <class _Iter> using __difference_type = typename iterator_traits<_Iter>::difference_type; template <class _Iter, class _Distance> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static void advance(_Iter& __iter, _Distance __count) { std::advance(__iter, __count); } template <class _Iter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static typename iterator_traits<_Iter>::difference_type distance(_Iter __first, _Iter __last) { return std::distance(__first, __last); } template <class _Iter> using __deref_t = decltype(*std::declval<_Iter&>()); template <class _Iter> using __move_t = decltype(std::move(*std::declval<_Iter&>())); template <class _Iter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static void __validate_iter_reference() { static_assert( is_same<__deref_t<_Iter>, typename iterator_traits<__remove_cvref_t<_Iter> >::reference>::value, "It looks like your iterator's `iterator_traits<It>::reference` does not match the return type of " "dereferencing the iterator, i.e., calling `*it`. This is undefined behavior according to [input.iterators] " "and can lead to dangling reference issues at runtime, so we are flagging this."); } template <class _Iter, __enable_if_t<is_reference<__deref_t<_Iter> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static __move_t<_Iter> __iter_move(_Iter&& __i) { __validate_iter_reference<_Iter>(); return std::move(*std::forward<_Iter>(__i)); } template <class _Iter, __enable_if_t<!is_reference<__deref_t<_Iter> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static __deref_t<_Iter> __iter_move(_Iter&& __i) { __validate_iter_reference<_Iter>(); return *std::forward<_Iter>(__i); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static void iter_swap(_Iter1&& __a, _Iter2&& __b) { std::iter_swap(std::forward<_Iter1>(__a), std::forward<_Iter2>(__b)); } template <class _Iterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr _Iterator next(_Iterator, _Iterator __last) { return __last; } template <class _Iter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr __remove_cvref_t<_Iter> next(_Iter&& __it, typename iterator_traits<__remove_cvref_t<_Iter> >::difference_type __n = 1) { return std::next(std::forward<_Iter>(__it), __n); } template <class _Iter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr __remove_cvref_t<_Iter> prev(_Iter&& __iter, typename iterator_traits<__remove_cvref_t<_Iter> >::difference_type __n = 1) { return std::prev(std::forward<_Iter>(__iter), __n); } template <class _Iter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr void __advance_to(_Iter& __first, _Iter __last) { __first = __last; } }; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_iter.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_iter.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_iter.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_iter.h" 3 template <class _Iter, bool = __libcpp_is_contiguous_iterator<_Iter>::value> struct __unwrap_iter_impl { static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __rewrap(_Iter, _Iter __iter) { return __iter; } static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __unwrap(_Iter __i) noexcept { return __i; } }; template <class _Iter> struct __unwrap_iter_impl<_Iter, true> { using _ToAddressT = decltype(std::__to_address(std::declval<_Iter>())); static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __rewrap(_Iter __orig_iter, _ToAddressT __unwrapped_iter) { return __orig_iter + (__unwrapped_iter - std::__to_address(__orig_iter)); } static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToAddressT __unwrap(_Iter __i) noexcept { return std::__to_address(__i); } }; template <class _Iter, class _Impl = __unwrap_iter_impl<_Iter>, __enable_if_t<is_copy_constructible<_Iter>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(_Impl::__unwrap(std::declval<_Iter>())) __unwrap_iter(_Iter __i) noexcept { return _Impl::__unwrap(__i); } # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_iter.h" 3 template <class _OrigIter, class _Iter, class _Impl = __unwrap_iter_impl<_OrigIter> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _OrigIter __rewrap_iter(_OrigIter __orig_iter, _Iter __iter) noexcept { return _Impl::__rewrap(std::move(__orig_iter), std::move(__iter)); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_range.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_range.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/common_comparison_category.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/common_comparison_category.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/ordering.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/ordering.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 276 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/ordering.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/common_comparison_category.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/common_comparison_category.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 84 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/common_comparison_category.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/synth_three_way.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/synth_three_way.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/three_way_comparable.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/three_way_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/three_way_comparable.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/synth_three_way.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/synth_three_way.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/synth_three_way.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/different_from.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/different_from.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/different_from.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/pair_like.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/pair_like.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_like.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_like.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_like.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/pair_like.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_size.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_size.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct tuple_size; template <class _Tp, class...> using __enable_if_tuple_size_imp = _Tp; template <class _Tp> struct tuple_size<__enable_if_tuple_size_imp< const _Tp, __enable_if_t<!is_volatile<_Tp>::value>, integral_constant<size_t, sizeof(tuple_size<_Tp>)>>> : public integral_constant<size_t, tuple_size<_Tp>::value> {}; template <class _Tp> struct tuple_size<__enable_if_tuple_size_imp< volatile _Tp, __enable_if_t<!is_const<_Tp>::value>, integral_constant<size_t, sizeof(tuple_size<_Tp>)>>> : public integral_constant<size_t, tuple_size<_Tp>::value> {}; template <class _Tp> struct tuple_size<__enable_if_tuple_size_imp< const volatile _Tp, integral_constant<size_t, sizeof(tuple_size<_Tp>)>>> : public integral_constant<size_t, tuple_size<_Tp>::value> {}; # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_size.h" 3 template <class... _Tp> struct tuple_size<tuple<_Tp...> > : public integral_constant<size_t, sizeof...(_Tp)> {}; template <class... _Tp> struct tuple_size<__tuple_types<_Tp...> > : public integral_constant<size_t, sizeof...(_Tp)> {}; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/pair_like.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/pair_like.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/pair_like.h" 3 }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/sfinae_helpers.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/sfinae_helpers.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/make_tuple_types.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/make_tuple_types.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _TupleTypes, class _TupleIndices> struct __make_tuple_types_flat; template <template <class...> class _Tuple, class... _Types, size_t... _Idx> struct __make_tuple_types_flat<_Tuple<_Types...>, __tuple_indices<_Idx...>> { template <class _Tp> using __apply_quals __attribute__((__nodebug__)) = __tuple_types<__apply_cv_t<_Tp, __type_pack_element<_Idx, _Types...>>...>; }; template <class _Vt, size_t _Np, size_t... _Idx> struct __make_tuple_types_flat<array<_Vt, _Np>, __tuple_indices<_Idx...>> { template <size_t> using __value_type = _Vt; template <class _Tp> using __apply_quals = __tuple_types<__apply_cv_t<_Tp, __value_type<_Idx>>...>; }; template <class _Tp, size_t _Ep = tuple_size<__libcpp_remove_reference_t<_Tp> >::value, size_t _Sp = 0, bool _SameSize = (_Ep == tuple_size<__libcpp_remove_reference_t<_Tp> >::value)> struct __make_tuple_types { static_assert(_Sp <= _Ep, "__make_tuple_types input error"); using _RawTp = __remove_cv_t<__libcpp_remove_reference_t<_Tp> >; using _Maker = __make_tuple_types_flat<_RawTp, typename __make_tuple_indices<_Ep, _Sp>::type>; using type = typename _Maker::template __apply_quals<_Tp>; }; template <class... _Types, size_t _Ep> struct __make_tuple_types<tuple<_Types...>, _Ep, 0, true> { typedef __attribute__((__nodebug__)) __tuple_types<_Types...> type; }; template <class... _Types, size_t _Ep> struct __make_tuple_types<__tuple_types<_Types...>, _Ep, 0, true> { typedef __attribute__((__nodebug__)) __tuple_types<_Types...> type; }; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/sfinae_helpers.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_like_ext.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/tuple_like_ext.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __tuple_like_ext : false_type {}; template <class _Tp> struct __tuple_like_ext<const _Tp> : public __tuple_like_ext<_Tp> {}; template <class _Tp> struct __tuple_like_ext<volatile _Tp> : public __tuple_like_ext<_Tp> {}; template <class _Tp> struct __tuple_like_ext<const volatile _Tp> : public __tuple_like_ext<_Tp> {}; template <class... _Tp> struct __tuple_like_ext<tuple<_Tp...> > : true_type {}; template <class _T1, class _T2> struct __tuple_like_ext<pair<_T1, _T2> > : true_type {}; template <class _Tp, size_t _Size> struct __tuple_like_ext<array<_Tp, _Size> > : true_type {}; template <class... _Tp> struct __tuple_like_ext<__tuple_types<_Tp...> > : true_type {}; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/sfinae_helpers.h" 2 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__tuple/sfinae_helpers.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool... _Preds> struct __all_dummy; template <bool... _Pred> struct __all : _IsSame<__all_dummy<_Pred...>, __all_dummy<((void)_Pred, true)...>> {}; struct __tuple_sfinae_base { template <template <class, class...> class _Trait, class... _LArgs, class... _RArgs> static auto __do_test(__tuple_types<_LArgs...>, __tuple_types<_RArgs...>) -> __all<__enable_if_t<_Trait<_LArgs, _RArgs>::value, bool>{true}...>; template <template <class...> class> static auto __do_test(...) -> false_type; template <class _FromArgs, class _ToArgs> using __constructible = decltype(__do_test<is_constructible>(_ToArgs{}, _FromArgs{})); template <class _FromArgs, class _ToArgs> using __convertible = decltype(__do_test<is_convertible>(_FromArgs{}, _ToArgs{})); template <class _FromArgs, class _ToArgs> using __assignable = decltype(__do_test<is_assignable>(_ToArgs{}, _FromArgs{})); }; template <class _Tp, class _Up, bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, bool = __tuple_like_ext<_Up>::value> struct __tuple_convertible : public false_type {}; template <class _Tp, class _Up> struct __tuple_convertible<_Tp, _Up, true, true> : public __tuple_sfinae_base::__convertible< typename __make_tuple_types<_Tp>::type, typename __make_tuple_types<_Up>::type > {}; template <class _Tp, class _Up, bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, bool = __tuple_like_ext<_Up>::value> struct __tuple_constructible : public false_type {}; template <class _Tp, class _Up> struct __tuple_constructible<_Tp, _Up, true, true> : public __tuple_sfinae_base::__constructible< typename __make_tuple_types<_Tp>::type, typename __make_tuple_types<_Up>::type > {}; template <class _Tp, class _Up, bool = __tuple_like_ext<__libcpp_remove_reference_t<_Tp> >::value, bool = __tuple_like_ext<_Up>::value> struct __tuple_assignable : public false_type {}; template <class _Tp, class _Up> struct __tuple_assignable<_Tp, _Up, true, true> : public __tuple_sfinae_base::__assignable< typename __make_tuple_types<_Tp>::type, typename __make_tuple_types<_Up&>::type > {}; template <size_t _Ip, class... _Tp> struct tuple_element<_Ip, tuple<_Tp...> > { typedef __attribute__((__nodebug__)) typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type; }; struct __attribute__((__visibility__("default"))) __check_tuple_constructor_fail { static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_explicit_default() { return false; } static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_implicit_default() { return false; } template <class...> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_explicit() { return false; } template <class...> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_implicit() { return false; } template <class...> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_assign() { return false; } }; template <bool _CanCopy, bool _CanMove> struct __sfinae_ctor_base {}; template <> struct __sfinae_ctor_base<false, false> { __sfinae_ctor_base() = default; __sfinae_ctor_base(__sfinae_ctor_base const&) = delete; __sfinae_ctor_base(__sfinae_ctor_base&&) = delete; __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; }; template <> struct __sfinae_ctor_base<true, false> { __sfinae_ctor_base() = default; __sfinae_ctor_base(__sfinae_ctor_base const&) = default; __sfinae_ctor_base(__sfinae_ctor_base&&) = delete; __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; }; template <> struct __sfinae_ctor_base<false, true> { __sfinae_ctor_base() = default; __sfinae_ctor_base(__sfinae_ctor_base const&) = delete; __sfinae_ctor_base(__sfinae_ctor_base&&) = default; __sfinae_ctor_base& operator=(__sfinae_ctor_base const&) = default; __sfinae_ctor_base& operator=(__sfinae_ctor_base&&) = default; }; template <bool _CanCopy, bool _CanMove> struct __sfinae_assign_base {}; template <> struct __sfinae_assign_base<false, false> { __sfinae_assign_base() = default; __sfinae_assign_base(__sfinae_assign_base const&) = default; __sfinae_assign_base(__sfinae_assign_base&&) = default; __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete; __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete; }; template <> struct __sfinae_assign_base<true, false> { __sfinae_assign_base() = default; __sfinae_assign_base(__sfinae_assign_base const&) = default; __sfinae_assign_base(__sfinae_assign_base&&) = default; __sfinae_assign_base& operator=(__sfinae_assign_base const&) = default; __sfinae_assign_base& operator=(__sfinae_assign_base&&) = delete; }; template <> struct __sfinae_assign_base<false, true> { __sfinae_assign_base() = default; __sfinae_assign_base(__sfinae_assign_base const&) = default; __sfinae_assign_base(__sfinae_assign_base&&) = default; __sfinae_assign_base& operator=(__sfinae_assign_base const&) = delete; __sfinae_assign_base& operator=(__sfinae_assign_base&&) = default; }; }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 2 3 # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class, class> struct __non_trivially_copyable_base { constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __non_trivially_copyable_base() noexcept {} constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __non_trivially_copyable_base(__non_trivially_copyable_base const&) noexcept {} }; # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template <class _T1, class _T2> struct pair { using first_type = _T1; using second_type = _T2; _T1 first; _T2 second; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair(pair const&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair(pair&&) = default; # 121 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 struct _CheckArgs { template <int&...> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_explicit_default() { return is_default_constructible<_T1>::value && is_default_constructible<_T2>::value && !__enable_implicit_default<>(); } template <int&...> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_implicit_default() { return __is_implicitly_default_constructible<_T1>::value && __is_implicitly_default_constructible<_T2>::value; } template <class _U1, class _U2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __is_pair_constructible() { return is_constructible<first_type, _U1>::value && is_constructible<second_type, _U2>::value; } template <class _U1, class _U2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __is_implicit() { return is_convertible<_U1, first_type>::value && is_convertible<_U2, second_type>::value; } template <class _U1, class _U2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_explicit() { return __is_pair_constructible<_U1, _U2>() && !__is_implicit<_U1, _U2>(); } template <class _U1, class _U2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __enable_implicit() { return __is_pair_constructible<_U1, _U2>() && __is_implicit<_U1, _U2>(); } }; template <bool _MaybeEnable> using _CheckArgsDep __attribute__((__nodebug__)) = typename conditional< _MaybeEnable, _CheckArgs, __check_tuple_constructor_fail>::type; template <bool _Dummy = true, __enable_if_t<_CheckArgsDep<_Dummy>::__enable_explicit_default(), int> = 0> explicit __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair() noexcept(is_nothrow_default_constructible<first_type>::value&& is_nothrow_default_constructible<second_type>::value) : first(), second() {} template <bool _Dummy = true, __enable_if_t<_CheckArgsDep<_Dummy>::__enable_implicit_default(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair() noexcept(is_nothrow_default_constructible<first_type>::value&& is_nothrow_default_constructible<second_type>::value) : first(), second() {} template <bool _Dummy = true, __enable_if_t<_CheckArgsDep<_Dummy>::template __enable_explicit<_T1 const&, _T2 const&>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(_T1 const& __t1, _T2 const& __t2) noexcept(is_nothrow_copy_constructible<first_type>::value&& is_nothrow_copy_constructible<second_type>::value) : first(__t1), second(__t2) {} template <bool _Dummy = true, __enable_if_t<_CheckArgsDep<_Dummy>::template __enable_implicit<_T1 const&, _T2 const&>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(_T1 const& __t1, _T2 const& __t2) noexcept(is_nothrow_copy_constructible<first_type>::value&& is_nothrow_copy_constructible<second_type>::value) : first(__t1), second(__t2) {} template < class _U1, class _U2, __enable_if_t<_CheckArgs::template __enable_explicit<_U1, _U2>(), int> = 0 > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(_U1&& __u1, _U2&& __u2) noexcept((is_nothrow_constructible<first_type, _U1>::value && is_nothrow_constructible<second_type, _U2>::value)) : first(std::forward<_U1>(__u1)), second(std::forward<_U2>(__u2)) { } template < class _U1, class _U2, __enable_if_t<_CheckArgs::template __enable_implicit<_U1, _U2>(), int> = 0 > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(_U1&& __u1, _U2&& __u2) noexcept((is_nothrow_constructible<first_type, _U1>::value && is_nothrow_constructible<second_type, _U2>::value)) : first(std::forward<_U1>(__u1)), second(std::forward<_U2>(__u2)) { } # 220 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template <class _U1, class _U2, __enable_if_t<_CheckArgs::template __enable_explicit<_U1 const&, _U2 const&>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(pair<_U1, _U2> const& __p) noexcept((is_nothrow_constructible<first_type, _U1 const&>::value && is_nothrow_constructible<second_type, _U2 const&>::value)) : first(__p.first), second(__p.second) {} template <class _U1, class _U2, __enable_if_t<_CheckArgs::template __enable_implicit<_U1 const&, _U2 const&>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(pair<_U1, _U2> const& __p) noexcept((is_nothrow_constructible<first_type, _U1 const&>::value && is_nothrow_constructible<second_type, _U2 const&>::value)) : first(__p.first), second(__p.second) {} template <class _U1, class _U2, __enable_if_t<_CheckArgs::template __enable_explicit<_U1, _U2>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(pair<_U1, _U2>&& __p) noexcept((is_nothrow_constructible<first_type, _U1&&>::value && is_nothrow_constructible<second_type, _U2&&>::value)) : first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) {} template <class _U1, class _U2, __enable_if_t<_CheckArgs::template __enable_implicit<_U1, _U2>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(pair<_U1, _U2>&& __p) noexcept((is_nothrow_constructible<first_type, _U1&&>::value && is_nothrow_constructible<second_type, _U2&&>::value)) : first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) {} # 277 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template <class... _Args1, class... _Args2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args, tuple<_Args2...> __second_args) noexcept((is_nothrow_constructible<first_type, _Args1...>::value && is_nothrow_constructible<second_type, _Args2...>::value)) : pair(__pc, __first_args, __second_args, typename __make_tuple_indices<sizeof...(_Args1)>::type(), typename __make_tuple_indices<sizeof...(_Args2) >::type()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair& operator=(__conditional_t< is_copy_assignable<first_type>::value && is_copy_assignable<second_type>::value, pair, __nat> const& __p) noexcept(is_nothrow_copy_assignable<first_type>::value&& is_nothrow_copy_assignable<second_type>::value) { first = __p.first; second = __p.second; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair& operator=( __conditional_t< is_move_assignable<first_type>::value && is_move_assignable<second_type>::value, pair, __nat>&& __p) noexcept(is_nothrow_move_assignable<first_type>::value&& is_nothrow_move_assignable<second_type>::value) { first = std::forward<first_type>(__p.first); second = std::forward<second_type>(__p.second); return *this; } template <class _U1, class _U2, __enable_if_t< is_assignable<first_type&, _U1 const&>::value && is_assignable<second_type&, _U2 const&>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair& operator=(pair<_U1, _U2> const& __p) { first = __p.first; second = __p.second; return *this; } template < class _U1, class _U2, __enable_if_t< is_assignable<first_type&, _U1>::value && is_assignable<second_type&, _U2>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair& operator=(pair<_U1, _U2>&& __p) { first = std::forward<_U1>(__p.first); second = std::forward<_U2>(__p.second); return *this; } # 390 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template < class _U1, class _U2, __enable_if_t< is_convertible<_U1 const&, _T1>::value && is_convertible<_U2 const&, _T2>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(tuple<_U1, _U2> const& __p) : first(std::get<0>(__p)), second(std::get<1>(__p)) {} template < class _U1, class _U2, __enable_if_t< is_constructible<_T1, _U1 const&>::value && is_constructible<_T2, _U2 const&>::value && !(is_convertible<_U1 const&, _T1>::value && is_convertible<_U2 const&, _T2>::value) >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(tuple<_U1, _U2> const& __p) : first(std::get<0>(__p)), second(std::get<1>(__p)) {} template <class _U1, class _U2, __enable_if_t< is_convertible<_U1, _T1>::value && is_convertible<_U2, _T2>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(tuple<_U1, _U2>&& __p) : first(std::get<0>(std::move(__p))), second(std::get<1>(std::move(__p))) {} template <class _U1, class _U2, __enable_if_t< is_constructible<_T1, _U1>::value && is_constructible<_T2, _U2>::value && !(is_convertible<_U1, _T1>::value && is_convertible<_U2, _T2>::value) >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(tuple<_U1, _U2>&& __p) : first(std::get<0>(std::move(__p))), second(std::get<1>(std::move(__p))) {} template < class _U1, class _U2, __enable_if_t< is_assignable<_T1&, _U1 const&>::value && is_assignable<_T2&, _U2 const&>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair& operator=(tuple<_U1, _U2> const& __p) { first = std::get<0>(__p); second = std::get<1>(__p); return *this; } template <class _U1, class _U2, __enable_if_t< is_assignable<_T1&, _U1&&>::value && is_assignable<_T2&, _U2&&>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair& operator=(tuple<_U1, _U2>&& __p) { first = std::get<0>(std::move(__p)); second = std::get<1>(std::move(__p)); return *this; } template < class _Up, __enable_if_t< is_convertible<_Up const&, _T1>::value && is_convertible<_Up const&, _T2>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(array<_Up, 2> const& __p) : first(__p[0]), second(__p[1]) {} template < class _Up, __enable_if_t< is_constructible<_T1, _Up const&>::value && is_constructible<_T2, _Up const&>::value && !(is_convertible<_Up const&, _T1>::value && is_convertible<_Up const&, _T2>::value) >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(array<_Up, 2> const& __p) : first(__p[0]), second(__p[1]) {} template <class _Up, __enable_if_t< is_convertible<_Up, _T1>::value && is_convertible<_Up, _T2>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair(array<_Up, 2>&& __p) : first(std::move(__p)[0]), second(std::move(__p)[1]) {} template <class _Up, __enable_if_t< is_constructible<_T1, _Up>::value && is_constructible<_T2, _Up>::value && !(is_convertible<_Up, _T1>::value && is_convertible<_Up, _T2>::value) >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit pair(array<_Up, 2>&& __p) : first(std::move(__p)[0]), second(std::move(__p)[1]) {} template < class _Up, __enable_if_t< is_assignable<_T1&, _Up const&>::value && is_assignable<_T2&, _Up const&>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair& operator=(array<_Up, 2> const& __p) { first = std::get<0>(__p); second = std::get<1>(__p); return *this; } template <class _Up, __enable_if_t< is_assignable<_T1&, _Up>::value && is_assignable<_T2&, _Up>::value >* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair& operator=(array<_Up, 2>&& __p) { first = std::get<0>(std::move(__p)); second = std::get<1>(std::move(__p)); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(pair& __p) noexcept(__is_nothrow_swappable<first_type>::value&& __is_nothrow_swappable<second_type>::value) { using std::swap; swap(first, __p.first); swap(second, __p.second); } # 494 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 private: template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair(piecewise_construct_t, tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args, __tuple_indices<_I1...>, __tuple_indices<_I2...>); }; template <class _T1, class _T2> pair(_T1, _T2) -> pair<_T1, _T2>; template <class _T1, class _T2, class _U1, class _U2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { return __x.first == __y.first && __x.second == __y.second; } # 533 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template <class _T1, class _T2, class _U1, class _U2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { return !(__x == __y); } template <class _T1, class _T2, class _U1, class _U2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); } template <class _T1, class _T2, class _U1, class _U2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { return __y < __x; } template <class _T1, class _T2, class _U1, class _U2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { return !(__x < __y); } template <class _T1, class _T2, class _U1, class _U2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const pair<_T1, _T2>& __x, const pair<_U1, _U2>& __y) { return !(__y < __x); } # 581 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template <class _T1, class _T2, __enable_if_t<__is_swappable<_T1>::value && __is_swappable<_T2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) noexcept((__is_nothrow_swappable<_T1>::value && __is_nothrow_swappable<_T2>::value)) { __x.swap(__y); } # 596 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/pair.h" 3 template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<typename __unwrap_ref_decay<_T1>::type, typename __unwrap_ref_decay<_T2>::type> make_pair(_T1&& __t1, _T2&& __t2) { return pair<typename __unwrap_ref_decay<_T1>::type, typename __unwrap_ref_decay<_T2>::type>( std::forward<_T1>(__t1), std::forward<_T2>(__t2)); } template <class _T1, class _T2> struct tuple_size<pair<_T1, _T2> > : public integral_constant<size_t, 2> {}; template <size_t _Ip, class _T1, class _T2> struct tuple_element<_Ip, pair<_T1, _T2> > { static_assert(_Ip < 2, "Index out of bounds in std::tuple_element<std::pair<T1, T2>>"); }; template <class _T1, class _T2> struct tuple_element<0, pair<_T1, _T2> > { using type __attribute__((__nodebug__)) = _T1; }; template <class _T1, class _T2> struct tuple_element<1, pair<_T1, _T2> > { using type __attribute__((__nodebug__)) = _T2; }; template <size_t _Ip> struct __get_pair; template <> struct __get_pair<0> { template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1& get(pair<_T1, _T2>& __p) noexcept { return __p.first; } template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _T1& get(const pair<_T1, _T2>& __p) noexcept { return __p.first; } template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1&& get(pair<_T1, _T2>&& __p) noexcept { return std::forward<_T1>(__p.first); } template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _T1&& get(const pair<_T1, _T2>&& __p) noexcept { return std::forward<const _T1>(__p.first); } }; template <> struct __get_pair<1> { template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T2& get(pair<_T1, _T2>& __p) noexcept { return __p.second; } template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _T2& get(const pair<_T1, _T2>& __p) noexcept { return __p.second; } template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T2&& get(pair<_T1, _T2>&& __p) noexcept { return std::forward<_T2>(__p.second); } template <class _T1, class _T2> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _T2&& get(const pair<_T1, _T2>&& __p) noexcept { return std::forward<const _T2>(__p.second); } }; template <size_t _Ip, class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(pair<_T1, _T2>& __p) noexcept { return __get_pair<_Ip>::get(__p); } template <size_t _Ip, class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(const pair<_T1, _T2>& __p) noexcept { return __get_pair<_Ip>::get(__p); } template <size_t _Ip, class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(pair<_T1, _T2>&& __p) noexcept { return __get_pair<_Ip>::get(std::move(__p)); } template <size_t _Ip, class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(const pair<_T1, _T2>&& __p) noexcept { return __get_pair<_Ip>::get(std::move(__p)); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1& get(pair<_T1, _T2>& __p) noexcept { return __get_pair<0>::get(__p); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1 const& get(pair<_T1, _T2> const& __p) noexcept { return __get_pair<0>::get(__p); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1&& get(pair<_T1, _T2>&& __p) noexcept { return __get_pair<0>::get(std::move(__p)); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1 const&& get(pair<_T1, _T2> const&& __p) noexcept { return __get_pair<0>::get(std::move(__p)); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1& get(pair<_T2, _T1>& __p) noexcept { return __get_pair<1>::get(__p); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1 const& get(pair<_T2, _T1> const& __p) noexcept { return __get_pair<1>::get(__p); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1&& get(pair<_T2, _T1>&& __p) noexcept { return __get_pair<1>::get(std::move(__p)); } template <class _T1, class _T2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1 const&& get(pair<_T2, _T1> const&& __p) noexcept { return __get_pair<1>::get(std::move(__p)); } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_range.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_range.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 81 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unwrap_range.h" 3 template <class _Iter, class _Unwrapped = decltype(std::__unwrap_iter(std::declval<_Iter>()))> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Unwrapped, _Unwrapped> __unwrap_range(_Iter __first, _Iter __last) { return std::make_pair(std::__unwrap_iter(std::move(__first)), std::__unwrap_iter(std::move(__last))); } template <class _Iter, class _Unwrapped> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __rewrap_range(_Iter __orig_iter, _Unwrapped __iter) { return std::__rewrap_iter(std::move(__orig_iter), std::move(__iter)); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/datasizeof.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/datasizeof.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_datasizeof { static const size_t value = __datasizeof(_Tp); # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/datasizeof.h" 3 }; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_always_bitcastable.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_always_bitcastable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _From, class _To> struct __is_always_bitcastable { using _UnqualFrom = __remove_cv_t<_From>; using _UnqualTo = __remove_cv_t<_To>; static const bool value = (is_same<_UnqualFrom, _UnqualTo>::value && is_trivially_copyable<_UnqualFrom>::value) || # 74 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_always_bitcastable.h" 3 ( sizeof(_From) == sizeof(_To) && is_integral<_From>::value && is_integral<_To>::value && !is_same<_UnqualTo, bool>::value ); }; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_equality_comparable.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_equality_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Up, class = void> struct __is_equality_comparable : false_type {}; template <class _Tp, class _Up> struct __is_equality_comparable<_Tp, _Up, __void_t<decltype(std::declval<_Tp>() == std::declval<_Up>())> > : true_type { }; # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_equality_comparable.h" 3 template <class _Tp, class _Up, class = void> struct __libcpp_is_trivially_equality_comparable_impl : false_type {}; template <class _Tp> struct __libcpp_is_trivially_equality_comparable_impl<_Tp, _Tp> : integral_constant<bool, __is_trivially_equality_comparable(_Tp) && __is_equality_comparable<_Tp, _Tp>::value> { }; template <class _Tp, class _Up> struct __libcpp_is_trivially_equality_comparable_impl< _Tp, _Up, __enable_if_t<is_integral<_Tp>::value && is_integral<_Up>::value && !is_same<_Tp, _Up>::value && is_signed<_Tp>::value == is_signed<_Up>::value && sizeof(_Tp) == sizeof(_Up)> > : true_type {}; template <class _Tp> struct __libcpp_is_trivially_equality_comparable_impl<_Tp*, _Tp*> : true_type {}; template <class _Tp, class _Up> struct __libcpp_is_trivially_equality_comparable_impl<_Tp*, _Up*> : integral_constant< bool, __is_equality_comparable<_Tp*, _Up*>::value && (is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value || is_void<_Tp>::value || is_void<_Up>::value)> { }; template <class _Tp, class _Up> using __libcpp_is_trivially_equality_comparable = __libcpp_is_trivially_equality_comparable_impl<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >; }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_trivially_lexicographically_comparable.h" 3 template <class _Tp, class _Up> struct __libcpp_is_trivially_lexicographically_comparable : integral_constant<bool, is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value && sizeof(_Tp) == 1 && is_unsigned<_Tp>::value> {}; }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/is_pointer_in_range.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/is_pointer_in_range.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/comp.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/comp.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/operation_traits.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/operation_traits.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __equal_tag {}; struct __plus_tag {}; # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/operation_traits.h" 3 template <class _CanonicalTag, class _Operation, class... _Args> struct __desugars_to : false_type {}; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/comp.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/comp.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __equal_to { template <class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _T1& __x, const _T2& __y) const { return __x == __y; } }; template <class _Tp, class _Up> struct __desugars_to<__equal_tag, __equal_to, _Tp, _Up> : true_type {}; template <class _T1 = void, class _T2 = _T1> struct __less {}; template <> struct __less<void, void> { template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _Tp& __lhs, const _Up& __rhs) const { return __lhs < __rhs; } }; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/is_pointer_in_range.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/is_pointer_in_range.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Up, class = void> struct __is_less_than_comparable : false_type {}; template <class _Tp, class _Up> struct __is_less_than_comparable<_Tp, _Up, __void_t<decltype(std::declval<_Tp>() < std::declval<_Up>())> > : true_type { }; template <class _Tp, class _Up, __enable_if_t<__is_less_than_comparable<const _Tp*, const _Up*>::value, int> = 0> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("address"))) bool __is_pointer_in_range( const _Tp* __begin, const _Tp* __end, const _Up* __ptr) { if (__libcpp_is_constant_evaluated()) { ((void)0); if (!__builtin_constant_p(__begin <= __ptr && __ptr < __end)) return false; } return !__less<>()(__ptr, __begin) && __less<>()(__ptr, __end); } template <class _Tp, class _Up, __enable_if_t<!__is_less_than_comparable<const _Tp*, const _Up*>::value, int> = 0> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("address"))) bool __is_pointer_in_range( const _Tp* __begin, const _Tp* __end, const _Up* __ptr) { if (__libcpp_is_constant_evaluated()) return false; return reinterpret_cast<const char*>(__begin) <= reinterpret_cast<const char*>(__ptr) && reinterpret_cast<const char*>(__ptr) < reinterpret_cast<const char*>(__end); } }} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 2 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { enum class __element_count : size_t {}; inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t __constexpr_strlen(const char* __str) { # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 3 return __builtin_strlen(__str); } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __constexpr_memcmp(const _Tp* __lhs, const _Up* __rhs, __element_count __n) { static_assert(__libcpp_is_trivially_lexicographically_comparable<_Tp, _Up>::value, "_Tp and _Up have to be trivially lexicographically comparable"); auto __count = static_cast<size_t>(__n); if (__libcpp_is_constant_evaluated()) { if (sizeof(_Tp) == 1 && !is_same<_Tp, bool>::value) return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)); while (__count != 0) { if (*__lhs < *__rhs) return -1; if (*__rhs < *__lhs) return 1; --__count; ++__lhs; ++__rhs; } return 0; } else { return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)); } } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_memcmp_equal(const _Tp* __lhs, const _Up* __rhs, __element_count __n) { static_assert(__libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, "_Tp and _Up have to be trivially equality comparable"); auto __count = static_cast<size_t>(__n); if (__libcpp_is_constant_evaluated()) { if (sizeof(_Tp) == 1 && is_integral<_Tp>::value && !is_same<_Tp, bool>::value) return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0; while (__count != 0) { if (*__lhs != *__rhs) return false; --__count; ++__lhs; ++__rhs; } return true; } else { return __builtin_memcmp(__lhs, __rhs, __count * sizeof(_Tp)) == 0; } } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __constexpr_memchr(_Tp* __str, _Up __value, size_t __count) { static_assert(sizeof(_Tp) == 1 && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, "Calling memchr on non-trivially equality comparable types is unsafe."); if (__libcpp_is_constant_evaluated()) { if constexpr (is_same_v<remove_cv_t<_Tp>, char> && is_same_v<remove_cv_t<_Up>, char>) return __builtin_char_memchr(__str, __value, __count); for (; __count; --__count) { if (*__str == __value) return __str; ++__str; } return nullptr; } else { char __value_buffer = 0; __builtin_memcpy(&__value_buffer, &__value, sizeof(char)); return static_cast<_Tp*>(__builtin_memchr(__str, __value_buffer, __count)); } } # 150 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__string/constexpr_c_functions.h" 3 template <class _Tp, class _Up, __enable_if_t<is_assignable<_Tp&, _Up const&>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp& __assign_trivially_copyable(_Tp& __dest, _Up const& __src) { __dest = __src; return __dest; } template <class _Tp, class _Up, __enable_if_t<!is_assignable<_Tp&, _Up const&>::value && is_assignable<_Tp&, _Up&&>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp& __assign_trivially_copyable(_Tp& __dest, _Up& __src) { __dest = static_cast<_Up&&>(__src); return __dest; } template <class _Tp, class _Up, __enable_if_t<!is_assignable<_Tp&, _Up const&>::value && !is_assignable<_Tp&, _Up&&>::value && is_constructible<_Tp, _Up const&>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& __assign_trivially_copyable(_Tp& __dest, _Up const& __src) { std::__construct_at(std::addressof(__dest), __src); return __dest; } template <class _Tp, class _Up, __enable_if_t<!is_assignable<_Tp&, _Up const&>::value && !is_assignable<_Tp&, _Up&&>::value && !is_constructible<_Tp, _Up const&>::value && is_constructible<_Tp, _Up&&>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& __assign_trivially_copyable(_Tp& __dest, _Up& __src) { std::__construct_at( std::addressof(__dest), static_cast<_Up&&>(__src)); return __dest; } template <class _Tp, class _Up, __enable_if_t<__is_always_bitcastable<_Up, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __constexpr_memmove(_Tp* __dest, _Up* __src, __element_count __n) { size_t __count = static_cast<size_t>(__n); if (__libcpp_is_constant_evaluated()) { if (is_same<__remove_cv_t<_Tp>, __remove_cv_t<_Up> >::value) { ::__builtin_memmove(__dest, __src, __count * sizeof(_Tp)); return __dest; } if (std::__is_pointer_in_range(__src, __src + __count, __dest)) { for (; __count > 0; --__count) std::__assign_trivially_copyable(__dest[__count - 1], __src[__count - 1]); } else { for (size_t __i = 0; __i != __count; ++__i) std::__assign_trivially_copyable(__dest[__i], __src[__i]); } } else if (__count > 0) { ::__builtin_memmove(__dest, __src, (__count - 1) * sizeof(_Tp) + __libcpp_datasizeof<_Tp>::value); } return __dest; } }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_move_common.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _From, class _To> struct __can_lower_copy_assignment_to_memmove { static const bool value = __is_always_bitcastable<_From, _To>::value && is_trivially_assignable<_To&, const _From&>::value && !is_volatile<_From>::value && !is_volatile<_To>::value; }; template <class _From, class _To> struct __can_lower_move_assignment_to_memmove { static const bool value = __is_always_bitcastable<_From, _To>::value && is_trivially_assignable<_To&, _From&&>::value && !is_volatile<_From>::value && !is_volatile<_To>::value; }; template <class _In, class _Out> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_In*, _Out*> __copy_trivial_impl(_In* __first, _In* __last, _Out* __result) { const size_t __n = static_cast<size_t>(__last - __first); std::__constexpr_memmove(__result, __first, __element_count(__n)); return std::make_pair(__last, __result + __n); } template <class _In, class _Out> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_In*, _Out*> __copy_backward_trivial_impl(_In* __first, _In* __last, _Out* __result) { const size_t __n = static_cast<size_t>(__last - __first); __result -= __n; std::__constexpr_memmove(__result, __first, __element_count(__n)); return std::make_pair(__last, __result); } template <class _F1, class _F2> struct __overload : _F1, _F2 { using _F1::operator(); using _F2::operator(); }; template <class _InIter, class _Sent, class _OutIter, class = void> struct __can_rewrap : false_type {}; template <class _InIter, class _Sent, class _OutIter> struct __can_rewrap<_InIter, _Sent, _OutIter, __enable_if_t< is_copy_constructible<_InIter>::value && is_copy_constructible<_OutIter>::value > > : true_type {}; template <class _Algorithm, class _InIter, class _Sent, class _OutIter, __enable_if_t<__can_rewrap<_InIter, _Sent, _OutIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> __unwrap_and_dispatch(_InIter __first, _Sent __last, _OutIter __out_first) { auto __range = std::__unwrap_range(__first, std::move(__last)); auto __result = _Algorithm()(std::move(__range.first), std::move(__range.second), std::__unwrap_iter(__out_first)); return std::make_pair(std::__rewrap_range<_Sent>(std::move(__first), std::move(__result.first)), std::__rewrap_iter(std::move(__out_first), std::move(__result.second))); } template <class _Algorithm, class _InIter, class _Sent, class _OutIter, __enable_if_t<!__can_rewrap<_InIter, _Sent, _OutIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> __unwrap_and_dispatch(_InIter __first, _Sent __last, _OutIter __out_first) { return _Algorithm()(std::move(__first), std::move(__last), std::move(__out_first)); } template <class _AlgPolicy, class _NaiveAlgorithm, class _OptimizedAlgorithm, class _InIter, class _Sent, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> __dispatch_copy_or_move(_InIter __first, _Sent __last, _OutIter __out_first) { using _Algorithm = __overload<_NaiveAlgorithm, _OptimizedAlgorithm>; return std::__unwrap_and_dispatch<_Algorithm>(std::move(__first), std::move(__last), std::move(__out_first)); } }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each_segment.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each_segment.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/segmented_iterator.h" 1 3 # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/segmented_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Iterator> struct __segmented_iterator_traits; # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/segmented_iterator.h" 3 template <class _Tp, size_t = 0> struct __has_specialization : false_type {}; template <class _Tp> struct __has_specialization<_Tp, sizeof(_Tp) * 0> : true_type {}; template <class _Iterator> using __is_segmented_iterator = __has_specialization<__segmented_iterator_traits<_Iterator> >; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each_segment.h" 2 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each_segment.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _SegmentedIterator, class _Functor> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __for_each_segment(_SegmentedIterator __first, _SegmentedIterator __last, _Functor __func) { using _Traits = __segmented_iterator_traits<_SegmentedIterator>; auto __sfirst = _Traits::__segment(__first); auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { __func(_Traits::__local(__first), _Traits::__local(__last)); return; } __func(_Traits::__local(__first), _Traits::__end(__sfirst)); ++__sfirst; while (__sfirst != __slast) { __func(_Traits::__begin(__sfirst), _Traits::__end(__sfirst)); ++__sfirst; } __func(_Traits::__begin(__sfirst), _Traits::__local(__last)); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/comp_ref_type.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/comp_ref_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare> struct __debug_less { _Compare& __comp_; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __debug_less(_Compare& __c) : __comp_(__c) {} template <class _Tp, class _Up> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Up& __y) { bool __r = __comp_(__x, __y); if (__r) __do_compare_assert(0, __y, __x); return __r; } template <class _Tp, class _Up> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(_Tp& __x, _Up& __y) { bool __r = __comp_(__x, __y); if (__r) __do_compare_assert(0, __y, __x); return __r; } template <class _LHS, class _RHS> constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) decltype((void)std::declval<_Compare&>()( std::declval<_LHS&>(), std::declval<_RHS&>())) __do_compare_assert(int, _LHS& __l, _RHS& __r) { ((void)0); (void)__l; (void)__r; } template <class _LHS, class _RHS> constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __do_compare_assert(long, _LHS&, _RHS&) {} }; template <class _Comp> using __comp_ref_type = _Comp&; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_element.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_element.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/identity.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/identity.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/reference_wrapper.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/reference_wrapper.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/weak_result_type.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/weak_result_type.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/binary_function.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/binary_function.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/binary_function.h" 3 template <class _Arg1, class _Arg2, class _Result> struct __binary_function_keep_layout_base { using first_argument_type __attribute__((__deprecated__)) = _Arg1; using second_argument_type __attribute__((__deprecated__)) = _Arg2; using result_type __attribute__((__deprecated__)) = _Result; }; # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/binary_function.h" 3 template <class _Arg1, class _Arg2, class _Result> using __binary_function = __binary_function_keep_layout_base<_Arg1, _Arg2, _Result>; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/weak_result_type.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/unary_function.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/unary_function.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/unary_function.h" 3 template <class _Arg, class _Result> struct __unary_function_keep_layout_base { using argument_type __attribute__((__deprecated__)) = _Arg; using result_type __attribute__((__deprecated__)) = _Result; }; # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/unary_function.h" 3 template <class _Arg, class _Result> using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>; }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/weak_result_type.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/weak_result_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __has_result_type { private: template <class _Up> static false_type __test(...); template <class _Up> static true_type __test(typename _Up::result_type* = 0); public: static const bool value = decltype(__test<_Tp>(0))::value; }; template <class _Tp> struct __derives_from_unary_function { private: struct __two { char __lx; char __lxx; }; static __two __test(...); template <class _Ap, class _Rp> static __unary_function<_Ap, _Rp> __test(const volatile __unary_function<_Ap, _Rp>*); public: static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; typedef decltype(__test((_Tp*)0)) type; }; template <class _Tp> struct __derives_from_binary_function { private: struct __two { char __lx; char __lxx; }; static __two __test(...); template <class _A1, class _A2, class _Rp> static __binary_function<_A1, _A2, _Rp> __test(const volatile __binary_function<_A1, _A2, _Rp>*); public: static const bool value = !is_same<decltype(__test((_Tp*)0)), __two>::value; typedef decltype(__test((_Tp*)0)) type; }; template <class _Tp, bool = __derives_from_unary_function<_Tp>::value> struct __maybe_derive_from_unary_function : public __derives_from_unary_function<_Tp>::type {}; template <class _Tp> struct __maybe_derive_from_unary_function<_Tp, false> {}; template <class _Tp, bool = __derives_from_binary_function<_Tp>::value> struct __maybe_derive_from_binary_function : public __derives_from_binary_function<_Tp>::type {}; template <class _Tp> struct __maybe_derive_from_binary_function<_Tp, false> {}; template <class _Tp, bool = __has_result_type<_Tp>::value> struct __weak_result_type_imp : public __maybe_derive_from_unary_function<_Tp>, public __maybe_derive_from_binary_function<_Tp> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = typename _Tp::result_type; }; template <class _Tp> struct __weak_result_type_imp<_Tp, false> : public __maybe_derive_from_unary_function<_Tp>, public __maybe_derive_from_binary_function<_Tp> {}; template <class _Tp> struct __weak_result_type : public __weak_result_type_imp<_Tp> {}; template <class _Rp> struct __weak_result_type<_Rp()> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp> struct __weak_result_type<_Rp (&)()> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp> struct __weak_result_type<_Rp (*)()> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _A1> struct __weak_result_type<_Rp(_A1)> : public __unary_function<_A1, _Rp> {}; template <class _Rp, class _A1> struct __weak_result_type<_Rp (&)(_A1)> : public __unary_function<_A1, _Rp> {}; template <class _Rp, class _A1> struct __weak_result_type<_Rp (*)(_A1)> : public __unary_function<_A1, _Rp> {}; template <class _Rp, class _Cp> struct __weak_result_type<_Rp (_Cp::*)()> : public __unary_function<_Cp*, _Rp> {}; template <class _Rp, class _Cp> struct __weak_result_type<_Rp (_Cp::*)() const> : public __unary_function<const _Cp*, _Rp> {}; template <class _Rp, class _Cp> struct __weak_result_type<_Rp (_Cp::*)() volatile> : public __unary_function<volatile _Cp*, _Rp> {}; template <class _Rp, class _Cp> struct __weak_result_type<_Rp (_Cp::*)() const volatile> : public __unary_function<const volatile _Cp*, _Rp> {}; template <class _Rp, class _A1, class _A2> struct __weak_result_type<_Rp(_A1, _A2)> : public __binary_function<_A1, _A2, _Rp> {}; template <class _Rp, class _A1, class _A2> struct __weak_result_type<_Rp (*)(_A1, _A2)> : public __binary_function<_A1, _A2, _Rp> {}; template <class _Rp, class _A1, class _A2> struct __weak_result_type<_Rp (&)(_A1, _A2)> : public __binary_function<_A1, _A2, _Rp> {}; template <class _Rp, class _Cp, class _A1> struct __weak_result_type<_Rp (_Cp::*)(_A1)> : public __binary_function<_Cp*, _A1, _Rp> {}; template <class _Rp, class _Cp, class _A1> struct __weak_result_type<_Rp (_Cp::*)(_A1) const> : public __binary_function<const _Cp*, _A1, _Rp> {}; template <class _Rp, class _Cp, class _A1> struct __weak_result_type<_Rp (_Cp::*)(_A1) volatile> : public __binary_function<volatile _Cp*, _A1, _Rp> {}; template <class _Rp, class _Cp, class _A1> struct __weak_result_type<_Rp (_Cp::*)(_A1) const volatile> : public __binary_function<const volatile _Cp*, _A1, _Rp> { }; template <class _Rp, class _A1, class _A2, class _A3, class... _A4> struct __weak_result_type<_Rp(_A1, _A2, _A3, _A4...)> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _A1, class _A2, class _A3, class... _A4> struct __weak_result_type<_Rp (&)(_A1, _A2, _A3, _A4...)> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _A1, class _A2, class _A3, class... _A4> struct __weak_result_type<_Rp (*)(_A1, _A2, _A3, _A4...)> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _Cp, class _A1, class _A2, class... _A3> struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...)> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _Cp, class _A1, class _A2, class... _A3> struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _Cp, class _A1, class _A2, class... _A3> struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) volatile> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Rp, class _Cp, class _A1, class _A2, class... _A3> struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const volatile> { using result_type __attribute__((__nodebug__)) __attribute__((__deprecated__)) = _Rp; }; template <class _Tp, class... _Args> struct __invoke_return { typedef decltype(std::__invoke(std::declval<_Tp>(), std::declval<_Args>()...)) type; }; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/reference_wrapper.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/reference_wrapper.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> class reference_wrapper : public __weak_result_type<_Tp> { public: typedef _Tp type; private: type* __f_; static void __fun(_Tp&) noexcept; static void __fun(_Tp&&) = delete; public: template < class _Up, class = __enable_if_t<!__is_same_uncvref<_Up, reference_wrapper>::value, decltype(__fun(std::declval<_Up>())) > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) reference_wrapper(_Up&& __u) noexcept(noexcept(__fun(std::declval<_Up>()))) { type& __f = static_cast<_Up&&>(__u); __f_ = std::addressof(__f); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) operator type&() const noexcept { return *__f_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) type& get() const noexcept { return *__f_; } template <class... _ArgTypes> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __invoke_of<type&, _ArgTypes...>::type operator()(_ArgTypes&&... __args) const noexcept(is_nothrow_invocable_v<_Tp&, _ArgTypes...>) { return std::__invoke(get(), std::forward<_ArgTypes>(__args)...); } }; template <class _Tp> reference_wrapper(_Tp&) -> reference_wrapper<_Tp>; template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) reference_wrapper<_Tp> ref(_Tp& __t) noexcept { return reference_wrapper<_Tp>(__t); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) reference_wrapper<_Tp> ref(reference_wrapper<_Tp> __t) noexcept { return __t; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) reference_wrapper<const _Tp> cref(const _Tp& __t) noexcept { return reference_wrapper<const _Tp>(__t); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) reference_wrapper<const _Tp> cref(reference_wrapper<_Tp> __t) noexcept { return __t; } template <class _Tp> void ref(const _Tp&&) = delete; template <class _Tp> void cref(const _Tp&&) = delete; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/identity.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/identity.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __is_identity : false_type {}; struct __identity { template <class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp&& operator()(_Tp&& __t) const noexcept { return std::forward<_Tp>(__t); } using is_transparent = void; }; template <> struct __is_identity<__identity> : true_type {}; template <> struct __is_identity<reference_wrapper<__identity> > : true_type {}; template <> struct __is_identity<reference_wrapper<const __identity> > : true_type {}; # 63 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/identity.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_element.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_element.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_element.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Comp, class _Iter, class _Sent, class _Proj> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __min_element(_Iter __first, _Sent __last, _Comp __comp, _Proj& __proj) { if (__first == __last) return __first; _Iter __i = __first; while (++__i != __last) if (std::__invoke(__comp, std::__invoke(__proj, *__i), std::__invoke(__proj, *__first))) __first = __i; return __first; } template <class _Comp, class _Iter, class _Sent> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __min_element(_Iter __first, _Sent __last, _Comp __comp) { auto __proj = __identity(); return std::__min_element<_Comp>(std::move(__first), std::move(__last), __comp, __proj); } template <class _ForwardIterator, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { static_assert( __has_forward_iterator_category<_ForwardIterator>::value, "std::min_element requires a ForwardIterator"); static_assert( __is_callable<_Compare, decltype(*__first), decltype(*__first)>::value, "The comparator has to be callable"); return std::__min_element<__comp_ref_type<_Compare> >(std::move(__first), std::move(__last), __comp); } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last) { return std::min_element(__first, __last, __less<>()); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& min([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b, _Compare __comp) { return __comp(__b, __a) ? __b : __a; } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& min([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b) { return std::min(__a, __b, __less<>()); } template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp min(initializer_list<_Tp> __t, _Compare __comp) { return *std::__min_element<__comp_ref_type<_Compare> >(__t.begin(), __t.end(), __comp); } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp min(initializer_list<_Tp> __t) { return *std::min_element(__t.begin(), __t.end(), __less<>()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class, class _InIter, class _Sent, class _OutIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> __copy(_InIter, _Sent, _OutIter); template <class _AlgPolicy> struct __copy_loop { template <class _InIter, class _Sent, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _Sent __last, _OutIter __result) const { while (__first != __last) { *__result = *__first; ++__first; ++__result; } return std::make_pair(std::move(__first), std::move(__result)); } template <class _InIter, class _OutIter> struct _CopySegment { using _Traits = __segmented_iterator_traits<_InIter>; _OutIter& __result_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit _CopySegment(_OutIter& __result) : __result_(__result) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void operator()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) { __result_ = std::__copy<_AlgPolicy>(__lfirst, __llast, std::move(__result_)).second; } }; template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { std::__for_each_segment(__first, __last, _CopySegment<_InIter, _OutIter>(__result)); return std::make_pair(__last, std::move(__result)); } template <class _InIter, class _OutIter, __enable_if_t<__has_random_access_iterator_category<_InIter>::value && !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { using _Traits = __segmented_iterator_traits<_OutIter>; using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; if (__first == __last) return std::make_pair(std::move(__first), std::move(__result)); auto __local_first = _Traits::__local(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_last = _Traits::__end(__segment_iterator); auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); auto __iters = std::__copy<_AlgPolicy>(__first, __first + __size, __local_first); __first = std::move(__iters.first); if (__first == __last) return std::make_pair(std::move(__first), _Traits::__compose(__segment_iterator, std::move(__iters.second))); __local_first = _Traits::__begin(++__segment_iterator); } } }; struct __copy_trivial { template <class _In, class _Out, __enable_if_t<__can_lower_copy_assignment_to_memmove<_In, _Out>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_In*, _Out*> operator()(_In* __first, _In* __last, _Out* __result) const { return std::__copy_trivial_impl(__first, __last, __result); } }; template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> pair<_InIter, _OutIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __copy(_InIter __first, _Sent __last, _OutIter __result) { return std::__dispatch_copy_or_move<_AlgPolicy, __copy_loop<_AlgPolicy>, __copy_trivial>( std::move(__first), std::move(__last), std::move(__result)); } template <class _InputIterator, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { return std::__copy<_ClassicAlgPolicy>(__first, __last, __result).second; } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/move.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/move.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/move.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> __move(_InIter __first, _Sent __last, _OutIter __result); template <class _AlgPolicy> struct __move_loop { template <class _InIter, class _Sent, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _Sent __last, _OutIter __result) const { while (__first != __last) { *__result = _IterOps<_AlgPolicy>::__iter_move(__first); ++__first; ++__result; } return std::make_pair(std::move(__first), std::move(__result)); } template <class _InIter, class _OutIter> struct _MoveSegment { using _Traits = __segmented_iterator_traits<_InIter>; _OutIter& __result_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit _MoveSegment(_OutIter& __result) : __result_(__result) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void operator()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) { __result_ = std::__move<_AlgPolicy>(__lfirst, __llast, std::move(__result_)).second; } }; template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { std::__for_each_segment(__first, __last, _MoveSegment<_InIter, _OutIter>(__result)); return std::make_pair(__last, std::move(__result)); } template <class _InIter, class _OutIter, __enable_if_t<__has_random_access_iterator_category<_InIter>::value && !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { using _Traits = __segmented_iterator_traits<_OutIter>; using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; if (__first == __last) return std::make_pair(std::move(__first), std::move(__result)); auto __local_first = _Traits::__local(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_last = _Traits::__end(__segment_iterator); auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); auto __iters = std::__move<_AlgPolicy>(__first, __first + __size, __local_first); __first = std::move(__iters.first); if (__first == __last) return std::make_pair(std::move(__first), _Traits::__compose(__segment_iterator, std::move(__iters.second))); __local_first = _Traits::__begin(++__segment_iterator); } } }; struct __move_trivial { template <class _In, class _Out, __enable_if_t<__can_lower_move_assignment_to_memmove<_In, _Out>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_In*, _Out*> operator()(_In* __first, _In* __last, _Out* __result) const { return std::__copy_trivial_impl(__first, __last, __result); } }; template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> __move(_InIter __first, _Sent __last, _OutIter __result) { return std::__dispatch_copy_or_move<_AlgPolicy, __move_loop<_AlgPolicy>, __move_trivial>( std::move(__first), std::move(__last), std::move(__result)); } template <class _InputIterator, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator move(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { static_assert(is_copy_constructible<_InputIterator>::value, "Iterators has to be copy constructible."); static_assert(is_copy_constructible<_OutputIterator>::value, "The output iterator has to be copy constructible."); return std::__move<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__result)).second; } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_three_way_result.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_three_way_result.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_three_way_result.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Category, class _Tp, class _Distance = ptrdiff_t, class _Pointer = _Tp*, class _Reference = _Tp&> struct __attribute__((__deprecated__)) iterator { typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; typedef _Category iterator_category; }; }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/subrange.h" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/subrange.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/view_interface.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/view_interface.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/empty.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/empty.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/empty.h" 3 }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/view_interface.h" 2 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/view_interface.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 159 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/view_interface.h" 3 }} # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/subrange.h" 2 3 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/subrange.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/subrange.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 272 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/subrange.h" 3 }} # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 2 3 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Iter> class reverse_iterator : public iterator<typename iterator_traits<_Iter>::iterator_category, typename iterator_traits<_Iter>::value_type, typename iterator_traits<_Iter>::difference_type, typename iterator_traits<_Iter>::pointer, typename iterator_traits<_Iter>::reference> { #pragma GCC diagnostic pop private: _Iter __t_; protected: _Iter current; public: using iterator_type = _Iter; using iterator_category = _If<__has_random_access_iterator_category<_Iter>::value, random_access_iterator_tag, typename iterator_traits<_Iter>::iterator_category>; using pointer = typename iterator_traits<_Iter>::pointer; using value_type = typename iterator_traits<_Iter>::value_type; using difference_type = typename iterator_traits<_Iter>::difference_type; using reference = typename iterator_traits<_Iter>::reference; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator() : __t_(), current() {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit reverse_iterator(_Iter __x) : __t_(__x), current(__x) {} template <class _Up, class = __enable_if_t< !is_same<_Up, _Iter>::value && is_convertible<_Up const&, _Iter>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator(const reverse_iterator<_Up>& __u) : __t_(__u.base()), current(__u.base()) {} template <class _Up, class = __enable_if_t< !is_same<_Up, _Iter>::value && is_convertible<_Up const&, _Iter>::value && is_assignable<_Iter&, _Up const&>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator& operator=(const reverse_iterator<_Up>& __u) { __t_ = current = __u.base(); return *this; } # 129 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter base() const { return current; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator*() const { _Iter __tmp = current; return *--__tmp; } # 146 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pointer operator->() const { return std::addressof(operator*()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator& operator++() { --current; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator operator++(int) { reverse_iterator __tmp(*this); --current; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator& operator--() { ++current; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator operator--(int) { reverse_iterator __tmp(*this); ++current; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator operator+(difference_type __n) const { return reverse_iterator(current - __n); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator& operator+=(difference_type __n) { current -= __n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator operator-(difference_type __n) const { return reverse_iterator(current + __n); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator& operator-=(difference_type __n) { current += __n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator[](difference_type __n) const { return *(*this + __n); } # 203 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 }; template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() == __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() > __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() != __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() < __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() <= __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() >= __y.base(); } # 286 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) -> decltype(__y.base() - __x.base()) { return __y.base() - __x.base(); } # 300 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 template <class _Iter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator<_Iter> operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) { return reverse_iterator<_Iter>(__x.base() - __n); } # 313 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 template <class _Iter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator<_Iter> make_reverse_iterator(_Iter __i) { return reverse_iterator<_Iter>(__i); } template <class _Iter> using __unconstrained_reverse_iterator = reverse_iterator<_Iter>; # 469 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 template <template <class> class _RevIter1, template <class> class _RevIter2, class _Iter> struct __unwrap_reverse_iter_impl { using _UnwrappedIter = decltype(__unwrap_iter_impl<_Iter>::__unwrap(std::declval<_Iter>())); using _ReverseWrapper = _RevIter1<_RevIter2<_Iter> >; static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ReverseWrapper __rewrap(_ReverseWrapper __orig_iter, _UnwrappedIter __unwrapped_iter) { return _ReverseWrapper( _RevIter2<_Iter>(__unwrap_iter_impl<_Iter>::__rewrap(__orig_iter.base().base(), __unwrapped_iter))); } static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _UnwrappedIter __unwrap(_ReverseWrapper __i) noexcept { return __unwrap_iter_impl<_Iter>::__unwrap(__i.base().base()); } }; # 495 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 template <class _Iter, bool __b> struct __unwrap_iter_impl<reverse_iterator<reverse_iterator<_Iter> >, __b> : __unwrap_reverse_iter_impl<reverse_iterator, reverse_iterator, _Iter> {}; # 515 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_iterator.h" 3 }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exception_guard.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exception_guard.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exception_guard.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/exception_guard.h" 3 template <class _Rollback> struct __exception_guard_exceptions { __exception_guard_exceptions() = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __exception_guard_exceptions(_Rollback __rollback) : __rollback_(std::move(__rollback)), __completed_(false) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __exception_guard_exceptions(__exception_guard_exceptions&& __other) noexcept(is_nothrow_move_constructible<_Rollback>::value) : __rollback_(std::move(__other.__rollback_)), __completed_(__other.__completed_) { __other.__completed_ = true; } __exception_guard_exceptions(__exception_guard_exceptions const&) = delete; __exception_guard_exceptions& operator=(__exception_guard_exceptions const&) = delete; __exception_guard_exceptions& operator=(__exception_guard_exceptions&&) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __complete() noexcept { __completed_ = true; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~__exception_guard_exceptions() { if (!__completed_) __rollback_(); } private: _Rollback __rollback_; bool __completed_; }; template <class... _Tag> [[maybe_unused]] __exception_guard_exceptions(typename _Tag::__allow_ctad...)->__exception_guard_exceptions<_Tag...>; template <class _Rollback> struct __exception_guard_noexceptions { __exception_guard_noexceptions() = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__nodebug__)) explicit __exception_guard_noexceptions(_Rollback) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__nodebug__)) __exception_guard_noexceptions(__exception_guard_noexceptions&& __other) noexcept(is_nothrow_move_constructible<_Rollback>::value) : __completed_(__other.__completed_) { __other.__completed_ = true; } __exception_guard_noexceptions(__exception_guard_noexceptions const&) = delete; __exception_guard_noexceptions& operator=(__exception_guard_noexceptions const&) = delete; __exception_guard_noexceptions& operator=(__exception_guard_noexceptions&&) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__nodebug__)) void __complete() noexcept { __completed_ = true; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__nodebug__)) ~__exception_guard_noexceptions() { ((void)0); } private: bool __completed_ = false; }; template <class... _Tag> [[maybe_unused]] __exception_guard_noexceptions(typename _Tag::__allow_ctad...)->__exception_guard_noexceptions<_Tag...>; template <class _Rollback> using __exception_guard = __exception_guard_exceptions<_Rollback>; template <class _Rollback> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __exception_guard<_Rollback> __make_exception_guard(_Rollback __rollback) { return __exception_guard<_Rollback>(std::move(__rollback)); } }} # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 2 3 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __always_false { template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(_Args&&...) const noexcept { return false; } }; template <class _ValueType, class _InputIterator, class _Sentinel1, class _ForwardIterator, class _EndPredicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _ForwardIterator> __uninitialized_copy( _InputIterator __ifirst, _Sentinel1 __ilast, _ForwardIterator __ofirst, _EndPredicate __stop_copying) { _ForwardIterator __idx = __ofirst; try { for (; __ifirst != __ilast && !__stop_copying(__idx); ++__ifirst, (void)++__idx) ::new (std::__voidify(*__idx)) _ValueType(*__ifirst); } catch (...) { std::__destroy(__ofirst, __idx); throw; } return pair<_InputIterator, _ForwardIterator>(std::move(__ifirst), std::move(__idx)); } template <class _InputIterator, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator uninitialized_copy(_InputIterator __ifirst, _InputIterator __ilast, _ForwardIterator __ofirst) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; auto __result = std::__uninitialized_copy<_ValueType>( std::move(__ifirst), std::move(__ilast), std::move(__ofirst), __always_false()); return std::move(__result.second); } template <class _ValueType, class _InputIterator, class _Size, class _ForwardIterator, class _EndPredicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _ForwardIterator> __uninitialized_copy_n(_InputIterator __ifirst, _Size __n, _ForwardIterator __ofirst, _EndPredicate __stop_copying) { _ForwardIterator __idx = __ofirst; try { for (; __n > 0 && !__stop_copying(__idx); ++__ifirst, (void)++__idx, (void)--__n) ::new (std::__voidify(*__idx)) _ValueType(*__ifirst); } catch (...) { std::__destroy(__ofirst, __idx); throw; } return pair<_InputIterator, _ForwardIterator>(std::move(__ifirst), std::move(__idx)); } template <class _InputIterator, class _Size, class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator uninitialized_copy_n(_InputIterator __ifirst, _Size __n, _ForwardIterator __ofirst) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; auto __result = std::__uninitialized_copy_n<_ValueType>(std::move(__ifirst), __n, std::move(__ofirst), __always_false()); return std::move(__result.second); } template <class _ValueType, class _ForwardIterator, class _Sentinel, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __uninitialized_fill(_ForwardIterator __first, _Sentinel __last, const _Tp& __x) { _ForwardIterator __idx = __first; try { for (; __idx != __last; ++__idx) ::new (std::__voidify(*__idx)) _ValueType(__x); } catch (...) { std::__destroy(__first, __idx); throw; } return __idx; } template <class _ForwardIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; (void)std::__uninitialized_fill<_ValueType>(__first, __last, __x); } template <class _ValueType, class _ForwardIterator, class _Size, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { _ForwardIterator __idx = __first; try { for (; __n > 0; ++__idx, (void)--__n) ::new (std::__voidify(*__idx)) _ValueType(__x); } catch (...) { std::__destroy(__first, __idx); throw; } return __idx; } template <class _ForwardIterator, class _Size, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; return std::__uninitialized_fill_n<_ValueType>(__first, __n, __x); } template <class _ValueType, class _ForwardIterator, class _Sentinel> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __uninitialized_default_construct(_ForwardIterator __first, _Sentinel __last) { auto __idx = __first; try { for (; __idx != __last; ++__idx) ::new (std::__voidify(*__idx)) _ValueType; } catch (...) { std::__destroy(__first, __idx); throw; } return __idx; } template <class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void uninitialized_default_construct(_ForwardIterator __first, _ForwardIterator __last) { using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; (void)std::__uninitialized_default_construct<_ValueType>(std::move(__first), std::move(__last)); } template <class _ValueType, class _ForwardIterator, class _Size> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __uninitialized_default_construct_n(_ForwardIterator __first, _Size __n) { auto __idx = __first; try { for (; __n > 0; ++__idx, (void)--__n) ::new (std::__voidify(*__idx)) _ValueType; } catch (...) { std::__destroy(__first, __idx); throw; } return __idx; } template <class _ForwardIterator, class _Size> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator uninitialized_default_construct_n(_ForwardIterator __first, _Size __n) { using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; return std::__uninitialized_default_construct_n<_ValueType>(std::move(__first), __n); } template <class _ValueType, class _ForwardIterator, class _Sentinel> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __uninitialized_value_construct(_ForwardIterator __first, _Sentinel __last) { auto __idx = __first; try { for (; __idx != __last; ++__idx) ::new (std::__voidify(*__idx)) _ValueType(); } catch (...) { std::__destroy(__first, __idx); throw; } return __idx; } template <class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void uninitialized_value_construct(_ForwardIterator __first, _ForwardIterator __last) { using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; (void)std::__uninitialized_value_construct<_ValueType>(std::move(__first), std::move(__last)); } template <class _ValueType, class _ForwardIterator, class _Size> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __uninitialized_value_construct_n(_ForwardIterator __first, _Size __n) { auto __idx = __first; try { for (; __n > 0; ++__idx, (void)--__n) ::new (std::__voidify(*__idx)) _ValueType(); } catch (...) { std::__destroy(__first, __idx); throw; } return __idx; } template <class _ForwardIterator, class _Size> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator uninitialized_value_construct_n(_ForwardIterator __first, _Size __n) { using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; return std::__uninitialized_value_construct_n<_ValueType>(std::move(__first), __n); } template <class _ValueType, class _InputIterator, class _Sentinel1, class _ForwardIterator, class _EndPredicate, class _IterMove> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _ForwardIterator> __uninitialized_move( _InputIterator __ifirst, _Sentinel1 __ilast, _ForwardIterator __ofirst, _EndPredicate __stop_moving, _IterMove __iter_move) { auto __idx = __ofirst; try { for (; __ifirst != __ilast && !__stop_moving(__idx); ++__idx, (void)++__ifirst) { ::new (std::__voidify(*__idx)) _ValueType(__iter_move(__ifirst)); } } catch (...) { std::__destroy(__ofirst, __idx); throw; } return {std::move(__ifirst), std::move(__idx)}; } template <class _InputIterator, class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator uninitialized_move(_InputIterator __ifirst, _InputIterator __ilast, _ForwardIterator __ofirst) { using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; auto __iter_move = [](auto&& __iter) -> decltype(auto) { return std::move(*__iter); }; auto __result = std::__uninitialized_move<_ValueType>( std::move(__ifirst), std::move(__ilast), std::move(__ofirst), __always_false(), __iter_move); return std::move(__result.second); } template <class _ValueType, class _InputIterator, class _Size, class _ForwardIterator, class _EndPredicate, class _IterMove> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _ForwardIterator> __uninitialized_move_n( _InputIterator __ifirst, _Size __n, _ForwardIterator __ofirst, _EndPredicate __stop_moving, _IterMove __iter_move) { auto __idx = __ofirst; try { for (; __n > 0 && !__stop_moving(__idx); ++__idx, (void)++__ifirst, --__n) ::new (std::__voidify(*__idx)) _ValueType(__iter_move(__ifirst)); } catch (...) { std::__destroy(__ofirst, __idx); throw; } return {std::move(__ifirst), std::move(__idx)}; } template <class _InputIterator, class _Size, class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _ForwardIterator> uninitialized_move_n(_InputIterator __ifirst, _Size __n, _ForwardIterator __ofirst) { using _ValueType = typename iterator_traits<_ForwardIterator>::value_type; auto __iter_move = [](auto&& __iter) -> decltype(auto) { return std::move(*__iter); }; return std::__uninitialized_move_n<_ValueType>( std::move(__ifirst), __n, std::move(__ofirst), __always_false(), __iter_move); } # 363 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 template <class _Alloc, class _BidirIter, class = __enable_if_t< __has_bidirectional_iterator_category<_BidirIter>::value >> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __allocator_destroy_multidimensional(_Alloc& __alloc, _BidirIter __first, _BidirIter __last) noexcept { using _ValueType = typename iterator_traits<_BidirIter>::value_type; static_assert(is_same_v<typename allocator_traits<_Alloc>::value_type, _ValueType>, "The allocator should already be rebound to the correct type"); if (__first == __last) return; if constexpr (is_array_v<_ValueType>) { static_assert(!__libcpp_is_unbounded_array<_ValueType>::value, "arrays of unbounded arrays don't exist, but if they did we would mess up here"); using _Element = remove_extent_t<_ValueType>; __allocator_traits_rebind_t<_Alloc, _Element> __elem_alloc(__alloc); do { --__last; decltype(auto) __array = *__last; std::__allocator_destroy_multidimensional(__elem_alloc, __array, __array + extent_v<_ValueType>); } while (__last != __first); } else { do { --__last; allocator_traits<_Alloc>::destroy(__alloc, std::addressof(*__last)); } while (__last != __first); } } # 401 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 template <class _Alloc, class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __allocator_construct_at_multidimensional(_Alloc& __alloc, _Tp* __loc) { static_assert(is_same_v<typename allocator_traits<_Alloc>::value_type, _Tp>, "The allocator should already be rebound to the correct type"); if constexpr (is_array_v<_Tp>) { using _Element = remove_extent_t<_Tp>; __allocator_traits_rebind_t<_Alloc, _Element> __elem_alloc(__alloc); size_t __i = 0; _Tp& __array = *__loc; auto __guard = std::__make_exception_guard([&]() { std::__allocator_destroy_multidimensional(__elem_alloc, __array, __array + __i); }); for (; __i != extent_v<_Tp>; ++__i) { std::__allocator_construct_at_multidimensional(__elem_alloc, std::addressof(__array[__i])); } __guard.__complete(); } else { allocator_traits<_Alloc>::construct(__alloc, __loc); } } # 436 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 template <class _Alloc, class _Tp, class _Arg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __allocator_construct_at_multidimensional(_Alloc& __alloc, _Tp* __loc, _Arg const& __arg) { static_assert(is_same_v<typename allocator_traits<_Alloc>::value_type, _Tp>, "The allocator should already be rebound to the correct type"); if constexpr (is_array_v<_Tp>) { static_assert(is_array_v<_Arg>, "Provided non-array initialization argument to __allocator_construct_at_multidimensional when " "trying to construct an array."); using _Element = remove_extent_t<_Tp>; __allocator_traits_rebind_t<_Alloc, _Element> __elem_alloc(__alloc); size_t __i = 0; _Tp& __array = *__loc; auto __guard = std::__make_exception_guard([&]() { std::__allocator_destroy_multidimensional(__elem_alloc, __array, __array + __i); }); for (; __i != extent_v<_Tp>; ++__i) { std::__allocator_construct_at_multidimensional(__elem_alloc, std::addressof(__array[__i]), __arg[__i]); } __guard.__complete(); } else { allocator_traits<_Alloc>::construct(__alloc, __loc, __arg); } } # 472 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uninitialized_algorithms.h" 3 template <class _Alloc, class _BidirIter, class _Tp, class _Size = typename iterator_traits<_BidirIter>::difference_type> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __uninitialized_allocator_fill_n_multidimensional(_Alloc& __alloc, _BidirIter __it, _Size __n, _Tp const& __value) { using _ValueType = typename iterator_traits<_BidirIter>::value_type; __allocator_traits_rebind_t<_Alloc, _ValueType> __value_alloc(__alloc); _BidirIter __begin = __it; auto __guard = std::__make_exception_guard([&]() { std::__allocator_destroy_multidimensional(__value_alloc, __begin, __it); }); for (; __n != 0; --__n, ++__it) { std::__allocator_construct_at_multidimensional(__value_alloc, std::addressof(*__it), __value); } __guard.__complete(); } template <class _Alloc, class _BidirIter, class _Size = typename iterator_traits<_BidirIter>::difference_type> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __uninitialized_allocator_value_construct_n_multidimensional(_Alloc& __alloc, _BidirIter __it, _Size __n) { using _ValueType = typename iterator_traits<_BidirIter>::value_type; __allocator_traits_rebind_t<_Alloc, _ValueType> __value_alloc(__alloc); _BidirIter __begin = __it; auto __guard = std::__make_exception_guard([&]() { std::__allocator_destroy_multidimensional(__value_alloc, __begin, __it); }); for (; __n != 0; --__n, ++__it) { std::__allocator_construct_at_multidimensional(__value_alloc, std::addressof(*__it)); } __guard.__complete(); } template <class _Alloc, class _Iter, class _Sent> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __allocator_destroy(_Alloc& __alloc, _Iter __first, _Sent __last) { for (; __first != __last; ++__first) allocator_traits<_Alloc>::destroy(__alloc, std::__to_address(__first)); } template <class _Alloc, class _Iter> class _AllocatorDestroyRangeReverse { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _AllocatorDestroyRangeReverse(_Alloc& __alloc, _Iter& __first, _Iter& __last) : __alloc_(__alloc), __first_(__first), __last_(__last) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void operator()() const { std::__allocator_destroy(__alloc_, std::reverse_iterator<_Iter>(__last_), std::reverse_iterator<_Iter>(__first_)); } private: _Alloc& __alloc_; _Iter& __first_; _Iter& __last_; }; template <class _Alloc, class _Iter1, class _Sent1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter2 __uninitialized_allocator_copy_impl(_Alloc& __alloc, _Iter1 __first1, _Sent1 __last1, _Iter2 __first2) { auto __destruct_first = __first2; auto __guard = std::__make_exception_guard(_AllocatorDestroyRangeReverse<_Alloc, _Iter2>(__alloc, __destruct_first, __first2)); while (__first1 != __last1) { allocator_traits<_Alloc>::construct(__alloc, std::__to_address(__first2), *__first1); ++__first1; ++__first2; } __guard.__complete(); return __first2; } template <class _Alloc, class _Type> struct __allocator_has_trivial_copy_construct : _Not<__has_construct<_Alloc, _Type*, const _Type&> > {}; template <class _Type> struct __allocator_has_trivial_copy_construct<allocator<_Type>, _Type> : true_type {}; template <class _Alloc, class _In, class _RawTypeIn = __remove_const_t<_In>, class _Out, __enable_if_t< is_trivially_copy_constructible<_RawTypeIn>::value && is_trivially_copy_assignable<_RawTypeIn>::value && is_same<__remove_const_t<_In>, __remove_const_t<_Out> >::value && __allocator_has_trivial_copy_construct<_Alloc, _RawTypeIn>::value>* = nullptr> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Out* __uninitialized_allocator_copy_impl(_Alloc&, _In* __first1, _In* __last1, _Out* __first2) { if (__libcpp_is_constant_evaluated()) { while (__first1 != __last1) { std::__construct_at(std::__to_address(__first2), *__first1); ++__first1; ++__first2; } return __first2; } else { return std::copy(__first1, __last1, const_cast<_RawTypeIn*>(__first2)); } } template <class _Alloc, class _Iter1, class _Sent1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter2 __uninitialized_allocator_copy(_Alloc& __alloc, _Iter1 __first1, _Sent1 __last1, _Iter2 __first2) { auto __unwrapped_range = std::__unwrap_range(__first1, __last1); auto __result = std::__uninitialized_allocator_copy_impl( __alloc, __unwrapped_range.first, __unwrapped_range.second, std::__unwrap_iter(__first2)); return std::__rewrap_iter(__first2, __result); } template <class _Alloc, class _Iter1, class _Sent1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter2 __uninitialized_allocator_move_if_noexcept(_Alloc& __alloc, _Iter1 __first1, _Sent1 __last1, _Iter2 __first2) { static_assert(__is_cpp17_move_insertable<_Alloc>::value, "The specified type does not meet the requirements of Cpp17MoveInsertable"); auto __destruct_first = __first2; auto __guard = std::__make_exception_guard(_AllocatorDestroyRangeReverse<_Alloc, _Iter2>(__alloc, __destruct_first, __first2)); while (__first1 != __last1) { allocator_traits<_Alloc>::construct(__alloc, std::__to_address(__first2), std::move_if_noexcept(*__first1)); ++__first1; ++__first2; } __guard.__complete(); return __first2; } template <class _Alloc, class _Type> struct __allocator_has_trivial_move_construct : _Not<__has_construct<_Alloc, _Type*, _Type&&> > {}; template <class _Type> struct __allocator_has_trivial_move_construct<allocator<_Type>, _Type> : true_type {}; template < class _Alloc, class _Iter1, class _Iter2, class _Type = typename iterator_traits<_Iter1>::value_type, class = __enable_if_t<is_trivially_move_constructible<_Type>::value && is_trivially_move_assignable<_Type>::value && __allocator_has_trivial_move_construct<_Alloc, _Type>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter2 __uninitialized_allocator_move_if_noexcept(_Alloc&, _Iter1 __first1, _Iter1 __last1, _Iter2 __first2) { if (__libcpp_is_constant_evaluated()) { while (__first1 != __last1) { std::__construct_at(std::__to_address(__first2), std::move(*__first1)); ++__first1; ++__first2; } return __first2; } else { return std::move(__first1, __last1, __first2); } } }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 318 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/ranges_uninitialized_algorithms.h" 3 }} # 938 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/raw_storage_iterator.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/raw_storage_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/raw_storage_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/raw_storage_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _OutputIterator, class _Tp> class __attribute__((__deprecated__)) raw_storage_iterator : public iterator<output_iterator_tag, void, void, void, void> { #pragma GCC diagnostic pop private: _OutputIterator __x_; public: typedef output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit raw_storage_iterator(_OutputIterator __x) : __x_(__x) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) raw_storage_iterator& operator*() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) raw_storage_iterator& operator=(const _Tp& __element) { ::new ((void*)std::addressof(*__x_)) _Tp(__element); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) raw_storage_iterator& operator=(_Tp&& __element) { ::new ((void*)std::addressof(*__x_)) _Tp(std::move(__element)); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) raw_storage_iterator& operator++() { ++__x_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) raw_storage_iterator operator++(int) { raw_storage_iterator __t(*this); ++__x_; return __t; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator base() const { return __x_; } }; }} # 939 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_three_way.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_three_way.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_three_way.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/operations.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/operations.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp = void> struct plus : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } }; template <class... _Tag> [[maybe_unused]] plus(typename _Tag::__allow_ctad...)->plus<_Tag...>; template <class _Tp> struct __desugars_to<__plus_tag, plus<_Tp>, _Tp, _Tp> : true_type {}; template <class _Tp, class _Up> struct __desugars_to<__plus_tag, plus<void>, _Tp, _Up> : true_type {}; template <> struct plus<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) + std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) + std::forward<_T2>(__u)) { return std::forward<_T1>(__t) + std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct minus : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } }; template <class... _Tag> [[maybe_unused]] minus(typename _Tag::__allow_ctad...)->minus<_Tag...>; template <> struct minus<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) - std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) - std::forward<_T2>(__u)) { return std::forward<_T1>(__t) - std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct multiplies : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } }; template <class... _Tag> [[maybe_unused]] multiplies(typename _Tag::__allow_ctad...)->multiplies<_Tag...>; template <> struct multiplies<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) * std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) * std::forward<_T2>(__u)) { return std::forward<_T1>(__t) * std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct divides : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } }; template <class... _Tag> [[maybe_unused]] divides(typename _Tag::__allow_ctad...)->divides<_Tag...>; template <> struct divides<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) / std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) / std::forward<_T2>(__u)) { return std::forward<_T1>(__t) / std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct modulus : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } }; template <class... _Tag> [[maybe_unused]] modulus(typename _Tag::__allow_ctad...)->modulus<_Tag...>; template <> struct modulus<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) % std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) % std::forward<_T2>(__u)) { return std::forward<_T1>(__t) % std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct negate : __unary_function<_Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x) const { return -__x; } }; template <class... _Tag> [[maybe_unused]] negate(typename _Tag::__allow_ctad...)->negate<_Tag...>; template <> struct negate<void> { template <class _Tp> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_Tp&& __x) const noexcept(noexcept(-std::forward<_Tp>(__x))) -> decltype(-std::forward<_Tp>(__x)) { return -std::forward<_Tp>(__x); } typedef void is_transparent; }; template <class _Tp = void> struct bit_and : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x & __y; } }; template <class... _Tag> [[maybe_unused]] bit_and(typename _Tag::__allow_ctad...)->bit_and<_Tag...>; template <> struct bit_and<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) & std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) & std::forward<_T2>(__u)) { return std::forward<_T1>(__t) & std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct bit_not : __unary_function<_Tp, _Tp> { constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x) const { return ~__x; } }; template <class... _Tag> [[maybe_unused]] bit_not(typename _Tag::__allow_ctad...)->bit_not<_Tag...>; template <> struct bit_not<void> { template <class _Tp> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_Tp&& __x) const noexcept(noexcept(~std::forward<_Tp>(__x))) -> decltype(~std::forward<_Tp>(__x)) { return ~std::forward<_Tp>(__x); } typedef void is_transparent; }; template <class _Tp = void> struct bit_or : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x | __y; } }; template <class... _Tag> [[maybe_unused]] bit_or(typename _Tag::__allow_ctad...)->bit_or<_Tag...>; template <> struct bit_or<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) | std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) | std::forward<_T2>(__u)) { return std::forward<_T1>(__t) | std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct bit_xor : __binary_function<_Tp, _Tp, _Tp> { typedef _Tp __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x ^ __y; } }; template <class... _Tag> [[maybe_unused]] bit_xor(typename _Tag::__allow_ctad...)->bit_xor<_Tag...>; template <> struct bit_xor<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) ^ std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) ^ std::forward<_T2>(__u)) { return std::forward<_T1>(__t) ^ std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct equal_to : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } }; template <class... _Tag> [[maybe_unused]] equal_to(typename _Tag::__allow_ctad...)->equal_to<_Tag...>; template <> struct equal_to<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) == std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) == std::forward<_T2>(__u)) { return std::forward<_T1>(__t) == std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp> struct __desugars_to<__equal_tag, equal_to<_Tp>, _Tp, _Tp> : true_type {}; template <class _Tp, class _Up> struct __desugars_to<__equal_tag, equal_to<void>, _Tp, _Up> : true_type {}; template <class _Tp = void> struct not_equal_to : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } }; template <class... _Tag> [[maybe_unused]] not_equal_to(typename _Tag::__allow_ctad...)->not_equal_to<_Tag...>; template <> struct not_equal_to<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) != std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) != std::forward<_T2>(__u)) { return std::forward<_T1>(__t) != std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct less : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } }; template <class... _Tag> [[maybe_unused]] less(typename _Tag::__allow_ctad...)->less<_Tag...>; template <> struct less<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) < std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) < std::forward<_T2>(__u)) { return std::forward<_T1>(__t) < std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct less_equal : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } }; template <class... _Tag> [[maybe_unused]] less_equal(typename _Tag::__allow_ctad...)->less_equal<_Tag...>; template <> struct less_equal<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) <= std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) <= std::forward<_T2>(__u)) { return std::forward<_T1>(__t) <= std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct greater_equal : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } }; template <class... _Tag> [[maybe_unused]] greater_equal(typename _Tag::__allow_ctad...)->greater_equal<_Tag...>; template <> struct greater_equal<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) >= std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) >= std::forward<_T2>(__u)) { return std::forward<_T1>(__t) >= std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct greater : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } }; template <class... _Tag> [[maybe_unused]] greater(typename _Tag::__allow_ctad...)->greater<_Tag...>; template <> struct greater<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) > std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) > std::forward<_T2>(__u)) { return std::forward<_T1>(__t) > std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct logical_and : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } }; template <class... _Tag> [[maybe_unused]] logical_and(typename _Tag::__allow_ctad...)->logical_and<_Tag...>; template <> struct logical_and<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) && std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) && std::forward<_T2>(__u)) { return std::forward<_T1>(__t) && std::forward<_T2>(__u); } typedef void is_transparent; }; template <class _Tp = void> struct logical_not : __unary_function<_Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x) const { return !__x; } }; template <class... _Tag> [[maybe_unused]] logical_not(typename _Tag::__allow_ctad...)->logical_not<_Tag...>; template <> struct logical_not<void> { template <class _Tp> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_Tp&& __x) const noexcept(noexcept(!std::forward<_Tp>(__x))) -> decltype(!std::forward<_Tp>(__x)) { return !std::forward<_Tp>(__x); } typedef void is_transparent; }; template <class _Tp = void> struct logical_or : __binary_function<_Tp, _Tp, bool> { typedef bool __result_type; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } }; template <class... _Tag> [[maybe_unused]] logical_or(typename _Tag::__allow_ctad...)->logical_or<_Tag...>; template <> struct logical_or<void> { template <class _T1, class _T2> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto operator()(_T1&& __t, _T2&& __u) const noexcept(noexcept(std::forward<_T1>(__t) || std::forward<_T2>(__u))) -> decltype(std::forward<_T1>(__t) || std::forward<_T2>(__u)) { return std::forward<_T1>(__t) || std::forward<_T2>(__u); } typedef void is_transparent; }; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/ostream.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/ostream.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/string.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/string.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/memory_resource.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/memory_resource.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace pmr { template <class _ValueType> class polymorphic_allocator; } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/string.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/string.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT> struct char_traits; template <> struct char_traits<char>; template <> struct char_traits<char16_t>; template <> struct char_traits<char32_t>; template <> struct char_traits<wchar_t>; template <class _Tp> class allocator; template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > class basic_string; using string = basic_string<char>; using wstring = basic_string<wchar_t>; using u16string = basic_string<char16_t>; using u32string = basic_string<char32_t>; namespace pmr { template <class _CharT, class _Traits = char_traits<_CharT>> using basic_string = std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; using string = basic_string<char>; using wstring = basic_string<wchar_t>; using u16string = basic_string<char16_t>; using u32string = basic_string<char32_t>; } template <class _CharT, class _Traits, class _Allocator> class __attribute__((__preferred_name__(string))) __attribute__((__preferred_name__(wstring))) __attribute__((__preferred_name__(u16string))) __attribute__((__preferred_name__(u32string))) __attribute__((__preferred_name__(pmr::string))) __attribute__((__preferred_name__(pmr::wstring))) __attribute__((__preferred_name__(pmr::u16string))) __attribute__((__preferred_name__(pmr::u32string))) basic_string; }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/ostream.h" 2 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/ostream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ostream; using ostream = basic_ostream<char>; using wostream = basic_ostream<wchar_t>; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(ostream))) __attribute__((__preferred_name__(wostream))) basic_ostream; }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_destructor.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/allocator_destructor.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Alloc> class __allocator_destructor { typedef __attribute__((__nodebug__)) allocator_traits<_Alloc> __alloc_traits; public: typedef __attribute__((__nodebug__)) typename __alloc_traits::pointer pointer; typedef __attribute__((__nodebug__)) typename __alloc_traits::size_type size_type; private: _Alloc& __alloc_; size_type __s_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __allocator_destructor(_Alloc& __a, size_type __s) noexcept : __alloc_(__a), __s_(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator()(pointer __p) noexcept { __alloc_traits::deallocate(__alloc_, __p, __s_); } }; }} # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstring" 1 3 # 63 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstring" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/string.h" 1 3 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/string.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/strcasecmp.h" 1 3 4 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/strcasecmp.h" 3 4 extern "C" { # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/strcasecmp.h" 3 4 int strcasecmp(const char* _Nonnull __s1, const char* _Nonnull __s2) __attribute__((__pure__)); # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/strcasecmp.h" 3 4 int strncasecmp(const char* _Nonnull __s1, const char* _Nonnull __s2, size_t __n) __attribute__((__pure__)); # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/strcasecmp.h" 3 4 } # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 2 3 4 extern "C" { # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/strings.h" 1 3 4 # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/strings.h" 3 4 extern "C" { static __inline__ __attribute__((__always_inline__)) void __bionic_bcopy(const void* _Nonnull b1, void* _Nonnull b2, size_t len) { __builtin_memmove(b2, b1, len); } static __inline__ __attribute__((__always_inline__)) void __bionic_bzero(void* _Nonnull b, size_t len) { __builtin_memset(b, 0, len); } # 81 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/strings.h" 3 4 static __inline__ int ffs(int __n) { return __builtin_ffs(__n); } # 92 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/strings.h" 3 4 static __inline__ int ffsl(long __n) { return __builtin_ffsl(__n); } # 103 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/strings.h" 3 4 static __inline__ int ffsll(long long __n) { return __builtin_ffsll(__n); } } # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 2 3 4 void* _Nullable memccpy(void* _Nonnull __dst, const void* _Nonnull __src, int __stop_char, size_t __n); void* _Nullable memchr(const void* _Nonnull __s, int __ch, size_t __n) __attribute__((__pure__)); extern "C++" void* _Nullable memrchr(void* _Nonnull __s, int __ch, size_t __n) __asm__("memrchr") __attribute__((__pure__)); extern "C++" const void* _Nullable memrchr(const void* _Nonnull __s, int __ch, size_t __n) __asm__("memrchr") __attribute__((__pure__)); int memcmp(const void* _Nonnull __lhs, const void* _Nonnull __rhs, size_t __n) __attribute__((__pure__)); void* _Nonnull memcpy(void* _Nonnull, const void* _Nonnull, size_t); void* _Nonnull memmove(void* _Nonnull __dst, const void* _Nonnull __src, size_t __n); void* _Nonnull memset(void* _Nonnull __dst, int __ch, size_t __n); # 84 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 3 4 void* _Nullable memmem(const void* _Nonnull __haystack, size_t __haystack_size, const void* _Nonnull __needle, size_t __needle_size) __attribute__((__pure__)); char* _Nullable strchr(const char* _Nonnull __s, int __ch) __attribute__((__pure__)); char* _Nullable __strchr_chk(const char* _Nonnull __s, int __ch, size_t __n); # 105 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 3 4 char* _Nullable strrchr(const char* _Nonnull __s, int __ch) __attribute__((__pure__)); char* _Nullable __strrchr_chk(const char* _Nonnull __s, int __ch, size_t __n); size_t strlen(const char* _Nonnull __s) __attribute__((__pure__)); size_t __strlen_chk(const char* _Nonnull __s, size_t __n); int strcmp(const char* _Nonnull __lhs, const char* _Nonnull __rhs) __attribute__((__pure__)); char* _Nonnull stpcpy(char* _Nonnull __dst, const char* _Nonnull __src); char* _Nonnull strcpy(char* _Nonnull __dst, const char* _Nonnull __src); char* _Nonnull strcat(char* _Nonnull __dst, const char* _Nonnull __src); char* _Nullable strdup(const char* _Nonnull __s); char* _Nullable strstr(const char* _Nonnull __haystack, const char* _Nonnull __needle) __attribute__((__pure__)); extern "C++" char* _Nullable strcasestr(char* _Nonnull, const char* _Nonnull) __asm__("strcasestr") __attribute__((__pure__)); extern "C++" const char* _Nullable strcasestr(const char* _Nonnull, const char* _Nonnull) __asm__("strcasestr") __attribute__((__pure__)); char* _Nullable strtok(char* _Nullable __s, const char* _Nonnull __delimiter); char* _Nullable strtok_r(char* _Nullable __s, const char* _Nonnull __delimiter, char* _Nonnull * _Nonnull __pos_ptr); char* _Nonnull strerror(int __errno_value); # 136 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 3 4 int strerror_r(int __errno_value, char* _Nonnull __buf, size_t __n); # 167 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 3 4 const char* _Nonnull strerrordesc_np(int __errno_value) __asm__("strerror"); size_t strnlen(const char* _Nonnull __s, size_t __n) __attribute__((__pure__)); char* _Nonnull strncat(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n); char* _Nullable strndup(const char* _Nonnull __s, size_t __n); int strncmp(const char* _Nonnull __lhs, const char* _Nonnull __rhs, size_t __n) __attribute__((__pure__)); char* _Nonnull stpncpy(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n); char* _Nonnull strncpy(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n); size_t strlcat(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n); size_t strlcpy(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n); size_t strcspn(const char* _Nonnull __s, const char* _Nonnull __reject) __attribute__((__pure__)); char* _Nullable strpbrk(const char* _Nonnull __s, const char* _Nonnull __accept) __attribute__((__pure__)); char* _Nullable strsep(char* _Nullable * _Nonnull __s_ptr, const char* _Nonnull __delimiter); size_t strspn(const char* _Nonnull __s, const char* _Nonnull __accept); char* _Nonnull strsignal(int __signal); int strcoll(const char* _Nonnull __lhs, const char* _Nonnull __rhs) __attribute__((__pure__)); size_t strxfrm(char* _Null_unspecified __dst, const char* _Nonnull __src, size_t __n); int strcoll_l(const char* _Nonnull __lhs, const char* _Nonnull __rhs, locale_t _Nonnull __l) __attribute__((__pure__)); size_t strxfrm_l(char* _Null_unspecified __dst, const char* _Nonnull __src, size_t __n, locale_t _Nonnull __l); # 225 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/string.h" 3 4 extern "C++" { inline __attribute__((__always_inline__)) void* _Nullable __bionic_memchr(const void* _Nonnull const s , int c, size_t n) { return memchr(s, c, n); } inline __attribute__((__always_inline__)) const void* _Nullable memchr(const void* _Nonnull const s , int c, size_t n) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_memchr(s, c, n); } inline __attribute__((__always_inline__)) void* _Nullable memchr(void* _Nonnull const s , int c, size_t n) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_memchr(s, c, n); } inline __attribute__((__always_inline__)) char* _Nullable __bionic_strchr(const char* _Nonnull const s , int c) { return strchr(s, c); } inline __attribute__((__always_inline__)) const char* _Nullable strchr(const char* _Nonnull const s , int c) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strchr(s, c); } inline __attribute__((__always_inline__)) char* _Nullable strchr(char* _Nonnull const s , int c) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strchr(s, c); } inline __attribute__((__always_inline__)) char* _Nullable __bionic_strrchr(const char* _Nonnull const s , int c) { return strrchr(s, c); } inline __attribute__((__always_inline__)) const char* _Nullable strrchr(const char* _Nonnull const s , int c) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strrchr(s, c); } inline __attribute__((__always_inline__)) char* _Nullable strrchr(char* _Nonnull const s , int c) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strrchr(s, c); } inline __attribute__((__always_inline__)) char* _Nullable __bionic_strstr(const char* _Nonnull h, const char* _Nonnull n) { return strstr(h, n); } inline __attribute__((__always_inline__)) const char* _Nullable strstr(const char* _Nonnull h, const char* _Nonnull n) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strstr(h, n); } inline __attribute__((__always_inline__)) char* _Nullable strstr(char* _Nonnull h, const char* _Nonnull n) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strstr(h, n); } inline __attribute__((__always_inline__)) char* _Nullable __bionic_strpbrk(const char* _Nonnull h, const char* _Nonnull n) { return strpbrk(h, n); } inline __attribute__((__always_inline__)) char* _Nullable strpbrk(char* _Nonnull h, const char* _Nonnull n) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strpbrk(h, n); } inline __attribute__((__always_inline__)) const char* _Nullable strpbrk(const char* _Nonnull h, const char* _Nonnull n) __attribute__((__enable_if__(true, "preferred overload"))) __attribute__((__enable_if__(true, ""))) { return __bionic_strpbrk(h, n); } } } # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/string.h" 2 3 # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/string.h" 3 extern "C++" { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const char* strchr(const char* __s, int __c) { return __builtin_strchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) char* strchr(char* __s, int __c) { return __builtin_strchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const char* strpbrk(const char* __s1, const char* __s2) { return __builtin_strpbrk(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) char* strpbrk(char* __s1, const char* __s2) { return __builtin_strpbrk(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const char* strrchr(const char* __s, int __c) { return __builtin_strrchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) char* strrchr(char* __s, int __c) { return __builtin_strrchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const void* memchr(const void* __s, int __c, size_t __n) { return __builtin_memchr(__s, __c, __n); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) void* memchr(void* __s, int __c, size_t __n) { return __builtin_memchr(__s, __c, __n); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const char* strstr(const char* __s1, const char* __s2) { return __builtin_strstr(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) char* strstr(char* __s1, const char* __s2) { return __builtin_strstr(__s1, __s2); } } # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstring" 2 3 # 75 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cstring" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::size_t __attribute__((__using_if_exists__)); using ::memcpy __attribute__((__using_if_exists__)); using ::memmove __attribute__((__using_if_exists__)); using ::strcpy __attribute__((__using_if_exists__)); using ::strncpy __attribute__((__using_if_exists__)); using ::strcat __attribute__((__using_if_exists__)); using ::strncat __attribute__((__using_if_exists__)); using ::memcmp __attribute__((__using_if_exists__)); using ::strcmp __attribute__((__using_if_exists__)); using ::strncmp __attribute__((__using_if_exists__)); using ::strcoll __attribute__((__using_if_exists__)); using ::strxfrm __attribute__((__using_if_exists__)); using ::memchr __attribute__((__using_if_exists__)); using ::strchr __attribute__((__using_if_exists__)); using ::strcspn __attribute__((__using_if_exists__)); using ::strpbrk __attribute__((__using_if_exists__)); using ::strrchr __attribute__((__using_if_exists__)); using ::strspn __attribute__((__using_if_exists__)); using ::strstr __attribute__((__using_if_exists__)); using ::strtok __attribute__((__using_if_exists__)); using ::memset __attribute__((__using_if_exists__)); using ::strerror __attribute__((__using_if_exists__)); using ::strlen __attribute__((__using_if_exists__)); }} # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 2 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Size> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Size __loadword(const void* __p) { _Size __r; std::memcpy(&__r, __p, sizeof(__r)); return __r; } template <class _Size, size_t = sizeof(_Size) * 8> struct __murmur2_or_cityhash; template <class _Size> struct __murmur2_or_cityhash<_Size, 32> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) _Size operator()(const void* __key, _Size __len) const { const _Size __m = 0x5bd1e995; const _Size __r = 24; _Size __h = __len; const unsigned char* __data = static_cast<const unsigned char*>(__key); for (; __len >= 4; __data += 4, __len -= 4) { _Size __k = std::__loadword<_Size>(__data); __k *= __m; __k ^= __k >> __r; __k *= __m; __h *= __m; __h ^= __k; } switch (__len) { case 3: __h ^= static_cast<_Size>(__data[2] << 16); [[fallthrough]]; case 2: __h ^= static_cast<_Size>(__data[1] << 8); [[fallthrough]]; case 1: __h ^= __data[0]; __h *= __m; } __h ^= __h >> 13; __h *= __m; __h ^= __h >> 15; return __h; } }; template <class _Size> struct __murmur2_or_cityhash<_Size, 64> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) _Size operator()(const void* __key, _Size __len) const { const char* __s = static_cast<const char*>(__key); if (__len <= 32) { if (__len <= 16) { return __hash_len_0_to_16(__s, __len); } else { return __hash_len_17_to_32(__s, __len); } } else if (__len <= 64) { return __hash_len_33_to_64(__s, __len); } _Size __x = std::__loadword<_Size>(__s + __len - 40); _Size __y = std::__loadword<_Size>(__s + __len - 16) + std::__loadword<_Size>(__s + __len - 56); _Size __z = __hash_len_16(std::__loadword<_Size>(__s + __len - 48) + __len, std::__loadword<_Size>(__s + __len - 24)); pair<_Size, _Size> __v = __weak_hash_len_32_with_seeds(__s + __len - 64, __len, __z); pair<_Size, _Size> __w = __weak_hash_len_32_with_seeds(__s + __len - 32, __y + __k1, __x); __x = __x * __k1 + std::__loadword<_Size>(__s); __len = (__len - 1) & ~static_cast<_Size>(63); do { __x = __rotate(__x + __y + __v.first + std::__loadword<_Size>(__s + 8), 37) * __k1; __y = __rotate(__y + __v.second + std::__loadword<_Size>(__s + 48), 42) * __k1; __x ^= __w.second; __y += __v.first + std::__loadword<_Size>(__s + 40); __z = __rotate(__z + __w.first, 33) * __k1; __v = __weak_hash_len_32_with_seeds(__s, __v.second * __k1, __x + __w.first); __w = __weak_hash_len_32_with_seeds(__s + 32, __z + __w.second, __y + std::__loadword<_Size>(__s + 16)); std::swap(__z, __x); __s += 64; __len -= 64; } while (__len != 0); return __hash_len_16(__hash_len_16(__v.first, __w.first) + __shift_mix(__y) * __k1 + __z, __hash_len_16(__v.second, __w.second) + __x); } private: static const _Size __k0 = 0xc3a5c85c97cb3127ULL; static const _Size __k1 = 0xb492b66fbe98f273ULL; static const _Size __k2 = 0x9ae16a3b2f90404fULL; static const _Size __k3 = 0xc949d7c7509e6557ULL; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static _Size __rotate(_Size __val, int __shift) { return __shift == 0 ? __val : ((__val >> __shift) | (__val << (64 - __shift))); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static _Size __rotate_by_at_least_1(_Size __val, int __shift) { return (__val >> __shift) | (__val << (64 - __shift)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static _Size __shift_mix(_Size __val) { return __val ^ (__val >> 47); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size __hash_len_16(_Size __u, _Size __v) { const _Size __mul = 0x9ddfea08eb382d69ULL; _Size __a = (__u ^ __v) * __mul; __a ^= (__a >> 47); _Size __b = (__v ^ __a) * __mul; __b ^= (__b >> 47); __b *= __mul; return __b; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size __hash_len_0_to_16(const char* __s, _Size __len) { if (__len > 8) { const _Size __a = std::__loadword<_Size>(__s); const _Size __b = std::__loadword<_Size>(__s + __len - 8); return __hash_len_16(__a, __rotate_by_at_least_1(__b + __len, __len)) ^ __b; } if (__len >= 4) { const uint32_t __a = std::__loadword<uint32_t>(__s); const uint32_t __b = std::__loadword<uint32_t>(__s + __len - 4); return __hash_len_16(__len + (__a << 3), __b); } if (__len > 0) { const unsigned char __a = static_cast<unsigned char>(__s[0]); const unsigned char __b = static_cast<unsigned char>(__s[__len >> 1]); const unsigned char __c = static_cast<unsigned char>(__s[__len - 1]); const uint32_t __y = static_cast<uint32_t>(__a) + (static_cast<uint32_t>(__b) << 8); const uint32_t __z = __len + (static_cast<uint32_t>(__c) << 2); return __shift_mix(__y * __k2 ^ __z * __k3) * __k2; } return __k2; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size __hash_len_17_to_32(const char* __s, _Size __len) { const _Size __a = std::__loadword<_Size>(__s) * __k1; const _Size __b = std::__loadword<_Size>(__s + 8); const _Size __c = std::__loadword<_Size>(__s + __len - 8) * __k2; const _Size __d = std::__loadword<_Size>(__s + __len - 16) * __k0; return __hash_len_16( __rotate(__a - __b, 43) + __rotate(__c, 30) + __d, __a + __rotate(__b ^ __k3, 20) - __c + __len); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static pair<_Size, _Size> __weak_hash_len_32_with_seeds(_Size __w, _Size __x, _Size __y, _Size __z, _Size __a, _Size __b) { __a += __w; __b = __rotate(__b + __a + __z, 21); const _Size __c = __a; __a += __x; __a += __y; __b += __rotate(__a, 44); return pair<_Size, _Size>(__a + __z, __b + __c); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static pair<_Size, _Size> __weak_hash_len_32_with_seeds(const char* __s, _Size __a, _Size __b) { return __weak_hash_len_32_with_seeds( std::__loadword<_Size>(__s), std::__loadword<_Size>(__s + 8), std::__loadword<_Size>(__s + 16), std::__loadword<_Size>(__s + 24), __a, __b); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) static _Size __hash_len_33_to_64(const char* __s, size_t __len) { _Size __z = std::__loadword<_Size>(__s + 24); _Size __a = std::__loadword<_Size>(__s) + (__len + std::__loadword<_Size>(__s + __len - 16)) * __k0; _Size __b = __rotate(__a + __z, 52); _Size __c = __rotate(__a, 37); __a += std::__loadword<_Size>(__s + 8); __c += __rotate(__a, 7); __a += std::__loadword<_Size>(__s + 16); _Size __vf = __a + __z; _Size __vs = __b + __rotate(__a, 31) + __c; __a = std::__loadword<_Size>(__s + 16) + std::__loadword<_Size>(__s + __len - 32); __z += std::__loadword<_Size>(__s + __len - 8); __b = __rotate(__a + __z, 52); __c = __rotate(__a, 37); __a += std::__loadword<_Size>(__s + __len - 24); __c += __rotate(__a, 7); __a += std::__loadword<_Size>(__s + __len - 16); _Size __wf = __a + __z; _Size __ws = __b + __rotate(__a, 31) + __c; _Size __r = __shift_mix((__vf + __ws) * __k2 + (__wf + __vs) * __k0); return __shift_mix(__r * __k0 + __vs) * __k2; } }; template <class _Tp, size_t = sizeof(_Tp) / sizeof(size_t)> struct __scalar_hash; template <class _Tp> struct __scalar_hash<_Tp, 0> : public __unary_function<_Tp, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp __v) const noexcept { union { _Tp __t; size_t __a; } __u; __u.__a = 0; __u.__t = __v; return __u.__a; } }; template <class _Tp> struct __scalar_hash<_Tp, 1> : public __unary_function<_Tp, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp __v) const noexcept { union { _Tp __t; size_t __a; } __u; __u.__t = __v; return __u.__a; } }; template <class _Tp> struct __scalar_hash<_Tp, 2> : public __unary_function<_Tp, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp __v) const noexcept { union { _Tp __t; struct { size_t __a; size_t __b; } __s; } __u; __u.__t = __v; return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u)); } }; template <class _Tp> struct __scalar_hash<_Tp, 3> : public __unary_function<_Tp, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp __v) const noexcept { union { _Tp __t; struct { size_t __a; size_t __b; size_t __c; } __s; } __u; __u.__t = __v; return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u)); } }; template <class _Tp> struct __scalar_hash<_Tp, 4> : public __unary_function<_Tp, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp __v) const noexcept { union { _Tp __t; struct { size_t __a; size_t __b; size_t __c; size_t __d; } __s; } __u; __u.__t = __v; return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u)); } }; struct _PairT { size_t first; size_t second; }; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline size_t __hash_combine(size_t __lhs, size_t __rhs) noexcept { typedef __scalar_hash<_PairT> _HashT; const _PairT __p = {__lhs, __rhs}; return _HashT()(__p); } template <class _Tp> struct hash<_Tp*> : public __unary_function<_Tp*, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp* __v) const noexcept { union { _Tp* __t; size_t __a; } __u; __u.__t = __v; return __murmur2_or_cityhash<size_t>()(&__u, sizeof(__u)); } }; template <> struct hash<bool> : public __unary_function<bool, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(bool __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<char> : public __unary_function<char, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(char __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<signed char> : public __unary_function<signed char, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(signed char __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<unsigned char> : public __unary_function<unsigned char, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(unsigned char __v) const noexcept { return static_cast<size_t>(__v); } }; # 370 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 3 template <> struct hash<char16_t> : public __unary_function<char16_t, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(char16_t __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<char32_t> : public __unary_function<char32_t, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(char32_t __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<wchar_t> : public __unary_function<wchar_t, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(wchar_t __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<short> : public __unary_function<short, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(short __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<unsigned short> : public __unary_function<unsigned short, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(unsigned short __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<int> : public __unary_function<int, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(int __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<unsigned int> : public __unary_function<unsigned int, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(unsigned int __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<long> : public __unary_function<long, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(long __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<unsigned long> : public __unary_function<unsigned long, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(unsigned long __v) const noexcept { return static_cast<size_t>(__v); } }; template <> struct hash<long long> : public __scalar_hash<long long> {}; template <> struct hash<unsigned long long> : public __scalar_hash<unsigned long long> {}; # 433 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 3 template <> struct hash<float> : public __scalar_hash<float> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(float __v) const noexcept { if (__v == 0.0f) return 0; return __scalar_hash<float>::operator()(__v); } }; template <> struct hash<double> : public __scalar_hash<double> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(double __v) const noexcept { if (__v == 0.0) return 0; return __scalar_hash<double>::operator()(__v); } }; template <> struct hash<long double> : public __scalar_hash<long double> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(long double __v) const noexcept { if (__v == 0.0L) return 0; # 490 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/hash.h" 3 return __scalar_hash<long double>::operator()(__v); } }; template <class _Tp, bool = is_enum<_Tp>::value> struct __enum_hash : public __unary_function<_Tp, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(_Tp __v) const noexcept { typedef typename underlying_type<_Tp>::type type; return hash<type>()(static_cast<type>(__v)); } }; template <class _Tp> struct __enum_hash<_Tp, false> { __enum_hash() = delete; __enum_hash(__enum_hash const&) = delete; __enum_hash& operator=(__enum_hash const&) = delete; }; template <class _Tp> struct hash : public __enum_hash<_Tp> {}; template <> struct hash<nullptr_t> : public __unary_function<nullptr_t, size_t> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(nullptr_t) const noexcept { return 662607004ull; } }; template <class _Key, class _Hash> using __check_hash_requirements __attribute__((__nodebug__)) = integral_constant<bool, is_copy_constructible<_Hash>::value && is_move_constructible<_Hash>::value && __invokable_r<size_t, _Hash, _Key const&>::value >; template <class _Key, class _Hash = hash<_Key> > using __has_enabled_hash __attribute__((__nodebug__)) = integral_constant<bool, __check_hash_requirements<_Key, _Hash>::value && is_default_constructible<_Hash>::value >; template <class _Type, class> using __enable_hash_helper_imp __attribute__((__nodebug__)) = _Type; template <class _Type, class... _Keys> using __enable_hash_helper __attribute__((__nodebug__)) = __enable_hash_helper_imp<_Type, __enable_if_t<__all<__has_enabled_hash<_Keys>::value...>::value> >; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 2 3 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct default_delete { static_assert(!is_function<_Tp>::value, "default_delete cannot be instantiated for function types"); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr default_delete() noexcept = default; template <class _Up, __enable_if_t<is_convertible<_Up*, _Tp*>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) default_delete(const default_delete<_Up>&) noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator()(_Tp* __ptr) const noexcept { static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type"); static_assert(!is_void<_Tp>::value, "cannot delete an incomplete type"); delete __ptr; } }; template <class _Tp> struct default_delete<_Tp[]> { private: template <class _Up> struct _EnableIfConvertible : enable_if<is_convertible<_Up (*)[], _Tp (*)[]>::value> {}; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr default_delete() noexcept = default; template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) default_delete(const default_delete<_Up[]>&, typename _EnableIfConvertible<_Up>::type* = 0) noexcept {} template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename _EnableIfConvertible<_Up>::type operator()(_Up* __ptr) const noexcept { static_assert(sizeof(_Up) >= 0, "cannot delete an incomplete type"); delete[] __ptr; } }; template <class _Deleter> struct __unique_ptr_deleter_sfinae { static_assert(!is_reference<_Deleter>::value, "incorrect specialization"); typedef const _Deleter& __lval_ref_type; typedef _Deleter&& __good_rval_ref_type; typedef true_type __enable_rval_overload; }; template <class _Deleter> struct __unique_ptr_deleter_sfinae<_Deleter const&> { typedef const _Deleter& __lval_ref_type; typedef const _Deleter&& __bad_rval_ref_type; typedef false_type __enable_rval_overload; }; template <class _Deleter> struct __unique_ptr_deleter_sfinae<_Deleter&> { typedef _Deleter& __lval_ref_type; typedef _Deleter&& __bad_rval_ref_type; typedef false_type __enable_rval_overload; }; template <class _Tp, class _Dp = default_delete<_Tp> > class unique_ptr { public: typedef _Tp element_type; typedef _Dp deleter_type; typedef __attribute__((__nodebug__)) typename __pointer<_Tp, deleter_type>::type pointer; static_assert(!is_rvalue_reference<deleter_type>::value, "the specified deleter type cannot be an rvalue reference"); private: __compressed_pair<pointer, deleter_type> __ptr_; struct __nat { int __for_bool_; }; typedef __attribute__((__nodebug__)) __unique_ptr_deleter_sfinae<_Dp> _DeleterSFINAE; template <bool _Dummy> using _LValRefType __attribute__((__nodebug__)) = typename __dependent_type<_DeleterSFINAE, _Dummy>::__lval_ref_type; template <bool _Dummy> using _GoodRValRefType __attribute__((__nodebug__)) = typename __dependent_type<_DeleterSFINAE, _Dummy>::__good_rval_ref_type; template <bool _Dummy> using _BadRValRefType __attribute__((__nodebug__)) = typename __dependent_type<_DeleterSFINAE, _Dummy>::__bad_rval_ref_type; template <bool _Dummy, class _Deleter = typename __dependent_type< __type_identity<deleter_type>, _Dummy>::type> using _EnableIfDeleterDefaultConstructible __attribute__((__nodebug__)) = __enable_if_t<is_default_constructible<_Deleter>::value && !is_pointer<_Deleter>::value>; template <class _ArgType> using _EnableIfDeleterConstructible __attribute__((__nodebug__)) = __enable_if_t<is_constructible<deleter_type, _ArgType>::value>; template <class _UPtr, class _Up> using _EnableIfMoveConvertible __attribute__((__nodebug__)) = __enable_if_t< is_convertible<typename _UPtr::pointer, pointer>::value && !is_array<_Up>::value >; template <class _UDel> using _EnableIfDeleterConvertible __attribute__((__nodebug__)) = __enable_if_t< (is_reference<_Dp>::value && is_same<_Dp, _UDel>::value) || (!is_reference<_Dp>::value && is_convertible<_UDel, _Dp>::value) >; template <class _UDel> using _EnableIfDeleterAssignable = __enable_if_t< is_assignable<_Dp&, _UDel&&>::value >; public: template <bool _Dummy = true, class = _EnableIfDeleterDefaultConstructible<_Dummy> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unique_ptr() noexcept : __ptr_(__value_init_tag(), __value_init_tag()) {} template <bool _Dummy = true, class = _EnableIfDeleterDefaultConstructible<_Dummy> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unique_ptr(nullptr_t) noexcept : __ptr_(__value_init_tag(), __value_init_tag()) {} template <bool _Dummy = true, class = _EnableIfDeleterDefaultConstructible<_Dummy> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit unique_ptr(pointer __p) noexcept : __ptr_(__p, __value_init_tag()) {} template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(pointer __p, _LValRefType<_Dummy> __d) noexcept : __ptr_(__p, __d) {} template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(pointer __p, _GoodRValRefType<_Dummy> __d) noexcept : __ptr_(__p, std::move(__d)) { static_assert(!is_reference<deleter_type>::value, "rvalue deleter bound to reference"); } template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_BadRValRefType<_Dummy> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(pointer __p, _BadRValRefType<_Dummy> __d) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(unique_ptr&& __u) noexcept : __ptr_(__u.release(), std::forward<deleter_type>(__u.get_deleter())) {} template <class _Up, class _Ep, class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>, class = _EnableIfDeleterConvertible<_Ep> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept : __ptr_(__u.release(), std::forward<_Ep>(__u.get_deleter())) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr& operator=(unique_ptr&& __u) noexcept { reset(__u.release()); __ptr_.second() = std::forward<deleter_type>(__u.get_deleter()); return *this; } template <class _Up, class _Ep, class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>, class = _EnableIfDeleterAssignable<_Ep> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr& operator=(unique_ptr<_Up, _Ep>&& __u) noexcept { reset(__u.release()); __ptr_.second() = std::forward<_Ep>(__u.get_deleter()); return *this; } # 240 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~unique_ptr() { reset(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr& operator=(nullptr_t) noexcept { reset(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __add_lvalue_reference_t<_Tp> operator*() const { return *__ptr_.first(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pointer operator->() const noexcept { return __ptr_.first(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pointer get() const noexcept { return __ptr_.first(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) deleter_type& get_deleter() noexcept { return __ptr_.second(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const deleter_type& get_deleter() const noexcept { return __ptr_.second(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit operator bool() const noexcept { return __ptr_.first() != nullptr; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pointer release() noexcept { pointer __t = __ptr_.first(); __ptr_.first() = pointer(); return __t; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset(pointer __p = pointer()) noexcept { pointer __tmp = __ptr_.first(); __ptr_.first() = __p; if (__tmp) __ptr_.second()(__tmp); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(unique_ptr& __u) noexcept { __ptr_.swap(__u.__ptr_); } }; template <class _Tp, class _Dp> class unique_ptr<_Tp[], _Dp> { public: typedef _Tp element_type; typedef _Dp deleter_type; typedef typename __pointer<_Tp, deleter_type>::type pointer; private: __compressed_pair<pointer, deleter_type> __ptr_; template <class _From> struct _CheckArrayPointerConversion : is_same<_From, pointer> {}; template <class _FromElem> struct _CheckArrayPointerConversion<_FromElem*> : integral_constant<bool, is_same<_FromElem*, pointer>::value || (is_same<pointer, element_type*>::value && is_convertible<_FromElem (*)[], element_type (*)[]>::value) > {}; typedef __unique_ptr_deleter_sfinae<_Dp> _DeleterSFINAE; template <bool _Dummy> using _LValRefType __attribute__((__nodebug__)) = typename __dependent_type<_DeleterSFINAE, _Dummy>::__lval_ref_type; template <bool _Dummy> using _GoodRValRefType __attribute__((__nodebug__)) = typename __dependent_type<_DeleterSFINAE, _Dummy>::__good_rval_ref_type; template <bool _Dummy> using _BadRValRefType __attribute__((__nodebug__)) = typename __dependent_type<_DeleterSFINAE, _Dummy>::__bad_rval_ref_type; template <bool _Dummy, class _Deleter = typename __dependent_type< __type_identity<deleter_type>, _Dummy>::type> using _EnableIfDeleterDefaultConstructible __attribute__((__nodebug__)) = __enable_if_t<is_default_constructible<_Deleter>::value && !is_pointer<_Deleter>::value>; template <class _ArgType> using _EnableIfDeleterConstructible __attribute__((__nodebug__)) = __enable_if_t<is_constructible<deleter_type, _ArgType>::value>; template <class _Pp> using _EnableIfPointerConvertible __attribute__((__nodebug__)) = __enable_if_t< _CheckArrayPointerConversion<_Pp>::value >; template <class _UPtr, class _Up, class _ElemT = typename _UPtr::element_type> using _EnableIfMoveConvertible __attribute__((__nodebug__)) = __enable_if_t< is_array<_Up>::value && is_same<pointer, element_type*>::value && is_same<typename _UPtr::pointer, _ElemT*>::value && is_convertible<_ElemT (*)[], element_type (*)[]>::value >; template <class _UDel> using _EnableIfDeleterConvertible __attribute__((__nodebug__)) = __enable_if_t< (is_reference<_Dp>::value && is_same<_Dp, _UDel>::value) || (!is_reference<_Dp>::value && is_convertible<_UDel, _Dp>::value) >; template <class _UDel> using _EnableIfDeleterAssignable __attribute__((__nodebug__)) = __enable_if_t< is_assignable<_Dp&, _UDel&&>::value >; public: template <bool _Dummy = true, class = _EnableIfDeleterDefaultConstructible<_Dummy> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unique_ptr() noexcept : __ptr_(__value_init_tag(), __value_init_tag()) {} template <bool _Dummy = true, class = _EnableIfDeleterDefaultConstructible<_Dummy> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unique_ptr(nullptr_t) noexcept : __ptr_(__value_init_tag(), __value_init_tag()) {} template <class _Pp, bool _Dummy = true, class = _EnableIfDeleterDefaultConstructible<_Dummy>, class = _EnableIfPointerConvertible<_Pp> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit unique_ptr(_Pp __p) noexcept : __ptr_(__p, __value_init_tag()) {} template <class _Pp, bool _Dummy = true, class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> >, class = _EnableIfPointerConvertible<_Pp> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(_Pp __p, _LValRefType<_Dummy> __d) noexcept : __ptr_(__p, __d) {} template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(nullptr_t, _LValRefType<_Dummy> __d) noexcept : __ptr_(nullptr, __d) {} template <class _Pp, bool _Dummy = true, class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> >, class = _EnableIfPointerConvertible<_Pp> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(_Pp __p, _GoodRValRefType<_Dummy> __d) noexcept : __ptr_(__p, std::move(__d)) { static_assert(!is_reference<deleter_type>::value, "rvalue deleter bound to reference"); } template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(nullptr_t, _GoodRValRefType<_Dummy> __d) noexcept : __ptr_(nullptr, std::move(__d)) { static_assert(!is_reference<deleter_type>::value, "rvalue deleter bound to reference"); } template <class _Pp, bool _Dummy = true, class = _EnableIfDeleterConstructible<_BadRValRefType<_Dummy> >, class = _EnableIfPointerConvertible<_Pp> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(_Pp __p, _BadRValRefType<_Dummy> __d) = delete; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(unique_ptr&& __u) noexcept : __ptr_(__u.release(), std::forward<deleter_type>(__u.get_deleter())) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr& operator=(unique_ptr&& __u) noexcept { reset(__u.release()); __ptr_.second() = std::forward<deleter_type>(__u.get_deleter()); return *this; } template <class _Up, class _Ep, class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>, class = _EnableIfDeleterConvertible<_Ep> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept : __ptr_(__u.release(), std::forward<_Ep>(__u.get_deleter())) {} template <class _Up, class _Ep, class = _EnableIfMoveConvertible<unique_ptr<_Up, _Ep>, _Up>, class = _EnableIfDeleterAssignable<_Ep> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr& operator=(unique_ptr<_Up, _Ep>&& __u) noexcept { reset(__u.release()); __ptr_.second() = std::forward<_Ep>(__u.get_deleter()); return *this; } public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~unique_ptr() { reset(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) unique_ptr& operator=(nullptr_t) noexcept { reset(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __add_lvalue_reference_t<_Tp> operator[](size_t __i) const { return __ptr_.first()[__i]; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pointer get() const noexcept { return __ptr_.first(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) deleter_type& get_deleter() noexcept { return __ptr_.second(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const deleter_type& get_deleter() const noexcept { return __ptr_.second(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit operator bool() const noexcept { return __ptr_.first() != nullptr; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pointer release() noexcept { pointer __t = __ptr_.first(); __ptr_.first() = pointer(); return __t; } template <class _Pp, __enable_if_t<_CheckArrayPointerConversion<_Pp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset(_Pp __p) noexcept { pointer __tmp = __ptr_.first(); __ptr_.first() = __p; if (__tmp) __ptr_.second()(__tmp); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset(nullptr_t = nullptr) noexcept { pointer __tmp = __ptr_.first(); __ptr_.first() = nullptr; if (__tmp) __ptr_.second()(__tmp); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(unique_ptr& __u) noexcept { __ptr_.swap(__u.__ptr_); } }; template <class _Tp, class _Dp, __enable_if_t<__is_swappable<_Dp>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(unique_ptr<_Tp, _Dp>& __x, unique_ptr<_Tp, _Dp>& __y) noexcept { __x.swap(__y); } template <class _T1, class _D1, class _T2, class _D2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) { return __x.get() == __y.get(); } template <class _T1, class _D1, class _T2, class _D2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) { return !(__x == __y); } template <class _T1, class _D1, class _T2, class _D2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) { typedef typename unique_ptr<_T1, _D1>::pointer _P1; typedef typename unique_ptr<_T2, _D2>::pointer _P2; typedef typename common_type<_P1, _P2>::type _Vp; return less<_Vp>()(__x.get(), __y.get()); } template <class _T1, class _D1, class _T2, class _D2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) { return __y < __x; } template <class _T1, class _D1, class _T2, class _D2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) { return !(__y < __x); } template <class _T1, class _D1, class _T2, class _D2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(const unique_ptr<_T1, _D1>& __x, const unique_ptr<_T2, _D2>& __y) { return !(__x < __y); } # 507 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 3 template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const unique_ptr<_T1, _D1>& __x, nullptr_t) noexcept { return !__x; } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(nullptr_t, const unique_ptr<_T1, _D1>& __x) noexcept { return !__x; } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const unique_ptr<_T1, _D1>& __x, nullptr_t) noexcept { return static_cast<bool>(__x); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(nullptr_t, const unique_ptr<_T1, _D1>& __x) noexcept { return static_cast<bool>(__x); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<(const unique_ptr<_T1, _D1>& __x, nullptr_t) { typedef typename unique_ptr<_T1, _D1>::pointer _P1; return less<_P1>()(__x.get(), nullptr); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<(nullptr_t, const unique_ptr<_T1, _D1>& __x) { typedef typename unique_ptr<_T1, _D1>::pointer _P1; return less<_P1>()(nullptr, __x.get()); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(const unique_ptr<_T1, _D1>& __x, nullptr_t) { return nullptr < __x; } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(nullptr_t, const unique_ptr<_T1, _D1>& __x) { return __x < nullptr; } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(const unique_ptr<_T1, _D1>& __x, nullptr_t) { return !(nullptr < __x); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(nullptr_t, const unique_ptr<_T1, _D1>& __x) { return !(__x < nullptr); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(const unique_ptr<_T1, _D1>& __x, nullptr_t) { return !(__x < nullptr); } template <class _T1, class _D1> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(nullptr_t, const unique_ptr<_T1, _D1>& __x) { return !(nullptr < __x); } # 583 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 3 template <class _Tp> struct __unique_if { typedef unique_ptr<_Tp> __unique_single; }; template <class _Tp> struct __unique_if<_Tp[]> { typedef unique_ptr<_Tp[]> __unique_array_unknown_bound; }; template <class _Tp, size_t _Np> struct __unique_if<_Tp[_Np]> { typedef void __unique_array_known_bound; }; template <class _Tp, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __unique_if<_Tp>::__unique_single make_unique(_Args&&... __args) { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __unique_if<_Tp>::__unique_array_unknown_bound make_unique(size_t __n) { typedef __remove_extent_t<_Tp> _Up; return unique_ptr<_Tp>(new _Up[__n]()); } template <class _Tp, class... _Args> typename __unique_if<_Tp>::__unique_array_known_bound make_unique(_Args&&...) = delete; # 635 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/unique_ptr.h" 3 template <class _Tp> struct hash; template <class _Tp, class _Dp> struct hash<__enable_hash_helper< unique_ptr<_Tp, _Dp>, typename unique_ptr<_Tp, _Dp>::pointer> > { __attribute__((__deprecated__)) typedef unique_ptr<_Tp, _Dp> argument_type; __attribute__((__deprecated__)) typedef size_t result_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(const unique_ptr<_Tp, _Dp>& __ptr) const { typedef typename unique_ptr<_Tp, _Dp>::pointer pointer; return hash<pointer>()(__ptr.get()); } }; }} # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/typeinfo" 1 3 # 70 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/typeinfo" 3 namespace std { # 186 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/typeinfo" 3 struct __type_info_implementations { struct __string_impl_base { typedef const char* __type_name_t; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) constexpr static const char* __type_name_to_string(__type_name_t __v) noexcept { return __v; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) constexpr static __type_name_t __string_to_type_name(const char* __v) noexcept { return __v; } }; struct __unique_impl : __string_impl_base { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static size_t __hash(__type_name_t __v) noexcept { return reinterpret_cast<size_t>(__v); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static bool __eq(__type_name_t __lhs, __type_name_t __rhs) noexcept { return __lhs == __rhs; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static bool __lt(__type_name_t __lhs, __type_name_t __rhs) noexcept { return __lhs < __rhs; } }; struct __non_unique_impl : __string_impl_base { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static size_t __hash(__type_name_t __ptr) noexcept { size_t __hash = 5381; while (unsigned char __c = static_cast<unsigned char>(*__ptr++)) __hash = (__hash * 33) ^ __c; return __hash; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static bool __eq(__type_name_t __lhs, __type_name_t __rhs) noexcept { return __lhs == __rhs || __builtin_strcmp(__lhs, __rhs) == 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static bool __lt(__type_name_t __lhs, __type_name_t __rhs) noexcept { return __builtin_strcmp(__lhs, __rhs) < 0; } }; struct __non_unique_arm_rtti_bit_impl { typedef uintptr_t __type_name_t; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static const char* __type_name_to_string(__type_name_t __v) noexcept { return reinterpret_cast<const char*>(__v & ~__non_unique_rtti_bit::value); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static __type_name_t __string_to_type_name(const char* __v) noexcept { return reinterpret_cast<__type_name_t>(__v); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static size_t __hash(__type_name_t __v) noexcept { if (__is_type_name_unique(__v)) return __v; return __non_unique_impl::__hash(__type_name_to_string(__v)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static bool __eq(__type_name_t __lhs, __type_name_t __rhs) noexcept { if (__lhs == __rhs) return true; if (__is_type_name_unique(__lhs) || __is_type_name_unique(__rhs)) return false; return __builtin_strcmp(__type_name_to_string(__lhs), __type_name_to_string(__rhs)) == 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__always_inline__)) static bool __lt(__type_name_t __lhs, __type_name_t __rhs) noexcept { if (__is_type_name_unique(__lhs) || __is_type_name_unique(__rhs)) return __lhs < __rhs; return __builtin_strcmp(__type_name_to_string(__lhs), __type_name_to_string(__rhs)) < 0; } private: typedef integral_constant<__type_name_t, (1ULL << ((8 * sizeof(__type_name_t)) - 1))> __non_unique_rtti_bit; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static bool __is_type_name_unique(__type_name_t __lhs) noexcept { return !(__lhs & __non_unique_rtti_bit::value); } }; typedef __unique_impl __impl; }; class __attribute__((__visibility__("default"))) type_info { type_info& operator=(const type_info&); type_info(const type_info&); protected: typedef __type_info_implementations::__impl __impl; __impl::__type_name_t __type_name; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit type_info(const char* __n) : __type_name(__impl::__string_to_type_name(__n)) {} public: virtual ~type_info(); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const char* name() const noexcept { return __impl::__type_name_to_string(__type_name); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool before(const type_info& __arg) const noexcept { return __impl::__lt(__type_name, __arg.__type_name); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t hash_code() const noexcept { return __impl::__hash(__type_name); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const type_info& __arg) const noexcept { if (__libcpp_is_constant_evaluated()) { return this == &__arg; } return __impl::__eq(__type_name, __arg.__type_name); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const type_info& __arg) const noexcept { return !operator==(__arg); } }; class __attribute__((__visibility__("default"))) bad_cast : public exception { public: bad_cast() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_cast(const bad_cast&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_cast& operator=(const bad_cast&) noexcept = default; ~bad_cast() noexcept override; const char* what() const noexcept override; }; class __attribute__((__visibility__("default"))) bad_typeid : public exception { public: bad_typeid() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_typeid(const bad_typeid&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_typeid& operator=(const bad_typeid&) noexcept = default; ~bad_typeid() noexcept override; const char* what() const noexcept override; }; } # 363 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/typeinfo" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_bad_cast() { throw bad_cast(); } }} # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/memory_order.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/memory_order.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { enum __legacy_memory_order { __mo_relaxed, __mo_consume, __mo_acquire, __mo_release, __mo_acq_rel, __mo_seq_cst }; using __memory_order_underlying_t = underlying_type<__legacy_memory_order>::type; # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/memory_order.h" 3 enum memory_order { memory_order_relaxed = __mo_relaxed, memory_order_consume = __mo_consume, memory_order_acquire = __mo_acquire, memory_order_release = __mo_release, memory_order_acq_rel = __mo_acq_rel, memory_order_seq_cst = __mo_seq_cst, }; }} # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 2 3 # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 75 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _ValueType> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ValueType __libcpp_relaxed_load(_ValueType const* __value) { return __atomic_load_n(__value, 0); } template <class _ValueType> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ValueType __libcpp_acquire_load(_ValueType const* __value) { return __atomic_load_n(__value, 2); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __libcpp_atomic_refcount_increment(_Tp& __t) noexcept { return __atomic_add_fetch(&__t, 1, 0); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __libcpp_atomic_refcount_decrement(_Tp& __t) noexcept { return __atomic_add_fetch(&__t, -1, 4); } class __attribute__((__visibility__("default"))) bad_weak_ptr : public std::exception { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_weak_ptr() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_weak_ptr(const bad_weak_ptr&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_weak_ptr& operator=(const bad_weak_ptr&) noexcept = default; ~bad_weak_ptr() noexcept override; const char* what() const noexcept override; }; [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_bad_weak_ptr() { throw bad_weak_ptr(); } template <class _Tp> class weak_ptr; class __attribute__((__visibility__("default"))) __shared_count { __shared_count(const __shared_count&); __shared_count& operator=(const __shared_count&); protected: long __shared_owners_; virtual ~__shared_count(); private: virtual void __on_zero_shared() noexcept = 0; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __shared_count(long __refs = 0) noexcept : __shared_owners_(__refs) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __add_shared() noexcept { __libcpp_atomic_refcount_increment(__shared_owners_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __release_shared() noexcept { if (__libcpp_atomic_refcount_decrement(__shared_owners_) == -1) { __on_zero_shared(); return true; } return false; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long use_count() const noexcept { return __libcpp_relaxed_load(&__shared_owners_) + 1; } }; class __attribute__((__visibility__("default"))) __shared_weak_count : private __shared_count { long __shared_weak_owners_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __shared_weak_count(long __refs = 0) noexcept : __shared_count(__refs), __shared_weak_owners_(__refs) {} protected: ~__shared_weak_count() override; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __add_shared() noexcept { __shared_count::__add_shared(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __add_weak() noexcept { __libcpp_atomic_refcount_increment(__shared_weak_owners_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __release_shared() noexcept { if (__shared_count::__release_shared()) __release_weak(); } void __release_weak() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long use_count() const noexcept { return __shared_count::use_count(); } __shared_weak_count* lock() noexcept; virtual const void* __get_deleter(const type_info&) const noexcept; private: virtual void __on_zero_shared_weak() noexcept = 0; }; template <class _Tp, class _Dp, class _Alloc> class __shared_ptr_pointer : public __shared_weak_count { __compressed_pair<__compressed_pair<_Tp, _Dp>, _Alloc> __data_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __shared_ptr_pointer(_Tp __p, _Dp __d, _Alloc __a) : __data_(__compressed_pair<_Tp, _Dp>(__p, std::move(__d)), std::move(__a)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) const void* __get_deleter(const type_info&) const noexcept override; private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared() noexcept override; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared_weak() noexcept override; }; template <class _Tp, class _Dp, class _Alloc> const void* __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__get_deleter(const type_info& __t) const noexcept { return __t == typeid(_Dp) ? std::addressof(__data_.first().second()) : nullptr; } template <class _Tp, class _Dp, class _Alloc> void __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__on_zero_shared() noexcept { __data_.first().second()(__data_.first().first()); __data_.first().second().~_Dp(); } template <class _Tp, class _Dp, class _Alloc> void __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__on_zero_shared_weak() noexcept { typedef typename __allocator_traits_rebind<_Alloc, __shared_ptr_pointer>::type _Al; typedef allocator_traits<_Al> _ATraits; typedef pointer_traits<typename _ATraits::pointer> _PTraits; _Al __a(__data_.second()); __data_.second().~_Alloc(); __a.deallocate(_PTraits::pointer_to(*this), 1); } struct __for_overwrite_tag {}; template <class _Tp, class _Alloc> struct __shared_ptr_emplace : __shared_weak_count { template <class... _Args, class _Allocator = _Alloc, __enable_if_t<is_same<typename _Allocator::value_type, __for_overwrite_tag>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __shared_ptr_emplace(_Alloc __a, _Args&&...) : __storage_(std::move(__a)) { static_assert( sizeof...(_Args) == 0, "No argument should be provided to the control block when using _for_overwrite"); ::new ((void*)__get_elem()) _Tp; } template <class... _Args, class _Allocator = _Alloc, __enable_if_t<!is_same<typename _Allocator::value_type, __for_overwrite_tag>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __shared_ptr_emplace(_Alloc __a, _Args&&... __args) : __storage_(std::move(__a)) { using _TpAlloc = typename __allocator_traits_rebind<_Alloc, _Tp>::type; _TpAlloc __tmp(*__get_alloc()); allocator_traits<_TpAlloc>::construct(__tmp, __get_elem(), std::forward<_Args>(__args)...); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Alloc* __get_alloc() noexcept { return __storage_.__get_alloc(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* __get_elem() noexcept { return __storage_.__get_elem(); } private: template <class _Allocator = _Alloc, __enable_if_t<is_same<typename _Allocator::value_type, __for_overwrite_tag>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __on_zero_shared_impl() noexcept { __get_elem()->~_Tp(); } template <class _Allocator = _Alloc, __enable_if_t<!is_same<typename _Allocator::value_type, __for_overwrite_tag>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __on_zero_shared_impl() noexcept { using _TpAlloc = typename __allocator_traits_rebind<_Allocator, _Tp>::type; _TpAlloc __tmp(*__get_alloc()); allocator_traits<_TpAlloc>::destroy(__tmp, __get_elem()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared() noexcept override { __on_zero_shared_impl(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared_weak() noexcept override { using _ControlBlockAlloc = typename __allocator_traits_rebind<_Alloc, __shared_ptr_emplace>::type; using _ControlBlockPointer = typename allocator_traits<_ControlBlockAlloc>::pointer; _ControlBlockAlloc __tmp(*__get_alloc()); __storage_.~_Storage(); allocator_traits<_ControlBlockAlloc>::deallocate(__tmp, pointer_traits<_ControlBlockPointer>::pointer_to(*this), 1); } # 302 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 using _CompressedPair = __compressed_pair<_Alloc, _Tp>; struct alignas(_CompressedPair) _Storage { char __blob_[sizeof(_CompressedPair)]; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit _Storage(_Alloc&& __a) { ::new ((void*)__get_alloc()) _Alloc(std::move(__a)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~_Storage() { __get_alloc()->~_Alloc(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Alloc* __get_alloc() noexcept { _CompressedPair* __as_pair = reinterpret_cast<_CompressedPair*>(__blob_); typename _CompressedPair::_Base1* __first = _CompressedPair::__get_first_base(__as_pair); _Alloc* __alloc = reinterpret_cast<_Alloc*>(__first); return __alloc; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("cfi"))) _Tp* __get_elem() noexcept { _CompressedPair* __as_pair = reinterpret_cast<_CompressedPair*>(__blob_); typename _CompressedPair::_Base2* __second = _CompressedPair::__get_second_base(__as_pair); _Tp* __elem = reinterpret_cast<_Tp*>(__second); return __elem; } }; static_assert(alignof(_Storage) == alignof(_CompressedPair), ""); static_assert(sizeof(_Storage) == sizeof(_CompressedPair), ""); _Storage __storage_; }; struct __shared_ptr_dummy_rebind_allocator_type; template <> class allocator<__shared_ptr_dummy_rebind_allocator_type> { public: template <class _Other> struct rebind { typedef allocator<_Other> other; }; }; template <class _Tp> class enable_shared_from_this; template <class _Yp, class _Tp> struct __bounded_convertible_to_unbounded : false_type {}; template <class _Up, std::size_t _Np, class _Tp> struct __bounded_convertible_to_unbounded<_Up[_Np], _Tp> : is_same<__remove_cv_t<_Tp>, _Up[]> {}; template <class _Yp, class _Tp> struct __compatible_with : _Or< is_convertible<_Yp*, _Tp*>, __bounded_convertible_to_unbounded<_Yp, _Tp> > {}; # 363 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Yp, class _Tp, class = void> struct __raw_pointer_compatible_with : _And< _Not<is_array<_Tp>>, is_convertible<_Yp*, _Tp*> > {}; template <class _Yp, class _Up, std::size_t _Np> struct __raw_pointer_compatible_with<_Yp, _Up[_Np], __enable_if_t< is_convertible<_Yp (*)[_Np], _Up (*)[_Np]>::value> > : true_type {}; template <class _Yp, class _Up> struct __raw_pointer_compatible_with<_Yp, _Up[], __enable_if_t< is_convertible<_Yp (*)[], _Up (*)[]>::value> > : true_type {}; template <class _Ptr, class = void> struct __is_deletable : false_type {}; template <class _Ptr> struct __is_deletable<_Ptr, decltype(delete std::declval<_Ptr>())> : true_type {}; template <class _Ptr, class = void> struct __is_array_deletable : false_type {}; template <class _Ptr> struct __is_array_deletable<_Ptr, decltype(delete[] std::declval<_Ptr>())> : true_type {}; template <class _Dp, class _Pt, class = decltype(std::declval<_Dp>()(std::declval<_Pt>()))> true_type __well_formed_deleter_test(int); template <class, class> false_type __well_formed_deleter_test(...); template <class _Dp, class _Pt> struct __well_formed_deleter : decltype(std::__well_formed_deleter_test<_Dp, _Pt>(0)) {}; template <class _Dp, class _Yp, class _Tp> struct __shared_ptr_deleter_ctor_reqs { static const bool value = __raw_pointer_compatible_with<_Yp, _Tp>::value && is_move_constructible<_Dp>::value && __well_formed_deleter<_Dp, _Yp*>::value; }; template <class _Tp> class shared_ptr { public: typedef weak_ptr<_Tp> weak_type; typedef remove_extent_t<_Tp> element_type; private: element_type* __ptr_; __shared_weak_count* __cntrl_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr shared_ptr() noexcept : __ptr_(nullptr), __cntrl_(nullptr) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr shared_ptr(nullptr_t) noexcept : __ptr_(nullptr), __cntrl_(nullptr) {} template <class _Yp, class = __enable_if_t< _And< __raw_pointer_compatible_with<_Yp, _Tp> , _If<is_array<_Tp>::value, __is_array_deletable<_Yp*>, __is_deletable<_Yp*> > >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit shared_ptr(_Yp* __p) : __ptr_(__p) { unique_ptr<_Yp> __hold(__p); typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT; typedef __shared_ptr_pointer<_Yp*, __shared_ptr_default_delete<_Tp, _Yp>, _AllocT> _CntrlBlk; __cntrl_ = new _CntrlBlk(__p, __shared_ptr_default_delete<_Tp, _Yp>(), _AllocT()); __hold.release(); __enable_weak_this(__p, __p); } template <class _Yp, class _Dp, class = __enable_if_t<__shared_ptr_deleter_ctor_reqs<_Dp, _Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(_Yp* __p, _Dp __d) : __ptr_(__p) { try { typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT; typedef __shared_ptr_pointer<_Yp*, _Dp, _AllocT> _CntrlBlk; __cntrl_ = new _CntrlBlk(__p, std::move(__d), _AllocT()); __enable_weak_this(__p, __p); } catch (...) { __d(__p); throw; } } template <class _Yp, class _Dp, class _Alloc, class = __enable_if_t<__shared_ptr_deleter_ctor_reqs<_Dp, _Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(_Yp* __p, _Dp __d, _Alloc __a) : __ptr_(__p) { try { typedef __shared_ptr_pointer<_Yp*, _Dp, _Alloc> _CntrlBlk; typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _A2; typedef __allocator_destructor<_A2> _D2; _A2 __a2(__a); unique_ptr<_CntrlBlk, _D2> __hold2(__a2.allocate(1), _D2(__a2, 1)); ::new ((void*)std::addressof(*__hold2.get())) _CntrlBlk(__p, std::move(__d), __a); __cntrl_ = std::addressof(*__hold2.release()); __enable_weak_this(__p, __p); } catch (...) { __d(__p); throw; } } template <class _Dp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(nullptr_t __p, _Dp __d) : __ptr_(nullptr) { try { typedef typename __shared_ptr_default_allocator<_Tp>::type _AllocT; typedef __shared_ptr_pointer<nullptr_t, _Dp, _AllocT> _CntrlBlk; __cntrl_ = new _CntrlBlk(__p, std::move(__d), _AllocT()); } catch (...) { __d(__p); throw; } } template <class _Dp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a) : __ptr_(nullptr) { try { typedef __shared_ptr_pointer<nullptr_t, _Dp, _Alloc> _CntrlBlk; typedef typename __allocator_traits_rebind<_Alloc, _CntrlBlk>::type _A2; typedef __allocator_destructor<_A2> _D2; _A2 __a2(__a); unique_ptr<_CntrlBlk, _D2> __hold2(__a2.allocate(1), _D2(__a2, 1)); ::new ((void*)std::addressof(*__hold2.get())) _CntrlBlk(__p, std::move(__d), __a); __cntrl_ = std::addressof(*__hold2.release()); } catch (...) { __d(__p); throw; } } template <class _Yp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept : __ptr_(__p), __cntrl_(__r.__cntrl_) { if (__cntrl_) __cntrl_->__add_shared(); } # 562 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(const shared_ptr& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { if (__cntrl_) __cntrl_->__add_shared(); } template <class _Yp, class = __enable_if_t<__compatible_with<_Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(const shared_ptr<_Yp>& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { if (__cntrl_) __cntrl_->__add_shared(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(shared_ptr&& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { __r.__ptr_ = nullptr; __r.__cntrl_ = nullptr; } template <class _Yp, class = __enable_if_t<__compatible_with<_Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(shared_ptr<_Yp>&& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { __r.__ptr_ = nullptr; __r.__cntrl_ = nullptr; } template <class _Yp, class = __enable_if_t<__compatible_with<_Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit shared_ptr(const weak_ptr<_Yp>& __r) : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_ ? __r.__cntrl_->lock() : __r.__cntrl_) { if (__cntrl_ == nullptr) __throw_bad_weak_ptr(); } # 601 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Yp, class _Dp, class = __enable_if_t< !is_lvalue_reference<_Dp>::value && __compatible_with<_Yp, _Tp>::value && is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(unique_ptr<_Yp, _Dp>&& __r) : __ptr_(__r.get()) { if (__ptr_ == nullptr) __cntrl_ = nullptr; else { typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT; typedef __shared_ptr_pointer<typename unique_ptr<_Yp, _Dp>::pointer, _Dp, _AllocT> _CntrlBlk; __cntrl_ = new _CntrlBlk(__r.get(), std::move(__r.get_deleter()), _AllocT()); __enable_weak_this(__r.get(), __r.get()); } __r.release(); } template <class _Yp, class _Dp, class = void, class = __enable_if_t< is_lvalue_reference<_Dp>::value && __compatible_with<_Yp, _Tp>::value && is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr(unique_ptr<_Yp, _Dp>&& __r) : __ptr_(__r.get()) { if (__ptr_ == nullptr) __cntrl_ = nullptr; else { typedef typename __shared_ptr_default_allocator<_Yp>::type _AllocT; typedef __shared_ptr_pointer<typename unique_ptr<_Yp, _Dp>::pointer, reference_wrapper<__libcpp_remove_reference_t<_Dp> >, _AllocT> _CntrlBlk; __cntrl_ = new _CntrlBlk(__r.get(), std::ref(__r.get_deleter()), _AllocT()); __enable_weak_this(__r.get(), __r.get()); } __r.release(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~shared_ptr() { if (__cntrl_) __cntrl_->__release_shared(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp>& operator=(const shared_ptr& __r) noexcept { shared_ptr(__r).swap(*this); return *this; } template <class _Yp, class = __enable_if_t<__compatible_with<_Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp>& operator=(const shared_ptr<_Yp>& __r) noexcept { shared_ptr(__r).swap(*this); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp>& operator=(shared_ptr&& __r) noexcept { shared_ptr(std::move(__r)).swap(*this); return *this; } template <class _Yp, class = __enable_if_t<__compatible_with<_Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp>& operator=(shared_ptr<_Yp>&& __r) { shared_ptr(std::move(__r)).swap(*this); return *this; } # 680 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template < class _Yp, class _Dp, class = __enable_if_t<_And< __compatible_with<_Yp, _Tp>, is_convertible<typename unique_ptr<_Yp, _Dp>::pointer, element_type*> >::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp>& operator=(unique_ptr<_Yp, _Dp>&& __r) { shared_ptr(std::move(__r)).swap(*this); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(shared_ptr& __r) noexcept { std::swap(__ptr_, __r.__ptr_); std::swap(__cntrl_, __r.__cntrl_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset() noexcept { shared_ptr().swap(*this); } template <class _Yp, class = __enable_if_t< __raw_pointer_compatible_with<_Yp, _Tp>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset(_Yp* __p) { shared_ptr(__p).swap(*this); } template <class _Yp, class _Dp, class = __enable_if_t< __shared_ptr_deleter_ctor_reqs<_Dp, _Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset(_Yp* __p, _Dp __d) { shared_ptr(__p, __d).swap(*this); } template <class _Yp, class _Dp, class _Alloc, class = __enable_if_t< __shared_ptr_deleter_ctor_reqs<_Dp, _Yp, _Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset(_Yp* __p, _Dp __d, _Alloc __a) { shared_ptr(__p, __d, __a).swap(*this); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) element_type* get() const noexcept { return __ptr_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __add_lvalue_reference_t<element_type> operator*() const noexcept { return *__ptr_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) element_type* operator->() const noexcept { static_assert(!is_array<_Tp>::value, "std::shared_ptr<T>::operator-> is only valid when T is not an array type."); return __ptr_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long use_count() const noexcept { return __cntrl_ ? __cntrl_->use_count() : 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool unique() const noexcept { return use_count() == 1; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit operator bool() const noexcept { return get() != nullptr; } template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool owner_before(shared_ptr<_Up> const& __p) const noexcept { return __cntrl_ < __p.__cntrl_; } template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool owner_before(weak_ptr<_Up> const& __p) const noexcept { return __cntrl_ < __p.__cntrl_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __owner_equivalent(const shared_ptr& __p) const { return __cntrl_ == __p.__cntrl_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __add_lvalue_reference_t<element_type> operator[](ptrdiff_t __i) const { static_assert(is_array<_Tp>::value, "std::shared_ptr<T>::operator[] is only valid when T is an array type."); return __ptr_[__i]; } template <class _Dp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Dp* __get_deleter() const noexcept { return static_cast<_Dp*>(__cntrl_ ? const_cast<void*>(__cntrl_->__get_deleter(typeid(_Dp))) : nullptr); } template <class _Yp, class _CntrlBlk> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static shared_ptr<_Tp> __create_with_control_block(_Yp* __p, _CntrlBlk* __cntrl) noexcept { shared_ptr<_Tp> __r; __r.__ptr_ = __p; __r.__cntrl_ = __cntrl; __r.__enable_weak_this(__r.__ptr_, __r.__ptr_); return __r; } private: template <class _Yp, bool = is_function<_Yp>::value> struct __shared_ptr_default_allocator { typedef allocator<_Yp> type; }; template <class _Yp> struct __shared_ptr_default_allocator<_Yp, true> { typedef allocator<__shared_ptr_dummy_rebind_allocator_type> type; }; template <class _Yp, class _OrigPtr, class = __enable_if_t< is_convertible<_OrigPtr*, const enable_shared_from_this<_Yp>*>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __enable_weak_this(const enable_shared_from_this<_Yp>* __e, _OrigPtr* __ptr) noexcept { typedef __remove_cv_t<_Yp> _RawYp; if (__e && __e->__weak_this_.expired()) { __e->__weak_this_ = shared_ptr<_RawYp>(*this, const_cast<_RawYp*>(static_cast<const _Yp*>(__ptr))); } } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __enable_weak_this(...) noexcept {} template <class, class _Yp> struct __shared_ptr_default_delete : default_delete<_Yp> {}; template <class _Yp, class _Un, size_t _Sz> struct __shared_ptr_default_delete<_Yp[_Sz], _Un> : default_delete<_Yp[]> {}; template <class _Yp, class _Un> struct __shared_ptr_default_delete<_Yp[], _Un> : default_delete<_Yp[]> {}; template <class _Up> friend class shared_ptr; template <class _Up> friend class weak_ptr; }; template <class _Tp> shared_ptr(weak_ptr<_Tp>) -> shared_ptr<_Tp>; template <class _Tp, class _Dp> shared_ptr(unique_ptr<_Tp, _Dp>) -> shared_ptr<_Tp>; template <class _Tp, class _Alloc, class... _Args, class = __enable_if_t<!is_array<_Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> allocate_shared(const _Alloc& __a, _Args&&... __args) { using _ControlBlock = __shared_ptr_emplace<_Tp, _Alloc>; using _ControlBlockAllocator = typename __allocator_traits_rebind<_Alloc, _ControlBlock>::type; __allocation_guard<_ControlBlockAllocator> __guard(__a, 1); ::new ((void*)std::addressof(*__guard.__get())) _ControlBlock(__a, std::forward<_Args>(__args)...); auto __control_block = __guard.__release_ptr(); return shared_ptr<_Tp>::__create_with_control_block( (*__control_block).__get_elem(), std::addressof(*__control_block)); } template <class _Tp, class... _Args, class = __enable_if_t<!is_array<_Tp>::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> make_shared(_Args&&... __args) { return std::allocate_shared<_Tp>(allocator<_Tp>(), std::forward<_Args>(__args)...); } # 847 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <size_t _Alignment> struct __sp_aligned_storage { alignas(_Alignment) char __storage[_Alignment]; }; template <class _Tp, class _Alloc> struct __unbounded_array_control_block; template <class _Tp, class _Alloc> struct __unbounded_array_control_block<_Tp[], _Alloc> : __shared_weak_count { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __get_data() noexcept { return __data_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __unbounded_array_control_block( _Alloc const& __alloc, size_t __count, _Tp const& __arg) : __alloc_(__alloc), __count_(__count) { std::__uninitialized_allocator_fill_n_multidimensional(__alloc_, std::begin(__data_), __count_, __arg); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __unbounded_array_control_block(_Alloc const& __alloc, size_t __count) : __alloc_(__alloc), __count_(__count) { # 876 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 std::__uninitialized_allocator_value_construct_n_multidimensional(__alloc_, std::begin(__data_), __count_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr size_t __bytes_for(size_t __elements) { size_t __bytes = __elements == 0 ? sizeof(__unbounded_array_control_block) : (__elements - 1) * sizeof(_Tp) + sizeof(__unbounded_array_control_block); constexpr size_t __align = alignof(_Tp); return (__bytes + __align - 1) & ~(__align - 1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) ~__unbounded_array_control_block() override { } private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared() noexcept override { # 909 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 __allocator_traits_rebind_t<_Alloc, _Tp> __value_alloc(__alloc_); std::__allocator_destroy_multidimensional(__value_alloc, __data_, __data_ + __count_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared_weak() noexcept override { using _AlignedStorage = __sp_aligned_storage<alignof(__unbounded_array_control_block)>; using _StorageAlloc = __allocator_traits_rebind_t<_Alloc, _AlignedStorage>; using _PointerTraits = pointer_traits<typename allocator_traits<_StorageAlloc>::pointer>; _StorageAlloc __tmp(__alloc_); __alloc_.~_Alloc(); size_t __size = __unbounded_array_control_block::__bytes_for(__count_); _AlignedStorage* __storage = reinterpret_cast<_AlignedStorage*>(this); allocator_traits<_StorageAlloc>::deallocate( __tmp, _PointerTraits::pointer_to(*__storage), __size / sizeof(_AlignedStorage)); } [[__no_unique_address__]] _Alloc __alloc_; size_t __count_; union { _Tp __data_[1]; }; }; template <class _Array, class _Alloc, class... _Arg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Array> __allocate_shared_unbounded_array(const _Alloc& __a, size_t __n, _Arg&&... __arg) { static_assert(__libcpp_is_unbounded_array<_Array>::value); using _ControlBlock = __unbounded_array_control_block<_Array, _Alloc>; using _AlignedStorage = __sp_aligned_storage<alignof(_ControlBlock)>; using _StorageAlloc = __allocator_traits_rebind_t<_Alloc, _AlignedStorage>; __allocation_guard<_StorageAlloc> __guard(__a, _ControlBlock::__bytes_for(__n) / sizeof(_AlignedStorage)); _ControlBlock* __control_block = reinterpret_cast<_ControlBlock*>(std::addressof(*__guard.__get())); std::__construct_at(__control_block, __a, __n, std::forward<_Arg>(__arg)...); __guard.__release_ptr(); return shared_ptr<_Array>::__create_with_control_block(__control_block->__get_data(), __control_block); } template <class _Tp, class _Alloc> struct __bounded_array_control_block; template <class _Tp, size_t _Count, class _Alloc> struct __bounded_array_control_block<_Tp[_Count], _Alloc> : __shared_weak_count { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __get_data() noexcept { return __data_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __bounded_array_control_block(_Alloc const& __alloc, _Tp const& __arg) : __alloc_(__alloc) { std::__uninitialized_allocator_fill_n_multidimensional(__alloc_, std::addressof(__data_[0]), _Count, __arg); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __bounded_array_control_block(_Alloc const& __alloc) : __alloc_(__alloc) { # 974 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 std::__uninitialized_allocator_value_construct_n_multidimensional(__alloc_, std::addressof(__data_[0]), _Count); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) ~__bounded_array_control_block() override { } private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared() noexcept override { # 992 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 __allocator_traits_rebind_t<_Alloc, _Tp> __value_alloc(__alloc_); std::__allocator_destroy_multidimensional(__value_alloc, __data_, __data_ + _Count); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) void __on_zero_shared_weak() noexcept override { using _ControlBlockAlloc = __allocator_traits_rebind_t<_Alloc, __bounded_array_control_block>; using _PointerTraits = pointer_traits<typename allocator_traits<_ControlBlockAlloc>::pointer>; _ControlBlockAlloc __tmp(__alloc_); __alloc_.~_Alloc(); allocator_traits<_ControlBlockAlloc>::deallocate(__tmp, _PointerTraits::pointer_to(*this), 1); } [[__no_unique_address__]] _Alloc __alloc_; union { _Tp __data_[_Count]; }; }; template <class _Array, class _Alloc, class... _Arg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Array> __allocate_shared_bounded_array(const _Alloc& __a, _Arg&&... __arg) { static_assert(__libcpp_is_bounded_array<_Array>::value); using _ControlBlock = __bounded_array_control_block<_Array, _Alloc>; using _ControlBlockAlloc = __allocator_traits_rebind_t<_Alloc, _ControlBlock>; __allocation_guard<_ControlBlockAlloc> __guard(__a, 1); _ControlBlock* __control_block = reinterpret_cast<_ControlBlock*>(std::addressof(*__guard.__get())); std::__construct_at(__control_block, __a, std::forward<_Arg>(__arg)...); __guard.__release_ptr(); return shared_ptr<_Array>::__create_with_control_block(__control_block->__get_data(), __control_block); } # 1097 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) noexcept { return __x.get() == __y.get(); } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) noexcept { return !(__x == __y); } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) noexcept { return less<>()(__x.get(), __y.get()); } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) noexcept { return __y < __x; } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) noexcept { return !(__y < __x); } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(const shared_ptr<_Tp>& __x, const shared_ptr<_Up>& __y) noexcept { return !(__x < __y); } # 1143 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const shared_ptr<_Tp>& __x, nullptr_t) noexcept { return !__x; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(nullptr_t, const shared_ptr<_Tp>& __x) noexcept { return !__x; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const shared_ptr<_Tp>& __x, nullptr_t) noexcept { return static_cast<bool>(__x); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(nullptr_t, const shared_ptr<_Tp>& __x) noexcept { return static_cast<bool>(__x); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<(const shared_ptr<_Tp>& __x, nullptr_t) noexcept { return less<_Tp*>()(__x.get(), nullptr); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<(nullptr_t, const shared_ptr<_Tp>& __x) noexcept { return less<_Tp*>()(nullptr, __x.get()); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(const shared_ptr<_Tp>& __x, nullptr_t) noexcept { return nullptr < __x; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(nullptr_t, const shared_ptr<_Tp>& __x) noexcept { return __x < nullptr; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(const shared_ptr<_Tp>& __x, nullptr_t) noexcept { return !(nullptr < __x); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(nullptr_t, const shared_ptr<_Tp>& __x) noexcept { return !(__x < nullptr); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(const shared_ptr<_Tp>& __x, nullptr_t) noexcept { return !(__x < nullptr); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(nullptr_t, const shared_ptr<_Tp>& __x) noexcept { return !(nullptr < __x); } # 1214 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(shared_ptr<_Tp>& __x, shared_ptr<_Tp>& __y) noexcept { __x.swap(__y); } template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> static_pointer_cast(const shared_ptr<_Up>& __r) noexcept { return shared_ptr<_Tp>(__r, static_cast< typename shared_ptr<_Tp>::element_type*>(__r.get())); } # 1233 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Tp, class _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept { typedef typename shared_ptr<_Tp>::element_type _ET; _ET* __p = dynamic_cast<_ET*>(__r.get()); return __p ? shared_ptr<_Tp>(__r, __p) : shared_ptr<_Tp>(); } # 1250 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> const_pointer_cast(const shared_ptr<_Up>& __r) noexcept { typedef typename shared_ptr<_Tp>::element_type _RTp; return shared_ptr<_Tp>(__r, const_cast<_RTp*>(__r.get())); } # 1265 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> reinterpret_pointer_cast(const shared_ptr<_Up>& __r) noexcept { return shared_ptr<_Tp>(__r, reinterpret_cast< typename shared_ptr<_Tp>::element_type*>(__r.get())); } # 1281 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/shared_ptr.h" 3 template <class _Dp, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Dp* get_deleter(const shared_ptr<_Tp>& __p) noexcept { return __p.template __get_deleter<_Dp>(); } template <class _Tp> class weak_ptr { public: typedef remove_extent_t<_Tp> element_type; private: element_type* __ptr_; __shared_weak_count* __cntrl_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr weak_ptr() noexcept; template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr(shared_ptr<_Yp> const& __r) noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr(weak_ptr const& __r) noexcept; template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr(weak_ptr<_Yp> const& __r) noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr(weak_ptr&& __r) noexcept; template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr(weak_ptr<_Yp>&& __r) noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~weak_ptr(); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr& operator=(weak_ptr const& __r) noexcept; template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr& operator=(weak_ptr<_Yp> const& __r) noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr& operator=(weak_ptr&& __r) noexcept; template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr& operator=(weak_ptr<_Yp>&& __r) noexcept; template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr& operator=(shared_ptr<_Yp> const& __r) noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(weak_ptr& __r) noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset() noexcept; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long use_count() const noexcept { return __cntrl_ ? __cntrl_->use_count() : 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool expired() const noexcept { return __cntrl_ == nullptr || __cntrl_->use_count() == 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> lock() const noexcept; template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool owner_before(const shared_ptr<_Up>& __r) const noexcept { return __cntrl_ < __r.__cntrl_; } template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool owner_before(const weak_ptr<_Up>& __r) const noexcept { return __cntrl_ < __r.__cntrl_; } template <class _Up> friend class weak_ptr; template <class _Up> friend class shared_ptr; }; template <class _Tp> weak_ptr(shared_ptr<_Tp>) -> weak_ptr<_Tp>; template <class _Tp> inline constexpr weak_ptr<_Tp>::weak_ptr() noexcept : __ptr_(nullptr), __cntrl_(nullptr) {} template <class _Tp> inline weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { if (__cntrl_) __cntrl_->__add_weak(); } template <class _Tp> template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> > inline weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { if (__cntrl_) __cntrl_->__add_weak(); } template <class _Tp> template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> > inline weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> const& __r) noexcept : __ptr_(nullptr), __cntrl_(nullptr) { shared_ptr<_Yp> __s = __r.lock(); *this = weak_ptr<_Tp>(__s); } template <class _Tp> inline weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) noexcept : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) { __r.__ptr_ = nullptr; __r.__cntrl_ = nullptr; } template <class _Tp> template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> > inline weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp>&& __r) noexcept : __ptr_(nullptr), __cntrl_(nullptr) { shared_ptr<_Yp> __s = __r.lock(); *this = weak_ptr<_Tp>(__s); __r.reset(); } template <class _Tp> weak_ptr<_Tp>::~weak_ptr() { if (__cntrl_) __cntrl_->__release_weak(); } template <class _Tp> inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(weak_ptr const& __r) noexcept { weak_ptr(__r).swap(*this); return *this; } template <class _Tp> template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> > inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(weak_ptr<_Yp> const& __r) noexcept { weak_ptr(__r).swap(*this); return *this; } template <class _Tp> inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(weak_ptr&& __r) noexcept { weak_ptr(std::move(__r)).swap(*this); return *this; } template <class _Tp> template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> > inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(weak_ptr<_Yp>&& __r) noexcept { weak_ptr(std::move(__r)).swap(*this); return *this; } template <class _Tp> template <class _Yp, __enable_if_t<__compatible_with<_Yp, _Tp>::value, int> > inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(shared_ptr<_Yp> const& __r) noexcept { weak_ptr(__r).swap(*this); return *this; } template <class _Tp> inline void weak_ptr<_Tp>::swap(weak_ptr& __r) noexcept { std::swap(__ptr_, __r.__ptr_); std::swap(__cntrl_, __r.__cntrl_); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(weak_ptr<_Tp>& __x, weak_ptr<_Tp>& __y) noexcept { __x.swap(__y); } template <class _Tp> inline void weak_ptr<_Tp>::reset() noexcept { weak_ptr().swap(*this); } template <class _Tp> shared_ptr<_Tp> weak_ptr<_Tp>::lock() const noexcept { shared_ptr<_Tp> __r; __r.__cntrl_ = __cntrl_ ? __cntrl_->lock() : __cntrl_; if (__r.__cntrl_) __r.__ptr_ = __ptr_; return __r; } template <class _Tp = void> struct owner_less; template <class _Tp> struct owner_less<shared_ptr<_Tp> > : __binary_function<shared_ptr<_Tp>, shared_ptr<_Tp>, bool> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(shared_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const noexcept { return __x.owner_before(__y); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const noexcept { return __x.owner_before(__y); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const noexcept { return __x.owner_before(__y); } }; template <class _Tp> struct owner_less<weak_ptr<_Tp> > : __binary_function<weak_ptr<_Tp>, weak_ptr<_Tp>, bool> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(weak_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const noexcept { return __x.owner_before(__y); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const noexcept { return __x.owner_before(__y); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const noexcept { return __x.owner_before(__y); } }; template <> struct owner_less<void> { template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(shared_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept { return __x.owner_before(__y); } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept { return __x.owner_before(__y); } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(weak_ptr<_Tp> const& __x, shared_ptr<_Up> const& __y) const noexcept { return __x.owner_before(__y); } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(weak_ptr<_Tp> const& __x, weak_ptr<_Up> const& __y) const noexcept { return __x.owner_before(__y); } typedef void is_transparent; }; template <class _Tp> class enable_shared_from_this { mutable weak_ptr<_Tp> __weak_this_; protected: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_shared_from_this() noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) enable_shared_from_this(enable_shared_from_this const&) noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) enable_shared_from_this& operator=(enable_shared_from_this const&) noexcept { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~enable_shared_from_this() {} public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> shared_from_this() { return shared_ptr<_Tp>(__weak_this_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp const> shared_from_this() const { return shared_ptr<const _Tp>(__weak_this_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr<_Tp> weak_from_this() noexcept { return __weak_this_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) weak_ptr<const _Tp> weak_from_this() const noexcept { return __weak_this_; } template <class _Up> friend class shared_ptr; }; template <class _Tp> struct hash; template <class _Tp> struct hash<shared_ptr<_Tp> > { __attribute__((__deprecated__)) typedef shared_ptr<_Tp> argument_type; __attribute__((__deprecated__)) typedef size_t result_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(const shared_ptr<_Tp>& __ptr) const noexcept { return hash<typename shared_ptr<_Tp>::element_type*>()(__ptr.get()); } }; template <class _CharT, class _Traits, class _Yp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p); class __attribute__((__visibility__("default"))) __sp_mut { void* __lx_; public: void lock() noexcept; void unlock() noexcept; private: constexpr __sp_mut(void*) noexcept; __sp_mut(const __sp_mut&); __sp_mut& operator=(const __sp_mut&); friend __attribute__((__visibility__("default"))) __sp_mut& __get_sp_mut(const void*); }; __attribute__((__visibility__("default"))) __sp_mut& __get_sp_mut(const void*); template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_is_lock_free(const shared_ptr<_Tp>*) { return false; } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> atomic_load(const shared_ptr<_Tp>* __p) { __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); shared_ptr<_Tp> __q = *__p; __m.unlock(); return __q; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) { return std::atomic_load(__p); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); __p->swap(__r); __m.unlock(); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { std::atomic_store(__p, __r); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); __p->swap(__r); __m.unlock(); return __r; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) shared_ptr<_Tp> atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { return std::atomic_exchange(__p, __r); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w) { shared_ptr<_Tp> __temp; __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); if (__p->__owner_equivalent(*__v)) { std::swap(__temp, *__p); *__p = __w; __m.unlock(); return true; } std::swap(__temp, *__v); *__v = *__p; __m.unlock(); return false; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w) { return std::atomic_compare_exchange_strong(__p, __v, __w); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_strong_explicit( shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w, memory_order, memory_order) { return std::atomic_compare_exchange_strong(__p, __v, __w); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_weak_explicit( shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w, memory_order, memory_order) { return std::atomic_compare_exchange_weak(__p, __v, __w); } }} # 940 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/temporary_buffer.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/temporary_buffer.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__no_sanitize__("cfi"))) __attribute__((__deprecated__)) pair<_Tp*, ptrdiff_t> get_temporary_buffer(ptrdiff_t __n) noexcept { pair<_Tp*, ptrdiff_t> __r(0, 0); const ptrdiff_t __m = (~ptrdiff_t(0) ^ ptrdiff_t(ptrdiff_t(1) << (sizeof(ptrdiff_t) * 8 - 1))) / sizeof(_Tp); if (__n > __m) __n = __m; while (__n > 0) { if (__is_overaligned_for_new(alignof(_Tp))) { align_val_t __al = align_val_t(alignof(_Tp)); __r.first = static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), __al, nothrow)); } else { __r.first = static_cast<_Tp*>(::operator new(__n * sizeof(_Tp), nothrow)); } # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/temporary_buffer.h" 3 if (__r.first) { __r.second = __n; break; } __n /= 2; } return __r; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__deprecated__)) void return_temporary_buffer(_Tp* __p) noexcept { std::__libcpp_deallocate_unsized((void*)__p, alignof(_Tp)); } struct __return_temporary_buffer { #pragma GCC diagnostic push # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/temporary_buffer.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/temporary_buffer.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator()(_Tp* __p) const { std::return_temporary_buffer(__p); } #pragma GCC diagnostic pop }; }} # 941 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 1 3 # 272 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 1 3 # 145 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_partial_order_fallback.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_partial_order_fallback.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/partial_order.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/partial_order.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/weak_order.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/weak_order.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_cast.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_cast.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_cast.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/priority_tag.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/priority_tag.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t _Ip> struct __priority_tag : __priority_tag<_Ip - 1> {}; template <> struct __priority_tag<0> {}; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 1 3 # 314 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/promote.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/promote.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __numeric_type { static void __test(...); static float __test(float); static double __test(char); static double __test(int); static double __test(unsigned); static double __test(long); static double __test(unsigned long); static double __test(long long); static double __test(unsigned long long); static double __test(double); static long double __test(long double); typedef decltype(__test(std::declval<_Tp>())) type; static const bool value = _IsNotSame<type, void>::value; }; template <> struct __numeric_type<void> { static const bool value = true; }; template <class _A1, class _A2 = void, class _A3 = void, bool = __numeric_type<_A1>::value && __numeric_type<_A2>::value && __numeric_type<_A3>::value> class __promote_imp { public: static const bool value = false; }; template <class _A1, class _A2, class _A3> class __promote_imp<_A1, _A2, _A3, true> { private: typedef typename __promote_imp<_A1>::type __type1; typedef typename __promote_imp<_A2>::type __type2; typedef typename __promote_imp<_A3>::type __type3; public: typedef decltype(__type1() + __type2() + __type3()) type; static const bool value = true; }; template <class _A1, class _A2> class __promote_imp<_A1, _A2, void, true> { private: typedef typename __promote_imp<_A1>::type __type1; typedef typename __promote_imp<_A2>::type __type2; public: typedef decltype(__type1() + __type2()) type; static const bool value = true; }; template <class _A1> class __promote_imp<_A1, void, void, true> { public: typedef typename __numeric_type<_A1>::type type; static const bool value = true; }; template <class _A1, class _A2 = void, class _A3 = void> class __promote : public __promote_imp<_A1, _A2, _A3> {}; }} # 315 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 1 3 # 298 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 1 3 4 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/limits.h" 1 3 4 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/limits.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/limits.h" 1 3 4 # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/limits.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/float.h" 1 3 4 # 77 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/float.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/float.h" 1 3 # 81 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/float.h" 2 3 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/limits.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/limits.h" 1 3 4 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/limits.h" 2 3 4 # 143 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/limits.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/posix_limits.h" 1 3 4 # 144 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/limits.h" 2 3 4 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/limits.h" 2 3 4 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 2 3 4 extern "C" { typedef double __double_t; typedef __double_t double_t; typedef float __float_t; typedef __float_t float_t; # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 3 4 double acos(double __x); float acosf(float __x); long double acosl(long double __x); double asin(double __x); float asinf(float __x); long double asinl(long double __x); double atan(double __x); float atanf(float __x); long double atanl(long double __x); double atan2(double __y, double __x); float atan2f(float __y, float __x); long double atan2l(long double __y, long double __x); double cos(double __x); float cosf(float __x); long double cosl(long double __x); double sin(double __x); float sinf(float __x); long double sinl(long double __x); double tan(double __x); float tanf(float __x); long double tanl(long double __x); double acosh(double __x); float acoshf(float __x); long double acoshl(long double __x); double asinh(double __x); float asinhf(float __x); long double asinhl(long double __x); double atanh(double __x); float atanhf(float __x); long double atanhl(long double __x); double cosh(double __x); float coshf(float __x); long double coshl(long double __x); double sinh(double __x); float sinhf(float __x); long double sinhl(long double __x); double tanh(double __x); float tanhf(float __x); long double tanhl(long double __x); double exp(double __x); float expf(float __x); long double expl(long double __x); double exp2(double __x); float exp2f(float __x); long double exp2l(long double __x); double expm1(double __x); float expm1f(float __x); long double expm1l(long double __x); double frexp(double __x, int* _Nonnull __exponent); float frexpf(float __x, int* _Nonnull __exponent); long double frexpl(long double __x, int* _Nonnull __exponent); int ilogb(double __x) __attribute__((__const__)); int ilogbf(float __x) __attribute__((__const__)); int ilogbl(long double __x) __attribute__((__const__)); double ldexp(double __x, int __exponent); float ldexpf(float __x, int __exponent); long double ldexpl(long double __x, int __exponent); double log(double __x); float logf(float __x); long double logl(long double __x); double log10(double __x); float log10f(float __x); long double log10l(long double __x); double log1p(double __x); float log1pf(float __x); long double log1pl(long double __x); double log2(double __x); float log2f(float __x); long double log2l(long double __x); double logb(double __x); float logbf(float __x); long double logbl(long double __x); double modf(double __x, double* _Nonnull __integral_part); float modff(float __x, float* _Nonnull __integral_part); long double modfl(long double __x, long double* _Nonnull __integral_part); double scalbn(double __x, int __exponent); float scalbnf(float __x, int __exponent); long double scalbnl(long double __x, int __exponent); double scalbln(double __x, long __exponent); float scalblnf(float __x, long __exponent); long double scalblnl(long double __x, long __exponent); double cbrt(double __x); float cbrtf(float __x); long double cbrtl(long double __x); double fabs(double __x) __attribute__((__const__)); float fabsf(float __x) __attribute__((__const__)); long double fabsl(long double __x) __attribute__((__const__)); double hypot(double __x, double __y); float hypotf(float __x, float __y); long double hypotl(long double __x, long double __y); double pow(double __x, double __y); float powf(float __x, float __y); long double powl(long double __x, long double __y); double sqrt(double __x); float sqrtf(float __x); long double sqrtl(long double __x); double erf(double __x); float erff(float __x); long double erfl(long double __x); double erfc(double __x); float erfcf(float __x); long double erfcl(long double __x); double lgamma(double __x); float lgammaf(float __x); long double lgammal(long double __x); double tgamma(double __x); float tgammaf(float __x); long double tgammal(long double __x); double ceil(double __x); float ceilf(float __x); long double ceill(long double __x); double floor(double __x); float floorf(float __x); long double floorl(long double __x); double nearbyint(double __x); float nearbyintf(float __x); long double nearbyintl(long double __x); double rint(double __x); float rintf(float __x); long double rintl(long double __x); long lrint(double __x); long lrintf(float __x); long lrintl(long double __x); long long llrint(double __x); long long llrintf(float __x); long long llrintl(long double __x); double round(double __x); float roundf(float __x); long double roundl(long double __x); long lround(double __x); long lroundf(float __x); long lroundl(long double __x); long long llround(double __x); long long llroundf(float __x); long long llroundl(long double __x); double trunc(double __x); float truncf(float __x); long double truncl(long double __x); double fmod(double __x, double __y); float fmodf(float __x, float __y); long double fmodl(long double __x, long double __y); double remainder(double __x, double __y); float remainderf(float __x, float __y); long double remainderl(long double __x, long double __y); double remquo(double __x, double __y, int* _Nonnull __quotient_bits); float remquof(float __x, float __y, int* _Nonnull __quotient_bits); long double remquol(long double __x, long double __y, int* _Nonnull __quotient_bits); double copysign(double __value, double __sign) __attribute__((__const__)); float copysignf(float __value, float __sign) __attribute__((__const__)); long double copysignl(long double __value, long double __sign) __attribute__((__const__)); double nan(const char* _Nonnull __kind) __attribute__((__const__)); float nanf(const char* _Nonnull __kind) __attribute__((__const__)); long double nanl(const char* _Nonnull __kind) __attribute__((__const__)); double nextafter(double __x, double __y); float nextafterf(float __x, float __y); long double nextafterl(long double __x, long double __y); double nexttoward(double __x, long double __y); float nexttowardf(float __x, long double __y); long double nexttowardl(long double __x, long double __y); double fdim(double __x, double __y); float fdimf(float __x, float __y); long double fdiml(long double __x, long double __y); double fmax(double __x, double __y) __attribute__((__const__)); float fmaxf(float __x, float __y) __attribute__((__const__)); long double fmaxl(long double __x, long double __y) __attribute__((__const__)); double fmin(double __x, double __y) __attribute__((__const__)); float fminf(float __x, float __y) __attribute__((__const__)); long double fminl(long double __x, long double __y) __attribute__((__const__)); double fma(double __x, double __y, double __z); float fmaf(float __x, float __y, float __z); long double fmal(long double __x, long double __y, long double __z); # 322 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 3 4 int (isinf)(double __x) __attribute__((__const__)); int (isnan)(double __x) __attribute__((__const__)); extern int signgam; double j0(double __x); double j1(double __x); double jn(int __n, double __x); double y0(double __x); double y1(double __x); double yn(int __n, double __x); # 361 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 3 4 double gamma(double __x); double scalb(double __x, double __exponent); double drem(double __x, double __y); int finite(double __x) __attribute__((__const__)); int isnanf(float __x) __attribute__((__const__)); double gamma_r(double __x, int* _Nonnull __sign); double lgamma_r(double __x, int* _Nonnull __sign); double significand(double __x); long double significandl(long double __x); float dremf(float __x, float __y); int finitef(float __x) __attribute__((__const__)); float gammaf(float __x); float j0f(float __x); float j1f(float __x); float jnf(int __n, float __x); float scalbf(float __x, float __exponent); float y0f(float __x); float y1f(float __x); float ynf(int __n, float __x); float gammaf_r(float __x, int* _Nonnull __sign); float lgammaf_r(float __x, int* _Nonnull __sign); float significandf(float __x); void sincos(double __x, double* _Nonnull __sin, double* _Nonnull __cos); void sincosf(float __x, float* _Nonnull __sin, float* _Nonnull __cos); void sincosl(long double __x, long double* _Nonnull __sin, long double* _Nonnull __cos); # 411 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/math.h" 3 4 } # 302 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 extern "C++" { # 358 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/abs.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/abs.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float fabs(float __x) noexcept { return __builtin_fabsf(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fabs(double __x) noexcept { return __builtin_fabs(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double fabs(long double __x) noexcept { return __builtin_fabsl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fabs(_A1 __x) noexcept { return __builtin_fabs((double)__x); } } }} # 359 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/copysign.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/copysign.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float copysign(float __x, float __y) noexcept { return ::__builtin_copysignf(__x, __y); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double copysign(long double __x, long double __y) noexcept { return ::__builtin_copysignl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type copysign(_A1 __x, _A2 __y) noexcept { return ::__builtin_copysign(__x, __y); } } }} # 360 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/error_functions.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/error_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float erf(float __x) noexcept { return __builtin_erff(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double erf(double __x) noexcept { return __builtin_erf(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double erf(long double __x) noexcept { return __builtin_erfl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double erf(_A1 __x) noexcept { return __builtin_erf((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float erfc(float __x) noexcept { return __builtin_erfcf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double erfc(double __x) noexcept { return __builtin_erfc(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double erfc(long double __x) noexcept { return __builtin_erfcl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double erfc(_A1 __x) noexcept { return __builtin_erfc((double)__x); } } }} # 361 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/exponential_functions.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/exponential_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float exp(float __x) noexcept { return __builtin_expf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double exp(double __x) noexcept { return __builtin_exp(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double exp(long double __x) noexcept { return __builtin_expl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double exp(_A1 __x) noexcept { return __builtin_exp((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float frexp(float __x, int* __e) noexcept { return __builtin_frexpf(__x, __e); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double frexp(double __x, int* __e) noexcept { return __builtin_frexp(__x, __e); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double frexp(long double __x, int* __e) noexcept { return __builtin_frexpl(__x, __e); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double frexp(_A1 __x, int* __e) noexcept { return __builtin_frexp((double)__x, __e); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float ldexp(float __x, int __e) noexcept { return __builtin_ldexpf(__x, __e); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double ldexp(double __x, int __e) noexcept { return __builtin_ldexp(__x, __e); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double ldexp(long double __x, int __e) noexcept { return __builtin_ldexpl(__x, __e); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double ldexp(_A1 __x, int __e) noexcept { return __builtin_ldexp((double)__x, __e); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float exp2(float __x) noexcept { return __builtin_exp2f(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double exp2(double __x) noexcept { return __builtin_exp2(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double exp2(long double __x) noexcept { return __builtin_exp2l(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double exp2(_A1 __x) noexcept { return __builtin_exp2((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float expm1(float __x) noexcept { return __builtin_expm1f(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double expm1(double __x) noexcept { return __builtin_expm1(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double expm1(long double __x) noexcept { return __builtin_expm1l(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double expm1(_A1 __x) noexcept { return __builtin_expm1((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float scalbln(float __x, long __y) noexcept { return __builtin_scalblnf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double scalbln(double __x, long __y) noexcept { return __builtin_scalbln(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double scalbln(long double __x, long __y) noexcept { return __builtin_scalblnl(__x, __y); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double scalbln(_A1 __x, long __y) noexcept { return __builtin_scalbln((double)__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float scalbn(float __x, int __y) noexcept { return __builtin_scalbnf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double scalbn(double __x, int __y) noexcept { return __builtin_scalbn(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double scalbn(long double __x, int __y) noexcept { return __builtin_scalbnl(__x, __y); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double scalbn(_A1 __x, int __y) noexcept { return __builtin_scalbn((double)__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float pow(float __x, float __y) noexcept { return __builtin_powf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double pow(double __x, double __y) noexcept { return __builtin_pow(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double pow(long double __x, long double __y) noexcept { return __builtin_powl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type pow(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::pow((__result_type)__x, (__result_type)__y); } } }} # 362 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/fdim.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/fdim.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float fdim(float __x, float __y) noexcept { return __builtin_fdimf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fdim(double __x, double __y) noexcept { return __builtin_fdim(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double fdim(long double __x, long double __y) noexcept { return __builtin_fdiml(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type fdim(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::fdim((__result_type)__x, (__result_type)__y); } } }} # 363 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/fma.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/fma.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float fma(float __x, float __y, float __z) noexcept { return __builtin_fmaf(__x, __y, __z); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fma(double __x, double __y, double __z) noexcept { return __builtin_fma(__x, __y, __z); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double fma(long double __x, long double __y, long double __z) noexcept { return __builtin_fmal(__x, __y, __z); } template <class _A1, class _A2, class _A3, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value && is_arithmetic<_A3>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2, _A3>::type fma(_A1 __x, _A2 __y, _A3 __z) noexcept { using __result_type = typename __promote<_A1, _A2, _A3>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value && _IsSame<_A3, __result_type>::value)), ""); return __builtin_fma((__result_type)__x, (__result_type)__y, (__result_type)__z); } } }} # 364 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/gamma.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/gamma.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float lgamma(float __x) noexcept { return __builtin_lgammaf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double lgamma(double __x) noexcept { return __builtin_lgamma(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double lgamma(long double __x) noexcept { return __builtin_lgammal(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double lgamma(_A1 __x) noexcept { return __builtin_lgamma((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float tgamma(float __x) noexcept { return __builtin_tgammaf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double tgamma(double __x) noexcept { return __builtin_tgamma(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double tgamma(long double __x) noexcept { return __builtin_tgammal(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double tgamma(_A1 __x) noexcept { return __builtin_tgamma((double)__x); } } }} # 365 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/hyperbolic_functions.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/hyperbolic_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float cosh(float __x) noexcept { return __builtin_coshf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double cosh(double __x) noexcept { return __builtin_cosh(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double cosh(long double __x) noexcept { return __builtin_coshl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double cosh(_A1 __x) noexcept { return __builtin_cosh((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float sinh(float __x) noexcept { return __builtin_sinhf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double sinh(double __x) noexcept { return __builtin_sinh(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double sinh(long double __x) noexcept { return __builtin_sinhl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double sinh(_A1 __x) noexcept { return __builtin_sinh((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float tanh(float __x) noexcept { return __builtin_tanhf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double tanh(double __x) noexcept { return __builtin_tanh(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double tanh(long double __x) noexcept { return __builtin_tanhl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double tanh(_A1 __x) noexcept { return __builtin_tanh((double)__x); } } }} # 366 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/hypot.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/hypot.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float hypot(float __x, float __y) noexcept { return __builtin_hypotf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double hypot(double __x, double __y) noexcept { return __builtin_hypot(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double hypot(long double __x, long double __y) noexcept { return __builtin_hypotl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type hypot(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::hypot((__result_type)__x, (__result_type)__y); } } }} # 367 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/inverse_hyperbolic_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float acosh(float __x) noexcept { return __builtin_acoshf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double acosh(double __x) noexcept { return __builtin_acosh(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double acosh(long double __x) noexcept { return __builtin_acoshl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double acosh(_A1 __x) noexcept { return __builtin_acosh((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float asinh(float __x) noexcept { return __builtin_asinhf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double asinh(double __x) noexcept { return __builtin_asinh(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double asinh(long double __x) noexcept { return __builtin_asinhl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double asinh(_A1 __x) noexcept { return __builtin_asinh((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float atanh(float __x) noexcept { return __builtin_atanhf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double atanh(double __x) noexcept { return __builtin_atanh(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double atanh(long double __x) noexcept { return __builtin_atanhl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double atanh(_A1 __x) noexcept { return __builtin_atanh((double)__x); } } }} # 368 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/inverse_trigonometric_functions.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/inverse_trigonometric_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float acos(float __x) noexcept { return __builtin_acosf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double acos(double __x) noexcept { return __builtin_acos(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double acos(long double __x) noexcept { return __builtin_acosl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double acos(_A1 __x) noexcept { return __builtin_acos((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float asin(float __x) noexcept { return __builtin_asinf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double asin(double __x) noexcept { return __builtin_asin(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double asin(long double __x) noexcept { return __builtin_asinl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double asin(_A1 __x) noexcept { return __builtin_asin((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float atan(float __x) noexcept { return __builtin_atanf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double atan(double __x) noexcept { return __builtin_atan(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double atan(long double __x) noexcept { return __builtin_atanl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double atan(_A1 __x) noexcept { return __builtin_atan((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float atan2(float __y, float __x) noexcept { return __builtin_atan2f(__y, __x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double atan2(double __x, double __y) noexcept { return __builtin_atan2(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double atan2(long double __y, long double __x) noexcept { return __builtin_atan2l(__y, __x); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type atan2(_A1 __y, _A2 __x) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::atan2((__result_type)__y, (__result_type)__x); } } }} # 369 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/logarithms.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/logarithms.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float log(float __x) noexcept { return __builtin_logf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log(double __x) noexcept { return __builtin_log(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double log(long double __x) noexcept { return __builtin_logl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log(_A1 __x) noexcept { return __builtin_log((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float log10(float __x) noexcept { return __builtin_log10f(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log10(double __x) noexcept { return __builtin_log10(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double log10(long double __x) noexcept { return __builtin_log10l(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log10(_A1 __x) noexcept { return __builtin_log10((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int ilogb(float __x) noexcept { return __builtin_ilogbf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double ilogb(double __x) noexcept { return __builtin_ilogb(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int ilogb(long double __x) noexcept { return __builtin_ilogbl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int ilogb(_A1 __x) noexcept { return __builtin_ilogb((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float log1p(float __x) noexcept { return __builtin_log1pf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log1p(double __x) noexcept { return __builtin_log1p(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double log1p(long double __x) noexcept { return __builtin_log1pl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log1p(_A1 __x) noexcept { return __builtin_log1p((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float log2(float __x) noexcept { return __builtin_log2f(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log2(double __x) noexcept { return __builtin_log2(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double log2(long double __x) noexcept { return __builtin_log2l(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double log2(_A1 __x) noexcept { return __builtin_log2((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float logb(float __x) noexcept { return __builtin_logbf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double logb(double __x) noexcept { return __builtin_logb(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double logb(long double __x) noexcept { return __builtin_logbl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double logb(_A1 __x) noexcept { return __builtin_logb((double)__x); } } }} # 370 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/min_max.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/min_max.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float fmax(float __x, float __y) noexcept { return __builtin_fmaxf(__x, __y); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fmax(double __x, double __y) noexcept { return __builtin_fmax(__x, __y); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double fmax(long double __x, long double __y) noexcept { return __builtin_fmaxl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type fmax(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::fmax((__result_type)__x, (__result_type)__y); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float fmin(float __x, float __y) noexcept { return __builtin_fminf(__x, __y); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fmin(double __x, double __y) noexcept { return __builtin_fmin(__x, __y); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double fmin(long double __x, long double __y) noexcept { return __builtin_fminl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type fmin(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::fmin((__result_type)__x, (__result_type)__y); } } }} # 371 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/modulo.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/modulo.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float fmod(float __x, float __y) noexcept { return __builtin_fmodf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double fmod(double __x, double __y) noexcept { return __builtin_fmod(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double fmod(long double __x, long double __y) noexcept { return __builtin_fmodl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type fmod(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::fmod((__result_type)__x, (__result_type)__y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float modf(float __x, float* __y) noexcept { return __builtin_modff(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double modf(double __x, double* __y) noexcept { return __builtin_modf(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double modf(long double __x, long double* __y) noexcept { return __builtin_modfl(__x, __y); } } }} # 372 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/remainder.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/remainder.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float remainder(float __x, float __y) noexcept { return __builtin_remainderf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double remainder(double __x, double __y) noexcept { return __builtin_remainder(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double remainder(long double __x, long double __y) noexcept { return __builtin_remainderl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type remainder(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::remainder((__result_type)__x, (__result_type)__y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float remquo(float __x, float __y, int* __z) noexcept { return __builtin_remquof(__x, __y, __z); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double remquo(double __x, double __y, int* __z) noexcept { return __builtin_remquo(__x, __y, __z); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double remquo(long double __x, long double __y, int* __z) noexcept { return __builtin_remquol(__x, __y, __z); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type remquo(_A1 __x, _A2 __y, int* __z) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::remquo((__result_type)__x, (__result_type)__y, __z); } } }} # 373 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/roots.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/roots.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float sqrt(float __x) noexcept { return __builtin_sqrtf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double sqrt(double __x) noexcept { return __builtin_sqrt(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double sqrt(long double __x) noexcept { return __builtin_sqrtl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double sqrt(_A1 __x) noexcept { return __builtin_sqrt((double)__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float cbrt(float __x) noexcept { return __builtin_cbrtf(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double cbrt(double __x) noexcept { return __builtin_cbrt(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double cbrt(long double __x) noexcept { return __builtin_cbrtl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double cbrt(_A1 __x) noexcept { return __builtin_cbrt((double)__x); } } }} # 374 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/rounding_functions.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/rounding_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float ceil(float __x) noexcept { return __builtin_ceilf(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double ceil(double __x) noexcept { return __builtin_ceil(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double ceil(long double __x) noexcept { return __builtin_ceill(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double ceil(_A1 __x) noexcept { return __builtin_ceil((double)__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float floor(float __x) noexcept { return __builtin_floorf(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double floor(double __x) noexcept { return __builtin_floor(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double floor(long double __x) noexcept { return __builtin_floorl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double floor(_A1 __x) noexcept { return __builtin_floor((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llrint(float __x) noexcept { return __builtin_llrintf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llrint(double __x) noexcept { return __builtin_llrint(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llrint(long double __x) noexcept { return __builtin_llrintl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llrint(_A1 __x) noexcept { return __builtin_llrint((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llround(float __x) noexcept { return __builtin_llroundf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llround(double __x) noexcept { return __builtin_llround(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llround(long double __x) noexcept { return __builtin_llroundl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long long llround(_A1 __x) noexcept { return __builtin_llround((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lrint(float __x) noexcept { return __builtin_lrintf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lrint(double __x) noexcept { return __builtin_lrint(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lrint(long double __x) noexcept { return __builtin_lrintl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lrint(_A1 __x) noexcept { return __builtin_lrint((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lround(float __x) noexcept { return __builtin_lroundf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lround(double __x) noexcept { return __builtin_lround(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lround(long double __x) noexcept { return __builtin_lroundl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long lround(_A1 __x) noexcept { return __builtin_lround((double)__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float nearbyint(float __x) noexcept { return __builtin_nearbyintf(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double nearbyint(double __x) noexcept { return __builtin_nearbyint(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double nearbyint(long double __x) noexcept { return __builtin_nearbyintl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double nearbyint(_A1 __x) noexcept { return __builtin_nearbyint((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float nextafter(float __x, float __y) noexcept { return __builtin_nextafterf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double nextafter(double __x, double __y) noexcept { return __builtin_nextafter(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double nextafter(long double __x, long double __y) noexcept { return __builtin_nextafterl(__x, __y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type nextafter(_A1 __x, _A2 __y) noexcept { using __result_type = typename __promote<_A1, _A2>::type; static_assert((!(_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value)), ""); return __math::nextafter((__result_type)__x, (__result_type)__y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float nexttoward(float __x, long double __y) noexcept { return __builtin_nexttowardf(__x, __y); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double nexttoward(double __x, long double __y) noexcept { return __builtin_nexttoward(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double nexttoward(long double __x, long double __y) noexcept { return __builtin_nexttowardl(__x, __y); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double nexttoward(_A1 __x, long double __y) noexcept { return __builtin_nexttoward((double)__x, __y); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float rint(float __x) noexcept { return __builtin_rintf(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double rint(double __x) noexcept { return __builtin_rint(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double rint(long double __x) noexcept { return __builtin_rintl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double rint(_A1 __x) noexcept { return __builtin_rint((double)__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float round(float __x) noexcept { return __builtin_round(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double round(double __x) noexcept { return __builtin_round(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double round(long double __x) noexcept { return __builtin_roundl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double round(_A1 __x) noexcept { return __builtin_round((double)__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float trunc(float __x) noexcept { return __builtin_trunc(__x); } template <class = int> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double trunc(double __x) noexcept { return __builtin_trunc(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double trunc(long double __x) noexcept { return __builtin_truncl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double trunc(_A1 __x) noexcept { return __builtin_trunc((double)__x); } } }} # 375 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/traits.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/traits.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool signbit(_A1 __x) noexcept { return __builtin_signbit(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value && is_signed<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool signbit(_A1 __x) noexcept { return __x < 0; } template <class _A1, __enable_if_t<is_integral<_A1>::value && !is_signed<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool signbit(_A1) noexcept { return false; } template <class _A1, __enable_if_t<is_arithmetic<_A1>::value && numeric_limits<_A1>::has_infinity, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isfinite(_A1 __x) noexcept { return __builtin_isfinite((typename __promote<_A1>::type)__x); } template <class _A1, __enable_if_t<is_arithmetic<_A1>::value && !numeric_limits<_A1>::has_infinity, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isfinite(_A1) noexcept { return true; } template <class _A1, __enable_if_t<is_arithmetic<_A1>::value && numeric_limits<_A1>::has_infinity, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isinf(_A1 __x) noexcept { return __builtin_isinf((typename __promote<_A1>::type)__x); } template <class _A1, __enable_if_t<is_arithmetic<_A1>::value && !numeric_limits<_A1>::has_infinity, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isinf(_A1) noexcept { return false; } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isinf(float __x) noexcept { return __builtin_isinf(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) bool isinf(double __x) noexcept { return __builtin_isinf(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isinf(long double __x) noexcept { return __builtin_isinf(__x); } template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isnan(_A1 __x) noexcept { return __builtin_isnan(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isnan(_A1) noexcept { return false; } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isnan(float __x) noexcept { return __builtin_isnan(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) bool isnan(double __x) noexcept { return __builtin_isnan(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isnan(long double __x) noexcept { return __builtin_isnan(__x); } template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isnormal(_A1 __x) noexcept { return __builtin_isnormal(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isnormal(_A1 __x) noexcept { return __x != 0; } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isgreater(_A1 __x, _A2 __y) noexcept { using type = typename __promote<_A1, _A2>::type; return __builtin_isgreater((type)__x, (type)__y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isgreaterequal(_A1 __x, _A2 __y) noexcept { using type = typename __promote<_A1, _A2>::type; return __builtin_isgreaterequal((type)__x, (type)__y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isless(_A1 __x, _A2 __y) noexcept { using type = typename __promote<_A1, _A2>::type; return __builtin_isless((type)__x, (type)__y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool islessequal(_A1 __x, _A2 __y) noexcept { using type = typename __promote<_A1, _A2>::type; return __builtin_islessequal((type)__x, (type)__y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool islessgreater(_A1 __x, _A2 __y) noexcept { using type = typename __promote<_A1, _A2>::type; return __builtin_islessgreater((type)__x, (type)__y); } template <class _A1, class _A2, __enable_if_t<is_arithmetic<_A1>::value && is_arithmetic<_A2>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool isunordered(_A1 __x, _A2 __y) noexcept { using type = typename __promote<_A1, _A2>::type; return __builtin_isunordered((type)__x, (type)__y); } } }} # 376 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/trigonometric_functions.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__math/trigonometric_functions.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float cos(float __x) noexcept { return __builtin_cosf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double cos(double __x) noexcept { return __builtin_cos(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double cos(long double __x) noexcept { return __builtin_cosl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double cos(_A1 __x) noexcept { return __builtin_cos((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float sin(float __x) noexcept { return __builtin_sinf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double sin(double __x) noexcept { return __builtin_sin(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double sin(long double __x) noexcept { return __builtin_sinl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double sin(_A1 __x) noexcept { return __builtin_sin((double)__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float tan(float __x) noexcept { return __builtin_tanf(__x); } template <class = int> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double tan(double __x) noexcept { return __builtin_tan(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double tan(long double __x) noexcept { return __builtin_tanl(__x); } template <class _A1, __enable_if_t<is_integral<_A1>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double tan(_A1 __x) noexcept { return __builtin_tan((double)__x); } } }} # 377 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdlib.h" 1 3 # 381 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __math { template <class = int> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int fpclassify(float __x) noexcept { return __builtin_fpclassify(0x02, 0x01, 0x04, 0x08, 0x10, __x); } template <class = int> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int fpclassify(double __x) noexcept { return __builtin_fpclassify(0x02, 0x01, 0x04, 0x08, 0x10, __x); } template <class = int> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int fpclassify(long double __x) noexcept { return __builtin_fpclassify(0x02, 0x01, 0x04, 0x08, 0x10, __x); } template <class _A1, std::__enable_if_t<std::is_integral<_A1>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int fpclassify(_A1 __x) noexcept { return __x == 0 ? 0x10 : 0x04; } } }} using std::__math::fpclassify; using std::__math::signbit; using std::__math::isfinite; using std::__math::isgreater; using std::__math::isgreaterequal; using std::__math::isinf; using std::__math::isless; using std::__math::islessequal; using std::__math::islessgreater; using std::__math::isnan; using std::__math::isnormal; using std::__math::isunordered; # 444 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 3 using std::__math::acos; using std::__math::acosh; using std::__math::asin; using std::__math::asinh; using std::__math::atan; using std::__math::atan2; using std::__math::atanh; using std::__math::cbrt; using std::__math::ceil; using std::__math::copysign; using std::__math::cos; using std::__math::cosh; using std::__math::erf; using std::__math::erfc; using std::__math::exp; using std::__math::exp2; using std::__math::expm1; using std::__math::fabs; using std::__math::fdim; using std::__math::floor; using std::__math::fma; using std::__math::fmax; using std::__math::fmin; using std::__math::fmod; using std::__math::frexp; using std::__math::hypot; using std::__math::ilogb; using std::__math::ldexp; using std::__math::lgamma; using std::__math::llrint; using std::__math::llround; using std::__math::log; using std::__math::log10; using std::__math::log1p; using std::__math::log2; using std::__math::logb; using std::__math::lrint; using std::__math::lround; using std::__math::modf; using std::__math::nearbyint; using std::__math::nextafter; using std::__math::nexttoward; using std::__math::pow; using std::__math::remainder; using std::__math::remquo; using std::__math::rint; using std::__math::round; using std::__math::scalbln; using std::__math::scalbn; using std::__math::signbit; using std::__math::sin; using std::__math::sinh; using std::__math::sqrt; using std::__math::tan; using std::__math::tanh; using std::__math::tgamma; using std::__math::trunc; } # 320 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 2 3 # 331 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 335 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::signbit __attribute__((__using_if_exists__)); using ::fpclassify __attribute__((__using_if_exists__)); using ::isfinite __attribute__((__using_if_exists__)); using ::isinf __attribute__((__using_if_exists__)); using ::isnan __attribute__((__using_if_exists__)); using ::isnormal __attribute__((__using_if_exists__)); using ::isgreater __attribute__((__using_if_exists__)); using ::isgreaterequal __attribute__((__using_if_exists__)); using ::isless __attribute__((__using_if_exists__)); using ::islessequal __attribute__((__using_if_exists__)); using ::islessgreater __attribute__((__using_if_exists__)); using ::isunordered __attribute__((__using_if_exists__)); using ::isunordered __attribute__((__using_if_exists__)); using ::float_t __attribute__((__using_if_exists__)); using ::double_t __attribute__((__using_if_exists__)); using ::abs __attribute__((__using_if_exists__)); using ::acos __attribute__((__using_if_exists__)); using ::acosf __attribute__((__using_if_exists__)); using ::asin __attribute__((__using_if_exists__)); using ::asinf __attribute__((__using_if_exists__)); using ::atan __attribute__((__using_if_exists__)); using ::atanf __attribute__((__using_if_exists__)); using ::atan2 __attribute__((__using_if_exists__)); using ::atan2f __attribute__((__using_if_exists__)); using ::ceil __attribute__((__using_if_exists__)); using ::ceilf __attribute__((__using_if_exists__)); using ::cos __attribute__((__using_if_exists__)); using ::cosf __attribute__((__using_if_exists__)); using ::cosh __attribute__((__using_if_exists__)); using ::coshf __attribute__((__using_if_exists__)); using ::exp __attribute__((__using_if_exists__)); using ::expf __attribute__((__using_if_exists__)); using ::fabs __attribute__((__using_if_exists__)); using ::fabsf __attribute__((__using_if_exists__)); using ::floor __attribute__((__using_if_exists__)); using ::floorf __attribute__((__using_if_exists__)); using ::fmod __attribute__((__using_if_exists__)); using ::fmodf __attribute__((__using_if_exists__)); using ::frexp __attribute__((__using_if_exists__)); using ::frexpf __attribute__((__using_if_exists__)); using ::ldexp __attribute__((__using_if_exists__)); using ::ldexpf __attribute__((__using_if_exists__)); using ::log __attribute__((__using_if_exists__)); using ::logf __attribute__((__using_if_exists__)); using ::log10 __attribute__((__using_if_exists__)); using ::log10f __attribute__((__using_if_exists__)); using ::modf __attribute__((__using_if_exists__)); using ::modff __attribute__((__using_if_exists__)); using ::pow __attribute__((__using_if_exists__)); using ::powf __attribute__((__using_if_exists__)); using ::sin __attribute__((__using_if_exists__)); using ::sinf __attribute__((__using_if_exists__)); using ::sinh __attribute__((__using_if_exists__)); using ::sinhf __attribute__((__using_if_exists__)); using ::sqrt __attribute__((__using_if_exists__)); using ::sqrtf __attribute__((__using_if_exists__)); using ::tan __attribute__((__using_if_exists__)); using ::tanf __attribute__((__using_if_exists__)); using ::tanh __attribute__((__using_if_exists__)); using ::tanhf __attribute__((__using_if_exists__)); using ::acosh __attribute__((__using_if_exists__)); using ::acoshf __attribute__((__using_if_exists__)); using ::asinh __attribute__((__using_if_exists__)); using ::asinhf __attribute__((__using_if_exists__)); using ::atanh __attribute__((__using_if_exists__)); using ::atanhf __attribute__((__using_if_exists__)); using ::cbrt __attribute__((__using_if_exists__)); using ::cbrtf __attribute__((__using_if_exists__)); using ::copysign __attribute__((__using_if_exists__)); using ::copysignf __attribute__((__using_if_exists__)); using ::erf __attribute__((__using_if_exists__)); using ::erff __attribute__((__using_if_exists__)); using ::erfc __attribute__((__using_if_exists__)); using ::erfcf __attribute__((__using_if_exists__)); using ::exp2 __attribute__((__using_if_exists__)); using ::exp2f __attribute__((__using_if_exists__)); using ::expm1 __attribute__((__using_if_exists__)); using ::expm1f __attribute__((__using_if_exists__)); using ::fdim __attribute__((__using_if_exists__)); using ::fdimf __attribute__((__using_if_exists__)); using ::fmaf __attribute__((__using_if_exists__)); using ::fma __attribute__((__using_if_exists__)); using ::fmax __attribute__((__using_if_exists__)); using ::fmaxf __attribute__((__using_if_exists__)); using ::fmin __attribute__((__using_if_exists__)); using ::fminf __attribute__((__using_if_exists__)); using ::hypot __attribute__((__using_if_exists__)); using ::hypotf __attribute__((__using_if_exists__)); using ::ilogb __attribute__((__using_if_exists__)); using ::ilogbf __attribute__((__using_if_exists__)); using ::lgamma __attribute__((__using_if_exists__)); using ::lgammaf __attribute__((__using_if_exists__)); using ::llrint __attribute__((__using_if_exists__)); using ::llrintf __attribute__((__using_if_exists__)); using ::llround __attribute__((__using_if_exists__)); using ::llroundf __attribute__((__using_if_exists__)); using ::log1p __attribute__((__using_if_exists__)); using ::log1pf __attribute__((__using_if_exists__)); using ::log2 __attribute__((__using_if_exists__)); using ::log2f __attribute__((__using_if_exists__)); using ::logb __attribute__((__using_if_exists__)); using ::logbf __attribute__((__using_if_exists__)); using ::lrint __attribute__((__using_if_exists__)); using ::lrintf __attribute__((__using_if_exists__)); using ::lround __attribute__((__using_if_exists__)); using ::lroundf __attribute__((__using_if_exists__)); using ::nan __attribute__((__using_if_exists__)); using ::nanf __attribute__((__using_if_exists__)); using ::nearbyint __attribute__((__using_if_exists__)); using ::nearbyintf __attribute__((__using_if_exists__)); using ::nextafter __attribute__((__using_if_exists__)); using ::nextafterf __attribute__((__using_if_exists__)); using ::nexttoward __attribute__((__using_if_exists__)); using ::nexttowardf __attribute__((__using_if_exists__)); using ::remainder __attribute__((__using_if_exists__)); using ::remainderf __attribute__((__using_if_exists__)); using ::remquo __attribute__((__using_if_exists__)); using ::remquof __attribute__((__using_if_exists__)); using ::rint __attribute__((__using_if_exists__)); using ::rintf __attribute__((__using_if_exists__)); using ::round __attribute__((__using_if_exists__)); using ::roundf __attribute__((__using_if_exists__)); using ::scalbln __attribute__((__using_if_exists__)); using ::scalblnf __attribute__((__using_if_exists__)); using ::scalbn __attribute__((__using_if_exists__)); using ::scalbnf __attribute__((__using_if_exists__)); using ::tgamma __attribute__((__using_if_exists__)); using ::tgammaf __attribute__((__using_if_exists__)); using ::trunc __attribute__((__using_if_exists__)); using ::truncf __attribute__((__using_if_exists__)); using ::acosl __attribute__((__using_if_exists__)); using ::asinl __attribute__((__using_if_exists__)); using ::atanl __attribute__((__using_if_exists__)); using ::atan2l __attribute__((__using_if_exists__)); using ::ceill __attribute__((__using_if_exists__)); using ::cosl __attribute__((__using_if_exists__)); using ::coshl __attribute__((__using_if_exists__)); using ::expl __attribute__((__using_if_exists__)); using ::fabsl __attribute__((__using_if_exists__)); using ::floorl __attribute__((__using_if_exists__)); using ::fmodl __attribute__((__using_if_exists__)); using ::frexpl __attribute__((__using_if_exists__)); using ::ldexpl __attribute__((__using_if_exists__)); using ::logl __attribute__((__using_if_exists__)); using ::log10l __attribute__((__using_if_exists__)); using ::modfl __attribute__((__using_if_exists__)); using ::powl __attribute__((__using_if_exists__)); using ::sinl __attribute__((__using_if_exists__)); using ::sinhl __attribute__((__using_if_exists__)); using ::sqrtl __attribute__((__using_if_exists__)); using ::tanl __attribute__((__using_if_exists__)); using ::tanhl __attribute__((__using_if_exists__)); using ::acoshl __attribute__((__using_if_exists__)); using ::asinhl __attribute__((__using_if_exists__)); using ::atanhl __attribute__((__using_if_exists__)); using ::cbrtl __attribute__((__using_if_exists__)); using ::copysignl __attribute__((__using_if_exists__)); using ::erfl __attribute__((__using_if_exists__)); using ::erfcl __attribute__((__using_if_exists__)); using ::exp2l __attribute__((__using_if_exists__)); using ::expm1l __attribute__((__using_if_exists__)); using ::fdiml __attribute__((__using_if_exists__)); using ::fmal __attribute__((__using_if_exists__)); using ::fmaxl __attribute__((__using_if_exists__)); using ::fminl __attribute__((__using_if_exists__)); using ::hypotl __attribute__((__using_if_exists__)); using ::ilogbl __attribute__((__using_if_exists__)); using ::lgammal __attribute__((__using_if_exists__)); using ::llrintl __attribute__((__using_if_exists__)); using ::llroundl __attribute__((__using_if_exists__)); using ::log1pl __attribute__((__using_if_exists__)); using ::log2l __attribute__((__using_if_exists__)); using ::logbl __attribute__((__using_if_exists__)); using ::lrintl __attribute__((__using_if_exists__)); using ::lroundl __attribute__((__using_if_exists__)); using ::nanl __attribute__((__using_if_exists__)); using ::nearbyintl __attribute__((__using_if_exists__)); using ::nextafterl __attribute__((__using_if_exists__)); using ::nexttowardl __attribute__((__using_if_exists__)); using ::remainderl __attribute__((__using_if_exists__)); using ::remquol __attribute__((__using_if_exists__)); using ::rintl __attribute__((__using_if_exists__)); using ::roundl __attribute__((__using_if_exists__)); using ::scalblnl __attribute__((__using_if_exists__)); using ::scalbnl __attribute__((__using_if_exists__)); using ::tgammal __attribute__((__using_if_exists__)); using ::truncl __attribute__((__using_if_exists__)); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float hypot(float __x, float __y, float __z) { return sqrt(__x * __x + __y * __y + __z * __z); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double hypot(double __x, double __y, double __z) { return sqrt(__x * __x + __y * __y + __z * __z); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double hypot(long double __x, long double __y, long double __z) { return sqrt(__x * __x + __y * __y + __z * __z); } template <class _A1, class _A2, class _A3> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename enable_if_t< is_arithmetic<_A1>::value && is_arithmetic<_A2>::value && is_arithmetic<_A3>::value, __promote<_A1, _A2, _A3> >::type hypot(_A1 __lcpp_x, _A2 __lcpp_y, _A3 __lcpp_z) noexcept { typedef typename __promote<_A1, _A2, _A3>::type __result_type; static_assert((!(is_same<_A1, __result_type>::value && is_same<_A2, __result_type>::value && is_same<_A3, __result_type>::value)), ""); return std::hypot((__result_type)__lcpp_x, (__result_type)__lcpp_y, (__result_type)__lcpp_z); } template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_isnan(_A1 __lcpp_x) noexcept { return __builtin_isnan(__lcpp_x); } template <class _A1, __enable_if_t<!is_floating_point<_A1>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_isnan(_A1 __lcpp_x) noexcept { return std::isnan(__lcpp_x); } template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_isinf(_A1 __lcpp_x) noexcept { return __builtin_isinf(__lcpp_x); } template <class _A1, __enable_if_t<!is_floating_point<_A1>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_isinf(_A1 __lcpp_x) noexcept { return std::isinf(__lcpp_x); } template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_isfinite(_A1 __lcpp_x) noexcept { return __builtin_isfinite(__lcpp_x); } template <class _A1, __enable_if_t<!is_floating_point<_A1>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __constexpr_isfinite(_A1 __lcpp_x) noexcept { return __builtin_isfinite(__lcpp_x); } constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) float __constexpr_copysign(float __x, float __y) noexcept { return __builtin_copysignf(__x, __y); } constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) double __constexpr_copysign(double __x, double __y) noexcept { return __builtin_copysign(__x, __y); } constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) long double __constexpr_copysign(long double __x, long double __y) noexcept { return __builtin_copysignl(__x, __y); } template <class _A1, class _A2, __enable_if_t<std::is_arithmetic<_A1>::value && std::is_arithmetic<_A2>::value, int> = 0> constexpr inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __promote<_A1, _A2>::type __constexpr_copysign(_A1 __x, _A2 __y) noexcept { typedef typename std::__promote<_A1, _A2>::type __result_type; static_assert((!(std::_IsSame<_A1, __result_type>::value && std::_IsSame<_A2, __result_type>::value)), ""); return __builtin_copysign((__result_type)__x, (__result_type)__y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr float __constexpr_fabs(float __x) noexcept { return __builtin_fabsf(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr double __constexpr_fabs(double __x) noexcept { return __builtin_fabs(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr long double __constexpr_fabs(long double __x) noexcept { return __builtin_fabsl(__x); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr double __constexpr_fabs(_Tp __x) noexcept { return __builtin_fabs(static_cast<double>(__x)); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr float __constexpr_fmax(float __x, float __y) noexcept { # 664 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 3 return __builtin_fmaxf(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr double __constexpr_fmax(double __x, double __y) noexcept { # 677 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 3 return __builtin_fmax(__x, __y); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr long double __constexpr_fmax(long double __x, long double __y) noexcept { # 691 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 3 return __builtin_fmaxl(__x, __y); } template <class _Tp, class _Up, __enable_if_t<is_arithmetic<_Tp>::value && is_arithmetic<_Up>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename __promote<_Tp, _Up>::type __constexpr_fmax(_Tp __x, _Up __y) noexcept { using __result_type = typename __promote<_Tp, _Up>::type; return std::__constexpr_fmax(static_cast<__result_type>(__x), static_cast<__result_type>(__y)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __constexpr_logb(_Tp __x) { if (__libcpp_is_constant_evaluated()) { if (__x == _Tp(0)) { return -numeric_limits<_Tp>::infinity(); } if (std::__constexpr_isinf(__x)) return numeric_limits<_Tp>::infinity(); if (std::__constexpr_isnan(__x)) return numeric_limits<_Tp>::quiet_NaN(); __x = std::__constexpr_fabs(__x); unsigned long long __exp = 0; while (__x >= numeric_limits<_Tp>::radix) { __x /= numeric_limits<_Tp>::radix; __exp += 1; } return _Tp(__exp); } return __builtin_logb(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __constexpr_scalbn(_Tp __x, int __exp) { if (__libcpp_is_constant_evaluated()) { if (__x == _Tp(0)) return __x; if (std::__constexpr_isinf(__x)) return __x; if (__exp == _Tp(0)) return __x; if (std::__constexpr_isnan(__x)) return numeric_limits<_Tp>::quiet_NaN(); _Tp __mult(1); if (__exp > 0) { __mult = numeric_limits<_Tp>::radix; --__exp; } else { ++__exp; __exp = -__exp; __mult /= numeric_limits<_Tp>::radix; } while (__exp > 0) { if (!(__exp & 1)) { __mult *= __mult; __exp >>= 1; } else { __x *= __mult; --__exp; } } return __x; } return __builtin_scalbn(__x, __exp); } # 808 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cmath" 3 }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/strong_order.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/weak_order.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/weak_order.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/weak_order.h" 3 }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/partial_order.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/partial_order.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/partial_order.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_partial_order_fallback.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_partial_order_fallback.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 74 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_partial_order_fallback.h" 3 }} # 146 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_strong_order_fallback.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_strong_order_fallback.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_strong_order_fallback.h" 3 }} # 147 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_weak_order_fallback.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_weak_order_fallback.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/compare_weak_order_fallback.h" 3 }} # 150 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/is_eq.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/is_eq.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__compare/is_eq.h" 3 }} # 151 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 2 3 # 162 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/compare" 3 # 273 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 2 3 # 276 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 280 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <size_t _Ip, class _Hp, bool = is_empty<_Hp>::value && !__libcpp_is_final<_Hp>::value > class __tuple_leaf; template <size_t _Ip, class _Hp, bool _Ep> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void swap(__tuple_leaf<_Ip, _Hp, _Ep>& __x, __tuple_leaf<_Ip, _Hp, _Ep>& __y) noexcept(__is_nothrow_swappable<_Hp>::value) { swap(__x.get(), __y.get()); } template <size_t _Ip, class _Hp, bool _Ep> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void swap(const __tuple_leaf<_Ip, _Hp, _Ep>& __x, const __tuple_leaf<_Ip, _Hp, _Ep>& __y) noexcept(__is_nothrow_swappable<const _Hp>::value) { swap(__x.get(), __y.get()); } template <size_t _Ip, class _Hp, bool> class __tuple_leaf { _Hp __value_; template <class _Tp> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __can_bind_reference() { return !__reference_binds_to_temporary(_Hp, _Tp); } constexpr __tuple_leaf& operator=(const __tuple_leaf&); public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf() noexcept(is_nothrow_default_constructible<_Hp>::value) : __value_() { static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); } template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf(integral_constant<int, 0>, const _Alloc&) : __value_() { static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); } template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a) : __value_(allocator_arg_t(), __a) { static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); } template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a) : __value_(__a) { static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple"); } template <class _Tp, class = __enable_if_t< _And< _IsNotSame<__remove_cvref_t<_Tp>, __tuple_leaf>, is_constructible<_Hp, _Tp> >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf(_Tp&& __t) noexcept((is_nothrow_constructible<_Hp, _Tp>::value)) : __value_(std::forward<_Tp>(__t)) { static_assert(__can_bind_reference<_Tp&&>(), "Attempted construction of reference element binds to a temporary whose lifetime has ended"); } template <class _Tp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf( integral_constant<int, 0>, const _Alloc&, _Tp&& __t) : __value_(std::forward<_Tp>(__t)) { static_assert(__can_bind_reference<_Tp&&>(), "Attempted construction of reference element binds to a temporary whose lifetime has ended"); } template <class _Tp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf( integral_constant<int, 1>, const _Alloc& __a, _Tp&& __t) : __value_(allocator_arg_t(), __a, std::forward<_Tp>(__t)) { static_assert(!is_reference<_Hp>::value, "Attempted to uses-allocator construct a reference element in a tuple"); } template <class _Tp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf( integral_constant<int, 2>, const _Alloc& __a, _Tp&& __t) : __value_(std::forward<_Tp>(__t), __a) { static_assert(!is_reference<_Hp>::value, "Attempted to uses-allocator construct a reference element in a tuple"); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __tuple_leaf(const __tuple_leaf& __t) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __tuple_leaf(__tuple_leaf&& __t) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int swap(__tuple_leaf& __t) noexcept(__is_nothrow_swappable<__tuple_leaf>::value) { std::swap(*this, __t); return 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int swap(const __tuple_leaf& __t) const noexcept(__is_nothrow_swappable<const __tuple_leaf>::value) { std::swap(*this, __t); return 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Hp& get() noexcept { return __value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Hp& get() const noexcept { return __value_; } }; template <size_t _Ip, class _Hp> class __tuple_leaf<_Ip, _Hp, true> : private _Hp { constexpr __tuple_leaf& operator=(const __tuple_leaf&); public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf() noexcept(is_nothrow_default_constructible<_Hp>::value) {} template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf(integral_constant<int, 0>, const _Alloc&) {} template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a) : _Hp(allocator_arg_t(), __a) {} template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a) : _Hp(__a) {} template <class _Tp, class = __enable_if_t< _And< _IsNotSame<__remove_cvref_t<_Tp>, __tuple_leaf>, is_constructible<_Hp, _Tp> >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf(_Tp&& __t) noexcept((is_nothrow_constructible<_Hp, _Tp>::value)) : _Hp(std::forward<_Tp>(__t)) {} template <class _Tp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf(integral_constant<int, 0>, const _Alloc&, _Tp&& __t) : _Hp(std::forward<_Tp>(__t)) {} template <class _Tp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf(integral_constant<int, 1>, const _Alloc& __a, _Tp&& __t) : _Hp(allocator_arg_t(), __a, std::forward<_Tp>(__t)) {} template <class _Tp, class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_leaf(integral_constant<int, 2>, const _Alloc& __a, _Tp&& __t) : _Hp(std::forward<_Tp>(__t), __a) {} __tuple_leaf(__tuple_leaf const&) = default; __tuple_leaf(__tuple_leaf&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int swap(__tuple_leaf& __t) noexcept(__is_nothrow_swappable<__tuple_leaf>::value) { std::swap(*this, __t); return 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int swap(const __tuple_leaf& __rhs) const noexcept(__is_nothrow_swappable<const __tuple_leaf>::value) { std::swap(*this, __rhs); return 0; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Hp& get() noexcept { return static_cast<_Hp&>(*this); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Hp& get() const noexcept { return static_cast<const _Hp&>(*this); } }; template <class... _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __swallow(_Tp&&...) noexcept {} template <class _Tp> struct __all_default_constructible; template <class... _Tp> struct __all_default_constructible<__tuple_types<_Tp...>> : __all<is_default_constructible<_Tp>::value...> {}; template <class _Indx, class... _Tp> struct __tuple_impl; template <size_t... _Indx, class... _Tp> struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...> : public __tuple_leaf<_Indx, _Tp>... { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_impl() noexcept(__all<is_nothrow_default_constructible<_Tp>::value...>::value) {} template <size_t... _Uf, class... _Tf, size_t... _Ul, class... _Tl, class... _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_impl( __tuple_indices<_Uf...>, __tuple_types<_Tf...>, __tuple_indices<_Ul...>, __tuple_types<_Tl...>, _Up&&... __u) noexcept((__all<is_nothrow_constructible<_Tf, _Up>::value...>::value && __all<is_nothrow_default_constructible<_Tl>::value...>::value)) : __tuple_leaf<_Uf, _Tf>(std::forward<_Up>(__u))..., __tuple_leaf<_Ul, _Tl>()... {} template <class _Alloc, size_t... _Uf, class... _Tf, size_t... _Ul, class... _Tl, class... _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __tuple_impl( allocator_arg_t, const _Alloc& __a, __tuple_indices<_Uf...>, __tuple_types<_Tf...>, __tuple_indices<_Ul...>, __tuple_types<_Tl...>, _Up&&... __u) : __tuple_leaf<_Uf, _Tf>(__uses_alloc_ctor<_Tf, _Alloc, _Up>(), __a, std::forward<_Up>(__u))..., __tuple_leaf<_Ul, _Tl>(__uses_alloc_ctor<_Tl, _Alloc>(), __a)... {} template <class _Tuple, class = __enable_if_t<__tuple_constructible<_Tuple, tuple<_Tp...> >::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_impl(_Tuple&& __t) noexcept((__all<is_nothrow_constructible< _Tp, typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>::value...>::value)) : __tuple_leaf<_Indx, _Tp>( std::forward<typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>( std::get<_Indx>(__t)))... {} template <class _Alloc, class _Tuple, class = __enable_if_t<__tuple_constructible<_Tuple, tuple<_Tp...> >::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t) : __tuple_leaf<_Indx, _Tp>( __uses_alloc_ctor<_Tp, _Alloc, typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>(), __a, std::forward<typename tuple_element<_Indx, typename __make_tuple_types<_Tuple>::type>::type>( std::get<_Indx>(__t)))... {} __tuple_impl(const __tuple_impl&) = default; __tuple_impl(__tuple_impl&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void swap(__tuple_impl& __t) noexcept(__all<__is_nothrow_swappable<_Tp>::value...>::value) { std::__swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t))...); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void swap(const __tuple_impl& __t) const noexcept(__all<__is_nothrow_swappable<const _Tp>::value...>::value) { std::__swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<const __tuple_leaf<_Indx, _Tp>&>(__t))...); } }; template <class _Dest, class _Source, size_t... _Np> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __memberwise_copy_assign(_Dest& __dest, _Source const& __source, __tuple_indices<_Np...>) { std::__swallow(((std::get<_Np>(__dest) = std::get<_Np>(__source)), void(), 0)...); } template <class _Dest, class _Source, class... _Up, size_t... _Np> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __memberwise_forward_assign(_Dest& __dest, _Source&& __source, __tuple_types<_Up...>, __tuple_indices<_Np...>) { std::__swallow(((std::get<_Np>(__dest) = std::forward<_Up>(std::get<_Np>(__source))), void(), 0)...); } template <class... _Tp> class tuple { typedef __tuple_impl<typename __make_tuple_indices<sizeof...(_Tp)>::type, _Tp...> _BaseT; _BaseT __base_; template <size_t _Jp, class... _Up> friend constexpr typename tuple_element<_Jp, tuple<_Up...> >::type& get(tuple<_Up...>&) noexcept; template <size_t _Jp, class... _Up> friend constexpr const typename tuple_element<_Jp, tuple<_Up...> >::type& get(const tuple<_Up...>&) noexcept; template <size_t _Jp, class... _Up> friend constexpr typename tuple_element<_Jp, tuple<_Up...> >::type&& get(tuple<_Up...>&&) noexcept; template <size_t _Jp, class... _Up> friend constexpr const typename tuple_element<_Jp, tuple<_Up...> >::type&& get(const tuple<_Up...>&&) noexcept; public: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wc++20-extensions" template <template <class...> class _IsImpDefault = __is_implicitly_default_constructible, template <class...> class _IsDefault = is_default_constructible, __enable_if_t< _And< _IsDefault<_Tp>... >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit(_Not<_Lazy<_And, _IsImpDefault<_Tp>...> >::value) tuple() noexcept(_And<is_nothrow_default_constructible<_Tp>...>::value) {} template <class _Alloc, template <class...> class _IsImpDefault = __is_implicitly_default_constructible, template <class...> class _IsDefault = is_default_constructible, __enable_if_t< _And< _IsDefault<_Tp>... >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit(_Not<_Lazy<_And, _IsImpDefault<_Tp>...> >::value) tuple(allocator_arg_t, _Alloc const& __a) : __base_(allocator_arg_t(), __a, __tuple_indices<>(), __tuple_types<>(), typename __make_tuple_indices<sizeof...(_Tp), 0>::type(), __tuple_types<_Tp...>()) {} template <template <class...> class _And = _And, __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) >= 1>, is_copy_constructible<_Tp>... >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit( _Not<_Lazy<_And, is_convertible<const _Tp&, _Tp>...> >::value) tuple(const _Tp&... __t) noexcept(_And<is_nothrow_copy_constructible<_Tp>...>::value) : __base_(typename __make_tuple_indices<sizeof...(_Tp)>::type(), typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(), typename __make_tuple_indices<0>::type(), typename __make_tuple_types<tuple, 0>::type(), __t...) {} template <class _Alloc, template <class...> class _And = _And, __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) >= 1>, is_copy_constructible<_Tp>... >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit( _Not<_Lazy<_And, is_convertible<const _Tp&, _Tp>...> >::value) tuple(allocator_arg_t, const _Alloc& __a, const _Tp&... __t) : __base_(allocator_arg_t(), __a, typename __make_tuple_indices<sizeof...(_Tp)>::type(), typename __make_tuple_types<tuple, sizeof...(_Tp)>::type(), typename __make_tuple_indices<0>::type(), typename __make_tuple_types<tuple, 0>::type(), __t...) {} template <class... _Up> struct _IsThisTuple : false_type {}; template <class _Up> struct _IsThisTuple<_Up> : is_same<__remove_cvref_t<_Up>, tuple> {}; template <class... _Up> struct _EnableUTypesCtor : _And< _BoolConstant<sizeof...(_Tp) >= 1>, _Not<_IsThisTuple<_Up...> >, is_constructible<_Tp, _Up>... > {}; template <class... _Up, __enable_if_t< _And< _BoolConstant<sizeof...(_Up) == sizeof...(_Tp)>, _EnableUTypesCtor<_Up...> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) tuple(_Up&&... __u) noexcept((_And<is_nothrow_constructible<_Tp, _Up>...>::value)) : __base_(typename __make_tuple_indices<sizeof...(_Up)>::type(), typename __make_tuple_types<tuple, sizeof...(_Up)>::type(), typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(), typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(), std::forward<_Up>(__u)...) {} template <class _Alloc, class... _Up, __enable_if_t< _And< _BoolConstant<sizeof...(_Up) == sizeof...(_Tp)>, _EnableUTypesCtor<_Up...> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u) : __base_(allocator_arg_t(), __a, typename __make_tuple_indices<sizeof...(_Up)>::type(), typename __make_tuple_types<tuple, sizeof...(_Up)>::type(), typename __make_tuple_indices<sizeof...(_Tp), sizeof...(_Up)>::type(), typename __make_tuple_types<tuple, sizeof...(_Tp), sizeof...(_Up)>::type(), std::forward<_Up>(__u)...) {} tuple(const tuple&) = default; tuple(tuple&&) = default; template <class _Alloc, template <class...> class _And = _And, __enable_if_t< _And<is_copy_constructible<_Tp>...>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple(allocator_arg_t, const _Alloc& __alloc, const tuple& __t) : __base_(allocator_arg_t(), __alloc, __t) {} template <class _Alloc, template <class...> class _And = _And, __enable_if_t< _And<is_move_constructible<_Tp>...>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple(allocator_arg_t, const _Alloc& __alloc, tuple&& __t) : __base_(allocator_arg_t(), __alloc, std::move(__t)) {} template <class _OtherTuple, class _DecayedOtherTuple = __remove_cvref_t<_OtherTuple>, class = void> struct _EnableCtorFromUTypesTuple : false_type {}; template <class _OtherTuple, class... _Up> struct _EnableCtorFromUTypesTuple< _OtherTuple, tuple<_Up...>, __enable_if_t<sizeof...(_Up) == sizeof...(_Tp)>> : _And< _Not<is_same<_OtherTuple, const tuple&> >, _Not<is_same<_OtherTuple, tuple&&> >, is_constructible<_Tp, __copy_cvref_t<_OtherTuple, _Up> >..., _Lazy<_Or, _BoolConstant<sizeof...(_Tp) != 1>, _Lazy<_And, _Not<is_same<_Tp, _Up> >..., _Not<is_convertible<_OtherTuple, _Tp> >..., _Not<is_constructible<_Tp, _OtherTuple> >... > > > {}; template <class... _Up, __enable_if_t< _And< _EnableCtorFromUTypesTuple<const tuple<_Up...>&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit( _Not<_Lazy<_And, is_convertible<const _Up&, _Tp>...> >::value) tuple(const tuple<_Up...>& __t) noexcept((_And<is_nothrow_constructible<_Tp, const _Up&>...>::value)) : __base_(__t) {} template <class... _Up, class _Alloc, __enable_if_t< _And< _EnableCtorFromUTypesTuple<const tuple<_Up...>&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit( _Not<_Lazy<_And, is_convertible<const _Up&, _Tp>...> >::value) tuple(allocator_arg_t, const _Alloc& __a, const tuple<_Up...>& __t) : __base_(allocator_arg_t(), __a, __t) {} # 711 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <class... _Up, __enable_if_t< _And< _EnableCtorFromUTypesTuple<tuple<_Up...>&&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) tuple(tuple<_Up...>&& __t) noexcept((_And<is_nothrow_constructible<_Tp, _Up>...>::value)) : __base_(std::move(__t)) {} template <class _Alloc, class... _Up, __enable_if_t< _And< _EnableCtorFromUTypesTuple<tuple<_Up...>&&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit(_Not<_Lazy<_And, is_convertible<_Up, _Tp>...> >::value) tuple(allocator_arg_t, const _Alloc& __a, tuple<_Up...>&& __t) : __base_(allocator_arg_t(), __a, std::move(__t)) {} # 741 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <template <class...> class _Pred, class _Pair, class _DecayedPair = __remove_cvref_t<_Pair>, class _Tuple = tuple> struct _CtorPredicateFromPair : false_type {}; template <template <class...> class _Pred, class _Pair, class _Up1, class _Up2, class _Tp1, class _Tp2> struct _CtorPredicateFromPair<_Pred, _Pair, pair<_Up1, _Up2>, tuple<_Tp1, _Tp2> > : _And< _Pred<_Tp1, __copy_cvref_t<_Pair, _Up1> >, _Pred<_Tp2, __copy_cvref_t<_Pair, _Up2> > > {}; template <class _Pair> struct _EnableCtorFromPair : _CtorPredicateFromPair<is_constructible, _Pair> {}; template <class _Pair> struct _NothrowConstructibleFromPair : _CtorPredicateFromPair<is_nothrow_constructible, _Pair> {}; template <class _Pair, class _DecayedPair = __remove_cvref_t<_Pair>, class _Tuple = tuple> struct _BothImplicitlyConvertible : false_type {}; template <class _Pair, class _Up1, class _Up2, class _Tp1, class _Tp2> struct _BothImplicitlyConvertible<_Pair, pair<_Up1, _Up2>, tuple<_Tp1, _Tp2> > : _And< is_convertible<__copy_cvref_t<_Pair, _Up1>, _Tp1>, is_convertible<__copy_cvref_t<_Pair, _Up2>, _Tp2> > {}; template <class _Up1, class _Up2, template <class...> class _And = _And, __enable_if_t< _And< _EnableCtorFromPair<const pair<_Up1, _Up2>&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit( _Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value) tuple(const pair<_Up1, _Up2>& __p) noexcept((_NothrowConstructibleFromPair<const pair<_Up1, _Up2>&>::value)) : __base_(__p) {} template <class _Alloc, class _Up1, class _Up2, template <class...> class _And = _And, __enable_if_t< _And< _EnableCtorFromPair<const pair<_Up1, _Up2>&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit( _Not<_BothImplicitlyConvertible<const pair<_Up1, _Up2>&> >::value) tuple(allocator_arg_t, const _Alloc& __a, const pair<_Up1, _Up2>& __p) : __base_(allocator_arg_t(), __a, __p) {} # 802 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <class _Up1, class _Up2, template <class...> class _And = _And, __enable_if_t< _And< _EnableCtorFromPair<pair<_Up1, _Up2>&&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit( _Not<_BothImplicitlyConvertible<pair<_Up1, _Up2>&&> >::value) tuple(pair<_Up1, _Up2>&& __p) noexcept((_NothrowConstructibleFromPair<pair<_Up1, _Up2>&&>::value)) : __base_(std::move(__p)) {} template <class _Alloc, class _Up1, class _Up2, template <class...> class _And = _And, __enable_if_t< _And< _EnableCtorFromPair<pair<_Up1, _Up2>&&> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit( _Not<_BothImplicitlyConvertible<pair<_Up1, _Up2>&&> >::value) tuple(allocator_arg_t, const _Alloc& __a, pair<_Up1, _Up2>&& __p) : __base_(allocator_arg_t(), __a, std::move(__p)) {} # 838 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 #pragma clang diagnostic pop __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(_If<_And<is_copy_assignable<_Tp>...>::value, tuple, __nat> const& __tuple) noexcept((_And<is_nothrow_copy_assignable<_Tp>...>::value)) { std::__memberwise_copy_assign(*this, __tuple, typename __make_tuple_indices<sizeof...(_Tp)>::type()); return *this; } # 865 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(_If<_And<is_move_assignable<_Tp>...>::value, tuple, __nat>&& __tuple) noexcept((_And<is_nothrow_move_assignable<_Tp>...>::value)) { std::__memberwise_forward_assign( *this, std::move(__tuple), __tuple_types<_Tp...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type()); return *this; } template < class... _Up, __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) == sizeof...(_Up)>, is_assignable<_Tp&, _Up const&>... >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(tuple<_Up...> const& __tuple) noexcept((_And<is_nothrow_assignable<_Tp&, _Up const&>...>::value)) { std::__memberwise_copy_assign(*this, __tuple, typename __make_tuple_indices<sizeof...(_Tp)>::type()); return *this; } template <class... _Up, __enable_if_t< _And< _BoolConstant<sizeof...(_Tp) == sizeof...(_Up)>, is_assignable<_Tp&, _Up>... >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(tuple<_Up...>&& __tuple) noexcept((_And<is_nothrow_assignable<_Tp&, _Up>...>::value)) { std::__memberwise_forward_assign( *this, std::move(__tuple), __tuple_types<_Up...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type()); return *this; } # 912 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <template <class...> class _Pred, bool _Const, class _Pair, class _DecayedPair = __remove_cvref_t<_Pair>, class _Tuple = tuple> struct _AssignPredicateFromPair : false_type {}; template <template <class...> class _Pred, bool _Const, class _Pair, class _Up1, class _Up2, class _Tp1, class _Tp2> struct _AssignPredicateFromPair<_Pred, _Const, _Pair, pair<_Up1, _Up2>, tuple<_Tp1, _Tp2> > : _And<_Pred<__maybe_const<_Const, _Tp1>&, __copy_cvref_t<_Pair, _Up1> >, _Pred<__maybe_const<_Const, _Tp2>&, __copy_cvref_t<_Pair, _Up2> > > {}; template <bool _Const, class _Pair> struct _EnableAssignFromPair : _AssignPredicateFromPair<is_assignable, _Const, _Pair> {}; template <bool _Const, class _Pair> struct _NothrowAssignFromPair : _AssignPredicateFromPair<is_nothrow_assignable, _Const, _Pair> {}; # 948 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <class _Up1, class _Up2, __enable_if_t< _EnableAssignFromPair<false, pair<_Up1, _Up2> const&>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(pair<_Up1, _Up2> const& __pair) noexcept((_NothrowAssignFromPair<false, pair<_Up1, _Up2> const&>::value)) { std::get<0>(*this) = __pair.first; std::get<1>(*this) = __pair.second; return *this; } template <class _Up1, class _Up2, __enable_if_t< _EnableAssignFromPair<false, pair<_Up1, _Up2>&&>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(pair<_Up1, _Up2>&& __pair) noexcept((_NothrowAssignFromPair<false, pair<_Up1, _Up2>&&>::value)) { std::get<0>(*this) = std::forward<_Up1>(__pair.first); std::get<1>(*this) = std::forward<_Up2>(__pair.second); return *this; } template < class _Up, size_t _Np, class = __enable_if_t< _And< _BoolConstant<_Np == sizeof...(_Tp)>, is_assignable<_Tp&, _Up const&>... >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(array<_Up, _Np> const& __array) noexcept((_And<is_nothrow_assignable<_Tp&, _Up const&>...>::value)) { std::__memberwise_copy_assign(*this, __array, typename __make_tuple_indices<sizeof...(_Tp)>::type()); return *this; } template <class _Up, size_t _Np, class = void, class = __enable_if_t< _And< _BoolConstant<_Np == sizeof...(_Tp)>, is_assignable<_Tp&, _Up>... >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple& operator=(array<_Up, _Np>&& __array) noexcept((_And<is_nothrow_assignable<_Tp&, _Up>...>::value)) { std::__memberwise_forward_assign( *this, std::move(__array), __tuple_types<_If<true, _Up, _Tp>...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type()); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(tuple& __t) noexcept(__all<__is_nothrow_swappable<_Tp>::value...>::value) { __base_.swap(__t.__base_); } }; template <> class tuple<> { public: constexpr tuple() noexcept = default; template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple(allocator_arg_t, const _Alloc&) noexcept {} template <class _Alloc> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept {} template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple(array<_Up, 0>) noexcept {} template <class _Alloc, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(tuple&) noexcept {} }; # 1039 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <class... _Tp> tuple(_Tp...) -> tuple<_Tp...>; template <class _Tp1, class _Tp2> tuple(pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>; template <class _Alloc, class... _Tp> tuple(allocator_arg_t, _Alloc, _Tp...) -> tuple<_Tp...>; template <class _Alloc, class _Tp1, class _Tp2> tuple(allocator_arg_t, _Alloc, pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>; template <class _Alloc, class... _Tp> tuple(allocator_arg_t, _Alloc, tuple<_Tp...>) -> tuple<_Tp...>; template <class... _Tp, __enable_if_t<__all<__is_swappable<_Tp>::value...>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u) noexcept(__all<__is_nothrow_swappable<_Tp>::value...>::value) { __t.swap(__u); } # 1068 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <size_t _Ip, class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type& get(tuple<_Tp...>& __t) noexcept { typedef __attribute__((__nodebug__)) typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast<__tuple_leaf<_Ip, type>&>(__t.__base_).get(); } template <size_t _Ip, class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type& get(const tuple<_Tp...>& __t) noexcept { typedef __attribute__((__nodebug__)) typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast<const __tuple_leaf<_Ip, type>&>(__t.__base_).get(); } template <size_t _Ip, class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(tuple<_Tp...>&& __t) noexcept { typedef __attribute__((__nodebug__)) typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast<type&&>(static_cast<__tuple_leaf<_Ip, type>&&>(__t.__base_).get()); } template <size_t _Ip, class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(const tuple<_Tp...>&& __t) noexcept { typedef __attribute__((__nodebug__)) typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast<const type&&>(static_cast<const __tuple_leaf<_Ip, type>&&>(__t.__base_).get()); } namespace __find_detail { static constexpr size_t __not_found = static_cast<size_t>(-1); static constexpr size_t __ambiguous = __not_found - 1; inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t __find_idx_return(size_t __curr_i, size_t __res, bool __matches) { return !__matches ? __res : (__res == __not_found ? __curr_i : __ambiguous); } template <size_t _Nx> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t __find_idx(size_t __i, const bool (&__matches)[_Nx]) { return __i == _Nx ? __not_found : __find_detail::__find_idx_return(__i, __find_detail::__find_idx(__i + 1, __matches), __matches[__i]); } template <class _T1, class... _Args> struct __find_exactly_one_checked { static constexpr bool __matches[sizeof...(_Args)] = {is_same<_T1, _Args>::value...}; static constexpr size_t value = __find_detail::__find_idx(0, __matches); static_assert(value != __not_found, "type not found in type list"); static_assert(value != __ambiguous, "type occurs more than once in type list"); }; template <class _T1> struct __find_exactly_one_checked<_T1> { static_assert(!is_same<_T1, _T1>::value, "type not in empty type list"); }; } template <typename _T1, typename... _Args> struct __find_exactly_one_t : public __find_detail::__find_exactly_one_checked<_T1, _Args...> {}; template <class _T1, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1& get(tuple<_Args...>& __tup) noexcept { return std::get<__find_exactly_one_t<_T1, _Args...>::value>(__tup); } template <class _T1, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1 const& get(tuple<_Args...> const& __tup) noexcept { return std::get<__find_exactly_one_t<_T1, _Args...>::value>(__tup); } template <class _T1, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept { return std::get<__find_exactly_one_t<_T1, _Args...>::value>(std::move(__tup)); } template <class _T1, class... _Args> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _T1 const&& get(tuple<_Args...> const&& __tup) noexcept { return std::get<__find_exactly_one_t<_T1, _Args...>::value>(std::move(__tup)); } template <class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr tuple<_Tp&...> tie(_Tp&... __t) noexcept { return tuple<_Tp&...>(__t...); } template <class _Up> struct __ignore_t { template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const __ignore_t& operator=(_Tp&&) const { return *this; } }; inline constexpr __ignore_t<unsigned char> ignore = __ignore_t<unsigned char>(); template <class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr tuple<typename __unwrap_ref_decay<_Tp>::type...> make_tuple(_Tp&&... __t) { return tuple<typename __unwrap_ref_decay<_Tp>::type...>(std::forward<_Tp>(__t)...); } template <class... _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr tuple<_Tp&&...> forward_as_tuple(_Tp&&... __t) noexcept { return tuple<_Tp&&...>(std::forward<_Tp>(__t)...); } template <size_t _Ip> struct __tuple_equal { template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _Tp& __x, const _Up& __y) { return __tuple_equal<_Ip - 1>()(__x, __y) && std::get<_Ip - 1>(__x) == std::get<_Ip - 1>(__y); } }; template <> struct __tuple_equal<0> { template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _Tp&, const _Up&) { return true; } }; template <class... _Tp, class... _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { static_assert(sizeof...(_Tp) == sizeof...(_Up), "Can't compare tuples of different sizes"); return __tuple_equal<sizeof...(_Tp)>()(__x, __y); } # 1233 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 template <class... _Tp, class... _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return !(__x == __y); } template <size_t _Ip> struct __tuple_less { template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _Tp& __x, const _Up& __y) { const size_t __idx = tuple_size<_Tp>::value - _Ip; if (std::get<__idx>(__x) < std::get<__idx>(__y)) return true; if (std::get<__idx>(__y) < std::get<__idx>(__x)) return false; return __tuple_less<_Ip - 1>()(__x, __y); } }; template <> struct __tuple_less<0> { template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _Tp&, const _Up&) { return false; } }; template <class... _Tp, class... _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { static_assert(sizeof...(_Tp) == sizeof...(_Up), "Can't compare tuples of different sizes"); return __tuple_less<sizeof...(_Tp)>()(__x, __y); } template <class... _Tp, class... _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return __y < __x; } template <class... _Tp, class... _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return !(__x < __y); } template <class... _Tp, class... _Up> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return !(__y < __x); } template <class _Tp, class _Up> struct __tuple_cat_type; template <class... _Ttypes, class... _Utypes> struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...> > { typedef __attribute__((__nodebug__)) tuple<_Ttypes..., _Utypes...> type; }; template <class _ResultTuple, bool _Is_Tuple0TupleLike, class... _Tuples> struct __tuple_cat_return_1 {}; template <class... _Types, class _Tuple0> struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0> { using type __attribute__((__nodebug__)) = typename __tuple_cat_type< tuple<_Types...>, typename __make_tuple_types<__remove_cvref_t<_Tuple0> >::type >::type; }; template <class... _Types, class _Tuple0, class _Tuple1, class... _Tuples> struct __tuple_cat_return_1<tuple<_Types...>, true, _Tuple0, _Tuple1, _Tuples...> : public __tuple_cat_return_1< typename __tuple_cat_type< tuple<_Types...>, typename __make_tuple_types<__remove_cvref_t<_Tuple0> >::type >::type, __tuple_like_ext<__libcpp_remove_reference_t<_Tuple1> >::value, _Tuple1, _Tuples...> {}; template <class... _Tuples> struct __tuple_cat_return; template <class _Tuple0, class... _Tuples> struct __tuple_cat_return<_Tuple0, _Tuples...> : public __tuple_cat_return_1<tuple<>, __tuple_like_ext<__libcpp_remove_reference_t<_Tuple0> >::value, _Tuple0, _Tuples...> {}; template <> struct __tuple_cat_return<> { typedef __attribute__((__nodebug__)) tuple<> type; }; inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr tuple<> tuple_cat() { return tuple<>(); } template <class _Rp, class _Indices, class _Tuple0, class... _Tuples> struct __tuple_cat_return_ref_imp; template <class... _Types, size_t... _I0, class _Tuple0> struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0> { typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tuple0> _T0; typedef tuple<_Types..., __apply_cv_t<_Tuple0, typename tuple_element<_I0, _T0>::type>&&...> type; }; template <class... _Types, size_t... _I0, class _Tuple0, class _Tuple1, class... _Tuples> struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0, _Tuple1, _Tuples...> : public __tuple_cat_return_ref_imp< tuple<_Types..., __apply_cv_t<_Tuple0, typename tuple_element<_I0, __libcpp_remove_reference_t<_Tuple0>>::type>&&...>, typename __make_tuple_indices<tuple_size<__libcpp_remove_reference_t<_Tuple1> >::value>::type, _Tuple1, _Tuples...> {}; template <class _Tuple0, class... _Tuples> struct __tuple_cat_return_ref : public __tuple_cat_return_ref_imp< tuple<>, typename __make_tuple_indices< tuple_size<__libcpp_remove_reference_t<_Tuple0> >::value >::type, _Tuple0, _Tuples...> {}; template <class _Types, class _I0, class _J0> struct __tuple_cat; template <class... _Types, size_t... _I0, size_t... _J0> struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J0...> > { template <class _Tuple0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&>::type operator()(tuple<_Types...> __t, _Tuple0&& __t0) { (void)__t; return std::forward_as_tuple( std::forward<_Types>(std::get<_I0>(__t))..., std::get<_J0>(std::forward<_Tuple0>(__t0))...); } template <class _Tuple0, class _Tuple1, class... _Tuples> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&&... __tpls) { (void)__t; typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tuple0> _T0; typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tuple1> _T1; return __tuple_cat<tuple<_Types..., __apply_cv_t<_Tuple0, typename tuple_element<_J0, _T0>::type>&&...>, typename __make_tuple_indices<sizeof...(_Types) + tuple_size<_T0>::value>::type, typename __make_tuple_indices<tuple_size<_T1>::value>::type>()( std::forward_as_tuple( std::forward<_Types>(std::get<_I0>(__t))..., std::get<_J0>(std::forward<_Tuple0>(__t0))...), std::forward<_Tuple1>(__t1), std::forward<_Tuples>(__tpls)...); } }; template <class _Tuple0, class... _Tuples> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename __tuple_cat_return<_Tuple0, _Tuples...>::type tuple_cat(_Tuple0&& __t0, _Tuples&&... __tpls) { typedef __attribute__((__nodebug__)) __libcpp_remove_reference_t<_Tuple0> _T0; return __tuple_cat<tuple<>, __tuple_indices<>, typename __make_tuple_indices<tuple_size<_T0>::value>::type>()( tuple<>(), std::forward<_Tuple0>(__t0), std::forward<_Tuples>(__tpls)...); } template <class... _Tp, class _Alloc> struct uses_allocator<tuple<_Tp...>, _Alloc> : true_type {}; template <class _T1, class _T2> template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_T1, _T2>::pair( piecewise_construct_t, tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args, __tuple_indices<_I1...>, __tuple_indices<_I2...>) : first(std::forward<_Args1>(std::get<_I1>(__first_args))...), second(std::forward<_Args2>(std::get<_I2>(__second_args))...) {} template <class _Tp> inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value; template <class _Fn, class _Tuple, size_t... _Id> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(auto) __apply_tuple_impl(_Fn&& __f, _Tuple&& __t, __tuple_indices<_Id...>) noexcept(noexcept(std::__invoke(std::forward<_Fn>(__f), std::get<_Id>(std::forward<_Tuple>(__t))...))) { return std::__invoke(std::forward<_Fn>(__f), std::get<_Id>(std::forward<_Tuple>(__t))...); } template <class _Fn, class _Tuple> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(auto) apply(_Fn&& __f, _Tuple&& __t) noexcept(noexcept(std::__apply_tuple_impl(std::forward<_Fn>(__f), std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}))) { return std::__apply_tuple_impl(std::forward<_Fn>(__f), std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}); } template <class _Tp, class _Tuple, size_t... _Idx> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __make_from_tuple_impl(_Tuple&& __t, __tuple_indices<_Idx...>) noexcept(noexcept(_Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...))) { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); } template <class _Tp, class _Tuple> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp make_from_tuple(_Tuple&& __t) noexcept(noexcept(std::__make_from_tuple_impl<_Tp>( std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}))) { return std::__make_from_tuple_impl<_Tp>( std::forward<_Tuple>(__t), typename __make_tuple_indices<tuple_size_v<remove_reference_t<_Tuple>>>::type{}); } # 1446 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 3 }} # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 1 3 # 111 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/fstream.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/fstream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT, class _Traits = char_traits<_CharT> > class basic_filebuf; template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ifstream; template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ofstream; template <class _CharT, class _Traits = char_traits<_CharT> > class basic_fstream; using filebuf = basic_filebuf<char>; using ifstream = basic_ifstream<char>; using ofstream = basic_ofstream<char>; using fstream = basic_fstream<char>; using wfilebuf = basic_filebuf<wchar_t>; using wifstream = basic_ifstream<wchar_t>; using wofstream = basic_ofstream<wchar_t>; using wfstream = basic_fstream<wchar_t>; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(filebuf))) __attribute__((__preferred_name__(wfilebuf))) basic_filebuf; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(ifstream))) __attribute__((__preferred_name__(wifstream))) basic_ifstream; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(ofstream))) __attribute__((__preferred_name__(wofstream))) basic_ofstream; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(fstream))) __attribute__((__preferred_name__(wfstream))) basic_fstream; }} # 112 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/ios.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/ios.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ios; using ios = basic_ios<char>; using wios = basic_ios<wchar_t>; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(ios))) __attribute__((__preferred_name__(wios))) basic_ios; using streamoff = long long; }} # 113 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/istream.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/istream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT, class _Traits = char_traits<_CharT> > class basic_istream; template <class _CharT, class _Traits = char_traits<_CharT> > class basic_iostream; using istream = basic_istream<char>; using iostream = basic_iostream<char>; using wistream = basic_istream<wchar_t>; using wiostream = basic_iostream<wchar_t>; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(istream))) __attribute__((__preferred_name__(wistream))) basic_istream; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(iostream))) __attribute__((__preferred_name__(wiostream))) basic_iostream; }} # 114 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/sstream.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/sstream.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > class basic_stringbuf; template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > class basic_istringstream; template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > class basic_ostringstream; template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > class basic_stringstream; using stringbuf = basic_stringbuf<char>; using istringstream = basic_istringstream<char>; using ostringstream = basic_ostringstream<char>; using stringstream = basic_stringstream<char>; using wstringbuf = basic_stringbuf<wchar_t>; using wistringstream = basic_istringstream<wchar_t>; using wostringstream = basic_ostringstream<wchar_t>; using wstringstream = basic_stringstream<wchar_t>; template <class _CharT, class _Traits, class _Allocator> class __attribute__((__preferred_name__(stringbuf))) __attribute__((__preferred_name__(wstringbuf))) basic_stringbuf; template <class _CharT, class _Traits, class _Allocator> class __attribute__((__preferred_name__(istringstream))) __attribute__((__preferred_name__(wistringstream))) basic_istringstream; template <class _CharT, class _Traits, class _Allocator> class __attribute__((__preferred_name__(ostringstream))) __attribute__((__preferred_name__(wostringstream))) basic_ostringstream; template <class _CharT, class _Traits, class _Allocator> class __attribute__((__preferred_name__(stringstream))) __attribute__((__preferred_name__(wstringstream))) basic_stringstream; }} # 116 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/streambuf.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/streambuf.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _CharT, class _Traits = char_traits<_CharT> > class basic_streambuf; using streambuf = basic_streambuf<char>; using wstreambuf = basic_streambuf<wchar_t>; template <class _CharT, class _Traits> class __attribute__((__preferred_name__(streambuf))) __attribute__((__preferred_name__(wstreambuf))) basic_streambuf; }} # 117 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__std_mbstate_t.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__std_mbstate_t.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__mbstate_t.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__mbstate_t.h" 3 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__mbstate_t.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdio.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/r27/lib/clang/18/include/stdarg.h" 1 3 4 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 1 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/time.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/time.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/time.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/timespec.h" 1 3 4 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/timespec.h" 3 4 struct timespec { time_t tv_sec; long tv_nsec; }; # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/time.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/time_types.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/time.h" 1 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/time_types.h" 2 3 4 struct __kernel_timespec { __kernel_time64_t tv_sec; long long tv_nsec; }; struct __kernel_itimerspec { struct __kernel_timespec it_interval; struct __kernel_timespec it_value; }; struct __kernel_old_timespec { __kernel_old_time_t tv_sec; long tv_nsec; }; struct __kernel_sock_timeval { __s64 tv_sec; __s64 tv_usec; }; # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/time.h" 2 3 4 struct timeval { __kernel_old_time_t tv_sec; __kernel_suseconds_t tv_usec; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; struct timezone { int tz_minuteswest; int tz_dsttime; }; # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/time.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 1 3 4 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 1 3 4 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/sigcontext.h" 1 3 4 struct sigcontext { unsigned long trap_no; unsigned long error_code; unsigned long oldmask; unsigned long arm_r0; unsigned long arm_r1; unsigned long arm_r2; unsigned long arm_r3; unsigned long arm_r4; unsigned long arm_r5; unsigned long arm_r6; unsigned long arm_r7; unsigned long arm_r8; unsigned long arm_r9; unsigned long arm_r10; unsigned long arm_fp; unsigned long arm_ip; unsigned long arm_sp; unsigned long arm_lr; unsigned long arm_pc; unsigned long arm_cpsr; unsigned long fault_address; }; # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/signal_types.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/signal_types.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/signal.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/signal.h" 1 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/signal.h" 3 4 struct siginfo; typedef unsigned long sigset_t; # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/signal.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/signal-defs.h" 1 3 4 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/signal-defs.h" 3 4 typedef void __signalfn_t(int); typedef __signalfn_t * __sighandler_t; typedef void __restorefn_t(void); typedef __restorefn_t * __sigrestore_t; # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/signal.h" 2 3 4 struct __kernel_sigaction { union { __sighandler_t _sa_handler; void(* _sa_sigaction) (int, struct siginfo *, void *); } _u; sigset_t sa_mask; unsigned long sa_flags; void(* sa_restorer) (void); }; typedef struct sigaltstack { void * ss_sp; int ss_flags; __kernel_size_t ss_size; } stack_t; # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/signal.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/siginfo.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/siginfo.h" 1 3 4 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/siginfo.h" 3 4 typedef union sigval { int sival_int; void * sival_ptr; } sigval_t; # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/siginfo.h" 3 4 union __sifields { struct { __kernel_pid_t _pid; __kernel_uid32_t _uid; } _kill; struct { __kernel_timer_t _tid; int _overrun; sigval_t _sigval; int _sys_private; } _timer; struct { __kernel_pid_t _pid; __kernel_uid32_t _uid; sigval_t _sigval; } _rt; struct { __kernel_pid_t _pid; __kernel_uid32_t _uid; int _status; __kernel_clock_t _utime; __kernel_clock_t _stime; } _sigchld; struct { void * _addr; union { int _trapno; short _addr_lsb; struct { char _dummy_bnd[(__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))]; void * _lower; void * _upper; } _addr_bnd; struct { char _dummy_pkey[(__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))]; __u32 _pkey; } _addr_pkey; struct { unsigned long _data; __u32 _type; __u32 _flags; } _perf; }; } _sigfault; struct { long _band; int _fd; } _sigpoll; struct { void * _call_addr; int _syscall; unsigned int _arch; } _sigsys; }; typedef struct siginfo { union { struct { int si_signo; int si_errno; int si_code; union __sifields _sifields; }; int _si_pad[128 / sizeof(int)]; }; } siginfo_t; # 215 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 - (sizeof(int) * 2 + sizeof(sigval_t))) / sizeof(int))]; int _tid; struct { void(* _function) (sigval_t); void * _attribute; } _sigev_thread; } _sigev_un; } sigevent_t; # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/siginfo.h" 2 3 4 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/signal.h" 2 3 4 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/signal_types.h" 2 3 4 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/signal_types.h" 3 4 typedef int sig_atomic_t; typedef __sighandler_t sig_t; typedef __sighandler_t sighandler_t; typedef struct { unsigned long __bits[64/(8*sizeof(long))]; } sigset64_t; # 92 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/signal_types.h" 3 4 struct sigaction { union { sighandler_t sa_handler; void (*sa_sigaction)(int, struct siginfo*, void*); }; sigset_t sa_mask; int sa_flags; void (*sa_restorer)(void); }; struct sigaction64 { union { sighandler_t sa_handler; void (*sa_sigaction)(int, struct siginfo*, void*); }; int sa_flags; void (*sa_restorer)(void); sigset64_t sa_mask; }; # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/ucontext.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/ucontext.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/ucontext.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/user.h" 1 3 4 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/user.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/user.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/page_size.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/page_size.h" 3 4 extern "C" { # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/page_size.h" 3 4 } # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/user.h" 2 3 4 extern "C" { # 175 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/user.h" 3 4 struct user_fpregs { struct fp_reg { unsigned int sign1:1; unsigned int unused:15; unsigned int sign2:1; unsigned int exponent:14; unsigned int j:1; unsigned int mantissa1:31; unsigned int mantissa0:32; } fpregs[8]; unsigned int fpsr:32; unsigned int fpcr:32; unsigned char ftype[8]; unsigned int init_flag; }; struct user_regs { unsigned long uregs[18]; }; struct user_vfp { unsigned long long fpregs[32]; unsigned long fpscr; }; struct user_vfp_exc { unsigned long fpexc; unsigned long fpinst; unsigned long fpinst2; }; struct user { struct user_regs regs; int u_fpvalid; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; unsigned long start_code; unsigned long start_stack; long int signal; int reserved; struct user_regs* u_ar0; unsigned long magic; char u_comm[32]; int u_debugreg[8]; struct user_fpregs u_fp; struct user_fpregs* u_fp0; }; # 245 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/user.h" 3 4 } # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/ucontext.h" 2 3 4 extern "C" { enum { REG_R0 = 0, REG_R1, REG_R2, REG_R3, REG_R4, REG_R5, REG_R6, REG_R7, REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15, }; typedef int greg_t; typedef greg_t gregset_t[18]; typedef struct user_fpregs fpregset_t; typedef struct sigcontext mcontext_t; typedef struct ucontext { unsigned long uc_flags; struct ucontext* uc_link; stack_t uc_stack; mcontext_t uc_mcontext; union { struct { sigset_t uc_sigmask; uint32_t __padding_rt_sigset; }; sigset64_t uc_sigmask64; }; char __padding[120]; unsigned long uc_regspace[128] __attribute__((__aligned__(8))); } ucontext_t; # 392 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/ucontext.h" 3 4 } # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 2 3 4 extern "C" { # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 3 4 int __libc_current_sigrtmin(void); int __libc_current_sigrtmax(void); extern const char* _Nonnull const sys_siglist[(64 + 1)]; extern const char* _Nonnull const sys_signame[(64 + 1)]; int sigaction(int __signal, const struct sigaction* _Nullable __new_action, struct sigaction* _Nullable __old_action); int siginterrupt(int __signal, int __flag); sighandler_t _Nonnull signal(int __signal, sighandler_t _Nullable __handler); int sigaddset(sigset_t* _Nonnull __set, int __signal); int sigdelset(sigset_t* _Nonnull __set, int __signal); int sigemptyset(sigset_t* _Nonnull __set); int sigfillset(sigset_t* _Nonnull __set); int sigismember(const sigset_t* _Nonnull __set, int __signal); int sigpending(sigset_t* _Nonnull __set); int sigprocmask(int __how, const sigset_t* _Nullable __new_set, sigset_t* _Nullable __old_set); int sigsuspend(const sigset_t* _Nonnull __mask); int sigwait(const sigset_t* _Nonnull __set, int* _Nonnull __signal); # 145 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 3 4 int raise(int __signal); int kill(pid_t __pid, int __signal); int killpg(int __pgrp, int __signal); int tgkill(int __tgid, int __tid, int __signal); int sigaltstack(const stack_t* _Nullable __new_signal_stack, stack_t* _Nullable __old_signal_stack); void psiginfo(const siginfo_t* _Nonnull __info, const char* _Nullable __msg); void psignal(int __signal, const char* _Nullable __msg); int pthread_kill(pthread_t __pthread, int __signal); # 164 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 3 4 int pthread_sigmask(int __how, const sigset_t* _Nullable __new_set, sigset_t* _Nullable __old_set); # 193 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/signal.h" 3 4 } # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 2 3 4 extern "C" { typedef unsigned long fd_mask; # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 3 4 typedef struct { fd_mask fds_bits[1024/(8 * sizeof(fd_mask))]; } fd_set; # 74 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 3 4 void __FD_CLR_chk(int, fd_set* _Nonnull , size_t); void __FD_SET_chk(int, fd_set* _Nonnull, size_t); int __FD_ISSET_chk(int, const fd_set* _Nonnull, size_t); # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 3 4 int select(int __max_fd_plus_one, fd_set* _Nullable __read_fds, fd_set* _Nullable __write_fds, fd_set* _Nullable __exception_fds, struct timeval* _Nullable __timeout); # 109 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 3 4 int pselect(int __max_fd_plus_one, fd_set* _Nullable __read_fds, fd_set* _Nullable __write_fds, fd_set* _Nullable __exception_fds, const struct timespec* _Nullable __timeout, const sigset_t* _Nullable __mask); # 128 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/select.h" 3 4 } # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/time.h" 2 3 4 extern "C" { int gettimeofday(struct timeval* _Nullable __tv, struct timezone* _Nullable __tz); int settimeofday(const struct timeval* _Nullable __tv, const struct timezone* _Nullable __tz); int getitimer(int __which, struct itimerval* _Nonnull __current_value); int setitimer(int __which, const struct itimerval* _Nonnull __new_value, struct itimerval* _Nullable __old_value); int utimes(const char* _Nonnull __path, const struct timeval __times[_Nullable 2]); # 119 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/time.h" 3 4 } # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 2 3 4 extern "C" { struct __timezone_t; # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 typedef struct __timezone_t* timezone_t; # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 extern char* _Nonnull tzname[]; extern int daylight; extern long int timezone; struct sigevent; struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; const char* _Nullable tm_zone; }; # 108 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 time_t time(time_t* _Nullable __t); # 118 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 int nanosleep(const struct timespec* _Nonnull __duration, struct timespec* _Nullable __remainder); # 130 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 char* _Nullable asctime(const struct tm* _Nonnull __tm); # 140 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 char* _Nullable asctime_r(const struct tm* _Nonnull __tm, char* _Nonnull __buf); double difftime(time_t __lhs, time_t __rhs); # 159 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 time_t mktime(struct tm* _Nonnull __tm); # 184 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 struct tm* _Nullable localtime(const time_t* _Nonnull __t); # 196 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 struct tm* _Nullable localtime_r(const time_t* _Nonnull __t, struct tm* _Nonnull __tm); # 216 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 time_t timelocal(struct tm* _Nonnull __tm); # 227 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 struct tm* _Nullable gmtime(const time_t* _Nonnull __t); # 238 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 struct tm* _Nullable gmtime_r(const time_t* _Nonnull __t, struct tm* _Nonnull __tm); time_t timegm(struct tm* _Nonnull __tm); char* _Nullable strptime(const char* _Nonnull __s, const char* _Nonnull __fmt, struct tm* _Nonnull __tm) __attribute__((__format__(strftime, 2, 0))); # 268 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 size_t strftime(char* _Nonnull __buf, size_t __n, const char* _Nonnull __fmt, const struct tm* _Nullable __tm) __attribute__((__format__(strftime, 3, 0))); size_t strftime_l(char* _Nonnull __buf, size_t __n, const char* _Nonnull __fmt, const struct tm* _Nullable __tm, locale_t _Nonnull __l) __attribute__((__format__(strftime, 3, 0))); # 285 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 char* _Nullable ctime(const time_t* _Nonnull __t); # 295 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 char* _Nullable ctime_r(const time_t* _Nonnull __t, char* _Nonnull __buf); # 309 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 void tzset(void); # 356 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 clock_t clock(void); # 376 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 int clock_getres(clockid_t __clock, struct timespec* _Nullable __resolution); int clock_gettime(clockid_t __clock, struct timespec* _Nonnull __ts); # 395 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 int clock_nanosleep(clockid_t __clock, int __flags, const struct timespec* _Nonnull __time, struct timespec* _Nullable __remainder); int clock_settime(clockid_t __clock, const struct timespec* _Nonnull __ts); int timer_create(clockid_t __clock, struct sigevent* _Nullable __event, timer_t _Nonnull * _Nonnull __timer_ptr); int timer_delete(timer_t _Nonnull __timer); int timer_settime(timer_t _Nonnull __timer, int __flags, const struct itimerspec* _Nonnull __new_value, struct itimerspec* _Nullable __old_value); int timer_gettime(timer_t _Nonnull _timer, struct itimerspec* _Nonnull __ts); # 444 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 int timer_getoverrun(timer_t _Nonnull __timer); # 502 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/time.h" 3 4 } # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/bionic_multibyte_result.h" 1 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/bionic_multibyte_result.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/bionic_multibyte_result.h" 2 3 4 extern "C" { enum : size_t { BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE = -1UL, BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE = -2UL, BIONIC_MULTIBYTE_RESULT_NO_BYTES_CONSUMED = -3UL, }; } # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/mbstate_t.h" 1 3 4 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/mbstate_t.h" 3 4 typedef struct { unsigned char __seq[4]; } mbstate_t; # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/wctype.h" 1 3 4 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/wctype.h" 3 4 extern "C" { typedef unsigned int wint_t; int iswalnum(wint_t __wc); int iswalpha(wint_t __wc); int iswblank(wint_t __wc); int iswcntrl(wint_t __wc); int iswdigit(wint_t __wc); int iswgraph(wint_t __wc); int iswlower(wint_t __wc); int iswprint(wint_t __wc); int iswpunct(wint_t __wc); int iswspace(wint_t __wc); int iswupper(wint_t __wc); int iswxdigit(wint_t __wc); wint_t towlower(wint_t __wc); wint_t towupper(wint_t __wc); typedef long wctype_t; wctype_t wctype(const char* _Nonnull __name); int iswctype(wint_t __wc, wctype_t __type); typedef const void* wctrans_t; wint_t towctrans(wint_t __wc, wctrans_t _Nonnull __transform) ; wctrans_t _Nullable wctrans(const char* _Nonnull __name) ; } # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wchar.h" 2 3 4 extern "C" { wint_t btowc(int __ch); int fwprintf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, ...); int fwscanf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, ...); wint_t fgetwc(FILE* _Nonnull __fp); wchar_t* _Nullable fgetws(wchar_t* _Nonnull __buf, int __size, FILE* _Nonnull __fp); wint_t fputwc(wchar_t __wc, FILE* _Nonnull __fp); int fputws(const wchar_t* _Nonnull __s, FILE* _Nonnull __fp); int fwide(FILE* _Nonnull __fp, int __mode); wint_t getwc(FILE* _Nonnull __fp); wint_t getwchar(void); int mbsinit(const mbstate_t* _Nullable __ps); size_t mbrlen(const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps); size_t mbrtowc(wchar_t* _Nullable __buf, const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps); size_t mbsrtowcs(wchar_t* _Nullable __dst, const char* _Nullable * _Nonnull __src, size_t __dst_n, mbstate_t* _Nullable __ps); size_t mbsnrtowcs(wchar_t* _Nullable __dst, const char* _Nullable * _Nullable __src, size_t __src_n, size_t __dst_n, mbstate_t* _Nullable __ps); wint_t putwc(wchar_t __wc, FILE* _Nonnull __fp); wint_t putwchar(wchar_t __wc); int swprintf(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nonnull __fmt, ...); int swscanf(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __fmt, ...); wint_t ungetwc(wint_t __wc, FILE* _Nonnull __fp); int vfwprintf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, va_list __args); int vfwscanf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, va_list __args); int vswprintf(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nonnull __fmt, va_list __args); int vswscanf(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __fmt, va_list __args); int vwprintf(const wchar_t* _Nonnull __fmt, va_list __args); int vwscanf(const wchar_t* _Nonnull __fmt, va_list __args); wchar_t* _Nonnull wcpcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src); wchar_t* _Nonnull wcpncpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); size_t wcrtomb(char* _Nullable __buf, wchar_t __wc, mbstate_t* _Nullable __ps); int wcscasecmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs); wchar_t* _Nonnull wcscat(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src); wchar_t* _Nullable wcschr(const wchar_t * _Nonnull __s, wchar_t __wc); int wcscmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs); int wcscoll(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs); wchar_t* _Nonnull wcscpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src); size_t wcscspn(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __accept); size_t wcsftime(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nullable __fmt, const struct tm* _Nonnull __tm); size_t wcslen(const wchar_t* _Nonnull __s); int wcsncasecmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, size_t __n); wchar_t* _Nonnull wcsncat(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); int wcsncmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, size_t __n); wchar_t* _Nonnull wcsncpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); size_t wcsnrtombs(char* _Nullable __dst, const wchar_t* _Null_unspecified * _Nullable __src, size_t __src_n, size_t __dst_n, mbstate_t* _Nullable __ps); wchar_t* _Nullable wcspbrk(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __accept); wchar_t* _Nullable wcsrchr(const wchar_t* _Nonnull __s, wchar_t __wc); size_t wcsrtombs(char* _Nullable __dst, const wchar_t* _Null_unspecified * _Nullable __src, size_t __dst_n, mbstate_t* _Nullable __ps); size_t wcsspn(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __accept); wchar_t* _Nullable wcsstr(const wchar_t* _Nonnull __haystack, const wchar_t* _Nonnull __needle); double wcstod(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr); float wcstof(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr); wchar_t* _Nullable wcstok(wchar_t* _Nullable __s, const wchar_t* _Nonnull __delimiter, wchar_t* _Nonnull * _Nonnull __ptr); long wcstol(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr, int __base); long long wcstoll(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr, int __base); long double wcstold(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr); unsigned long wcstoul(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr, int __base); unsigned long long wcstoull(const wchar_t* _Nonnull __s, wchar_t* _Null_unspecified * _Nullable __end_ptr, int __base); int wcswidth(const wchar_t* _Nonnull __s, size_t __n); size_t wcsxfrm(wchar_t* _Null_unspecified __dst, const wchar_t* _Nonnull __src, size_t __n); int wctob(wint_t __wc); int wcwidth(wchar_t __wc); wchar_t* _Nullable wmemchr(const wchar_t* _Nonnull __src, wchar_t __wc, size_t __n); int wmemcmp(const wchar_t* _Nullable __lhs, const wchar_t* _Nullable __rhs, size_t __n); wchar_t* _Nonnull wmemcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); wchar_t* _Nonnull wmemmove(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); wchar_t* _Nonnull wmemset(wchar_t* _Nonnull __dst, wchar_t __wc, size_t __n); int wprintf(const wchar_t* _Nonnull __fmt, ...); int wscanf(const wchar_t* _Nonnull __fmt, ...); long long wcstoll_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l); unsigned long long wcstoull_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l); long double wcstold_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l); int wcscoll_l(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, locale_t _Nonnull __l) __attribute__((__pure__)); size_t wcsxfrm_l(wchar_t* _Null_unspecified __dst, const wchar_t* _Nonnull __src, size_t __n, locale_t _Nonnull __l); size_t wcslcat(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); size_t wcslcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n); wchar_t* _Nullable wcsdup(const wchar_t* _Nonnull __s); size_t wcsnlen(const wchar_t* _Nonnull __s, size_t __n); } # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__mbstate_t.h" 2 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__std_mbstate_t.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__std_mbstate_t.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::mbstate_t __attribute__((__using_if_exists__)); }} # 119 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 2 3 # 123 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { class __attribute__((__visibility__("default"))) ios_base; template <class _CharT, class _Traits = char_traits<_CharT> > class istreambuf_iterator; template <class _CharT, class _Traits = char_traits<_CharT> > class ostreambuf_iterator; template <class _State> class fpos; typedef fpos<mbstate_t> streampos; typedef fpos<mbstate_t> wstreampos; typedef fpos<mbstate_t> u16streampos; typedef fpos<mbstate_t> u32streampos; # 167 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iosfwd" 3 template <class _Tp, class _Alloc = allocator<_Tp> > class vector; template <class _CharT, class _Traits> class __save_flags { typedef basic_ios<_CharT, _Traits> __stream_type; typedef typename __stream_type::fmtflags fmtflags; __stream_type& __stream_; fmtflags __fmtflags_; _CharT __fill_; __save_flags(const __save_flags&); __save_flags& operator=(const __save_flags&); public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __save_flags(__stream_type& __stream) : __stream_(__stream), __fmtflags_(__stream.flags()), __fill_(__stream.fill()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~__save_flags() { __stream_.flags(__fmtflags_); __stream_.fill(__fill_); } }; }} # 1453 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 1 3 # 251 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/as_const.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/as_const.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_const_t<_Tp>& as_const(_Tp& __t) noexcept { return __t; } template <class _Tp> void as_const(const _Tp&&) = delete; }} # 252 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/as_lvalue.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/as_lvalue.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/as_lvalue.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp& __as_lvalue([[_Clang::__lifetimebound__]] _Tp&& __t) { return static_cast<_Tp&>(__t); } }} # 253 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/cmp.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/cmp.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/cmp.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 100 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/cmp.h" 3 }} # 255 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward_like.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward_like.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/forward_like.h" 3 }} # 260 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/in_place.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/in_place.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __attribute__((__visibility__("default"))) in_place_t { explicit in_place_t() = default; }; inline constexpr in_place_t in_place{}; template <class _Tp> struct in_place_type_t { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit in_place_type_t() = default; }; template <class _Tp> inline constexpr in_place_type_t<_Tp> in_place_type{}; template <size_t _Idx> struct in_place_index_t { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit in_place_index_t() = default; }; template <size_t _Idx> inline constexpr in_place_index_t<_Idx> in_place_index{}; template <class _Tp> struct __is_inplace_type_imp : false_type {}; template <class _Tp> struct __is_inplace_type_imp<in_place_type_t<_Tp>> : true_type {}; template <class _Tp> using __is_inplace_type = __is_inplace_type_imp<__remove_cvref_t<_Tp>>; template <class _Tp> struct __is_inplace_index_imp : false_type {}; template <size_t _Idx> struct __is_inplace_index_imp<in_place_index_t<_Idx>> : true_type {}; template <class _Tp> using __is_inplace_index = __is_inplace_index_imp<__remove_cvref_t<_Tp>>; }} # 261 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/rel_ops.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/rel_ops.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace rel_ops { template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const _Tp& __x, const _Tp& __y) { return !(__x == __y); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>(const _Tp& __x, const _Tp& __y) { return __y < __x; } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator<=(const _Tp& __x, const _Tp& __y) { return !(__y < __x); } template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator>=(const _Tp& __x, const _Tp& __y) { return !(__x < __y); } } }} # 267 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/to_underlying.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/to_underlying.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename underlying_type<_Tp>::type __to_underlying(_Tp __val) noexcept { return static_cast<typename underlying_type<_Tp>::type>(__val); } # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/to_underlying.h" 3 }} # 269 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 2 3 # 284 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/utility" 3 # 1457 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/tuple" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Type> inline constexpr bool __is_std_pair = false; template <class _Type1, class _Type2> inline constexpr bool __is_std_pair<pair<_Type1, _Type2>> = true; template <class _Tp> inline constexpr bool __is_cv_std_pair = __is_std_pair<remove_cv_t<_Tp>>; template <class _Type, class _Alloc, class... _Args, __enable_if_t<!__is_cv_std_pair<_Type>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc, _Args&&... __args) noexcept { if constexpr (!uses_allocator_v<remove_cv_t<_Type>, _Alloc> && is_constructible_v<_Type, _Args...>) { return std::forward_as_tuple(std::forward<_Args>(__args)...); } else if constexpr (uses_allocator_v<remove_cv_t<_Type>, _Alloc> && is_constructible_v<_Type, allocator_arg_t, const _Alloc&, _Args...>) { return tuple<allocator_arg_t, const _Alloc&, _Args&&...>(allocator_arg, __alloc, std::forward<_Args>(__args)...); } else if constexpr (uses_allocator_v<remove_cv_t<_Type>, _Alloc> && is_constructible_v<_Type, _Args..., const _Alloc&>) { return std::forward_as_tuple(std::forward<_Args>(__args)..., __alloc); } else { static_assert( sizeof(_Type) + 1 == 0, "If uses_allocator_v<Type> is true, the type has to be allocator-constructible"); } } template <class _Pair, class _Alloc, class _Tuple1, class _Tuple2, __enable_if_t<__is_cv_std_pair<_Pair>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args( const _Alloc& __alloc, piecewise_construct_t, _Tuple1&& __x, _Tuple2&& __y) noexcept { return std::make_tuple( piecewise_construct, std::apply( [&__alloc](auto&&... __args1) { return std::__uses_allocator_construction_args<typename _Pair::first_type>( __alloc, std::forward<decltype(__args1)>(__args1)...); }, std::forward<_Tuple1>(__x)), std::apply( [&__alloc](auto&&... __args2) { return std::__uses_allocator_construction_args<typename _Pair::second_type>( __alloc, std::forward<decltype(__args2)>(__args2)...); }, std::forward<_Tuple2>(__y))); } template <class _Pair, class _Alloc, __enable_if_t<__is_cv_std_pair<_Pair>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc) noexcept { return std::__uses_allocator_construction_args<_Pair>(__alloc, piecewise_construct, tuple<>{}, tuple<>{}); } template <class _Pair, class _Alloc, class _Up, class _Vp, __enable_if_t<__is_cv_std_pair<_Pair>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc, _Up&& __u, _Vp&& __v) noexcept { return std::__uses_allocator_construction_args<_Pair>( __alloc, piecewise_construct, std::forward_as_tuple(std::forward<_Up>(__u)), std::forward_as_tuple(std::forward<_Vp>(__v))); } # 103 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 3 template <class _Pair, class _Alloc, class _Up, class _Vp, __enable_if_t<__is_cv_std_pair<_Pair>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc, const pair<_Up, _Vp>& __pair) noexcept { return std::__uses_allocator_construction_args<_Pair>( __alloc, piecewise_construct, std::forward_as_tuple(__pair.first), std::forward_as_tuple(__pair.second)); } template <class _Pair, class _Alloc, class _Up, class _Vp, __enable_if_t<__is_cv_std_pair<_Pair>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc, pair<_Up, _Vp>&& __pair) noexcept { return std::__uses_allocator_construction_args<_Pair>( __alloc, piecewise_construct, std::forward_as_tuple(std::get<0>(std::move(__pair))), std::forward_as_tuple(std::get<1>(std::move(__pair)))); } # 146 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 3 namespace __uses_allocator_detail { template <class _Ap, class _Bp> void __fun(const pair<_Ap, _Bp>&); template <class _Tp> decltype(__uses_allocator_detail::__fun(std::declval<_Tp>()), true_type()) __convertible_to_const_pair_ref_impl(int); template <class> false_type __convertible_to_const_pair_ref_impl(...); template <class _Tp> inline constexpr bool __convertible_to_const_pair_ref = decltype(__uses_allocator_detail::__convertible_to_const_pair_ref_impl<_Tp>(0))::value; # 168 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 3 template <class _Tp, class _Up> inline constexpr bool __uses_allocator_constraints = __is_cv_std_pair<_Tp> && !__convertible_to_const_pair_ref<_Up>; } template < class _Pair, class _Alloc, class _Type, __enable_if_t<__uses_allocator_detail::__uses_allocator_constraints<_Pair, _Type>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc, _Type&& __value) noexcept; template <class _Type, class _Alloc, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Type __make_obj_using_allocator(const _Alloc& __alloc, _Args&&... __args); template < class _Pair, class _Alloc, class _Type, __enable_if_t< __uses_allocator_detail::__uses_allocator_constraints<_Pair, _Type>, int>> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __uses_allocator_construction_args(const _Alloc& __alloc, _Type&& __value) noexcept { struct __pair_constructor { using _PairMutable = remove_cv_t<_Pair>; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __do_construct(const _PairMutable& __pair) const { return std::__make_obj_using_allocator<_PairMutable>(__alloc_, __pair); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto __do_construct(_PairMutable&& __pair) const { return std::__make_obj_using_allocator<_PairMutable>(__alloc_, std::move(__pair)); } const _Alloc& __alloc_; _Type& __value_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr operator _PairMutable() const { return __do_construct(std::forward<_Type>(this->__value_)); } }; return std::make_tuple(__pair_constructor{__alloc, __value}); } template <class _Type, class _Alloc, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Type __make_obj_using_allocator(const _Alloc& __alloc, _Args&&... __args) { return std::make_from_tuple<_Type>( std::__uses_allocator_construction_args<_Type>(__alloc, std::forward<_Args>(__args)...)); } template <class _Type, class _Alloc, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Type* __uninitialized_construct_using_allocator(_Type* __ptr, const _Alloc& __alloc, _Args&&... __args) { return std::apply( [&__ptr](auto&&... __xs) { return std::__construct_at(__ptr, std::forward<decltype(__xs)>(__xs)...); }, std::__uses_allocator_construction_args<_Type>(__alloc, std::forward<_Args>(__args)...)); } # 251 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/uses_allocator_construction.h" 3 }} # 945 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 954 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 1 3 # 591 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/aliases.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/aliases.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_base.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_base.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/contention_t.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/contention_t.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/cxx_atomic_impl.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/cxx_atomic_impl.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/is_always_lock_free.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/is_always_lock_free.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct __libcpp_is_always_lock_free { static const bool __value = __atomic_always_lock_free(sizeof(_Tp), 0); }; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/cxx_atomic_impl.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/cxx_atomic_impl.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 296 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/cxx_atomic_impl.h" 3 template <typename _Tp> struct __cxx_atomic_base_impl { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __cxx_atomic_base_impl() noexcept = default; constexpr explicit __cxx_atomic_base_impl(_Tp __value) noexcept : __a_value(__value) {} __extension__ _Atomic(_Tp) __a_value; }; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline void __cxx_atomic_thread_fence(memory_order __order) noexcept { __c11_atomic_thread_fence(static_cast<__memory_order_underlying_t>(__order)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline void __cxx_atomic_signal_fence(memory_order __order) noexcept { __c11_atomic_signal_fence(static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __val) noexcept { __c11_atomic_init(std::addressof(__a->__a_value), __val); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val) noexcept { __c11_atomic_init(std::addressof(__a->__a_value), __val); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __val, memory_order __order) noexcept { __c11_atomic_store(std::addressof(__a->__a_value), __val, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val, memory_order __order) noexcept { __c11_atomic_store(std::addressof(__a->__a_value), __val, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_load(__cxx_atomic_base_impl<_Tp> const volatile* __a, memory_order __order) noexcept { using __ptr_type = __remove_const_t<decltype(__a->__a_value)>*; return __c11_atomic_load( const_cast<__ptr_type>(std::addressof(__a->__a_value)), static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_load(__cxx_atomic_base_impl<_Tp> const* __a, memory_order __order) noexcept { using __ptr_type = __remove_const_t<decltype(__a->__a_value)>*; return __c11_atomic_load( const_cast<__ptr_type>(std::addressof(__a->__a_value)), static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cxx_atomic_load_inplace(__cxx_atomic_base_impl<_Tp> const volatile* __a, _Tp* __dst, memory_order __order) noexcept { using __ptr_type = __remove_const_t<decltype(__a->__a_value)>*; *__dst = __c11_atomic_load( const_cast<__ptr_type>(std::addressof(__a->__a_value)), static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cxx_atomic_load_inplace(__cxx_atomic_base_impl<_Tp> const* __a, _Tp* __dst, memory_order __order) noexcept { using __ptr_type = __remove_const_t<decltype(__a->__a_value)>*; *__dst = __c11_atomic_load( const_cast<__ptr_type>(std::addressof(__a->__a_value)), static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __value, memory_order __order) noexcept { return __c11_atomic_exchange( std::addressof(__a->__a_value), __value, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp>* __a, _Tp __value, memory_order __order) noexcept { return __c11_atomic_exchange( std::addressof(__a->__a_value), __value, static_cast<__memory_order_underlying_t>(__order)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr memory_order __to_failure_order(memory_order __order) { return __order == memory_order_release ? memory_order_relaxed : (__order == memory_order_acq_rel ? memory_order_acquire : __order); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_atomic_compare_exchange_strong( __cxx_atomic_base_impl<_Tp> volatile* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept { return __c11_atomic_compare_exchange_strong( std::addressof(__a->__a_value), __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__to_failure_order(__failure))); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_atomic_compare_exchange_strong( __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept { return __c11_atomic_compare_exchange_strong( std::addressof(__a->__a_value), __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__to_failure_order(__failure))); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_atomic_compare_exchange_weak( __cxx_atomic_base_impl<_Tp> volatile* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept { return __c11_atomic_compare_exchange_weak( std::addressof(__a->__a_value), __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__to_failure_order(__failure))); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_atomic_compare_exchange_weak( __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept { return __c11_atomic_compare_exchange_weak( std::addressof(__a->__a_value), __expected, __value, static_cast<__memory_order_underlying_t>(__success), static_cast<__memory_order_underlying_t>(__to_failure_order(__failure))); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __delta, memory_order __order) noexcept { return __c11_atomic_fetch_add( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp>* __a, _Tp __delta, memory_order __order) noexcept { return __c11_atomic_fetch_add( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) noexcept { return __c11_atomic_fetch_add( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp*>* __a, ptrdiff_t __delta, memory_order __order) noexcept { return __c11_atomic_fetch_add( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __delta, memory_order __order) noexcept { return __c11_atomic_fetch_sub( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp>* __a, _Tp __delta, memory_order __order) noexcept { return __c11_atomic_fetch_sub( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) noexcept { return __c11_atomic_fetch_sub( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp*>* __a, ptrdiff_t __delta, memory_order __order) noexcept { return __c11_atomic_fetch_sub( std::addressof(__a->__a_value), __delta, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __pattern, memory_order __order) noexcept { return __c11_atomic_fetch_and( std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) noexcept { return __c11_atomic_fetch_and( std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __pattern, memory_order __order) noexcept { return __c11_atomic_fetch_or( std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) noexcept { return __c11_atomic_fetch_or( std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp> volatile* __a, _Tp __pattern, memory_order __order) noexcept { return __c11_atomic_fetch_xor( std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order)); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp __cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) noexcept { return __c11_atomic_fetch_xor( std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order)); } # 813 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/cxx_atomic_impl.h" 3 template <typename _Tp, typename _Base = __cxx_atomic_base_impl<_Tp> > struct __cxx_atomic_impl : public _Base { static_assert(is_trivially_copyable<_Tp>::value, "std::atomic<T> requires that 'T' be a trivially copyable type"); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __cxx_atomic_impl() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __cxx_atomic_impl(_Tp __value) noexcept : _Base(__value) {} }; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/contention_t.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/contention_t.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using __cxx_contention_t = int32_t; using __cxx_atomic_contention_t = __cxx_atomic_impl<__cxx_contention_t>; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 1 3 # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/climits" 1 3 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/climits" 3 # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 2 3 # 93 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <intmax_t _Xp, intmax_t _Yp> struct __static_gcd { static const intmax_t value = __static_gcd<_Yp, _Xp % _Yp>::value; }; template <intmax_t _Xp> struct __static_gcd<_Xp, 0> { static const intmax_t value = _Xp; }; template <> struct __static_gcd<0, 0> { static const intmax_t value = 1; }; template <intmax_t _Xp, intmax_t _Yp> struct __static_lcm { static const intmax_t value = _Xp / __static_gcd<_Xp, _Yp>::value * _Yp; }; template <intmax_t _Xp> struct __static_abs { static const intmax_t value = _Xp < 0 ? -_Xp : _Xp; }; template <intmax_t _Xp> struct __static_sign { static const intmax_t value = _Xp == 0 ? 0 : (_Xp < 0 ? -1 : 1); }; template <intmax_t _Xp, intmax_t _Yp, intmax_t = __static_sign<_Yp>::value> class __ll_add; template <intmax_t _Xp, intmax_t _Yp> class __ll_add<_Xp, _Yp, 1> { static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; static const intmax_t max = -min; static_assert(_Xp <= max - _Yp, "overflow in __ll_add"); public: static const intmax_t value = _Xp + _Yp; }; template <intmax_t _Xp, intmax_t _Yp> class __ll_add<_Xp, _Yp, 0> { public: static const intmax_t value = _Xp; }; template <intmax_t _Xp, intmax_t _Yp> class __ll_add<_Xp, _Yp, -1> { static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; static const intmax_t max = -min; static_assert(min - _Yp <= _Xp, "overflow in __ll_add"); public: static const intmax_t value = _Xp + _Yp; }; template <intmax_t _Xp, intmax_t _Yp, intmax_t = __static_sign<_Yp>::value> class __ll_sub; template <intmax_t _Xp, intmax_t _Yp> class __ll_sub<_Xp, _Yp, 1> { static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; static const intmax_t max = -min; static_assert(min + _Yp <= _Xp, "overflow in __ll_sub"); public: static const intmax_t value = _Xp - _Yp; }; template <intmax_t _Xp, intmax_t _Yp> class __ll_sub<_Xp, _Yp, 0> { public: static const intmax_t value = _Xp; }; template <intmax_t _Xp, intmax_t _Yp> class __ll_sub<_Xp, _Yp, -1> { static const intmax_t min = (1LL << (sizeof(intmax_t) * 8 - 1)) + 1; static const intmax_t max = -min; static_assert(_Xp <= max + _Yp, "overflow in __ll_sub"); public: static const intmax_t value = _Xp - _Yp; }; template <intmax_t _Xp, intmax_t _Yp> class __ll_mul { static const intmax_t nan = (1LL << (sizeof(intmax_t) * 8 - 1)); static const intmax_t min = nan + 1; static const intmax_t max = -min; static const intmax_t __a_x = __static_abs<_Xp>::value; static const intmax_t __a_y = __static_abs<_Yp>::value; static_assert(_Xp != nan && _Yp != nan && __a_x <= max / __a_y, "overflow in __ll_mul"); public: static const intmax_t value = _Xp * _Yp; }; template <intmax_t _Yp> class __ll_mul<0, _Yp> { public: static const intmax_t value = 0; }; template <intmax_t _Xp> class __ll_mul<_Xp, 0> { public: static const intmax_t value = 0; }; template <> class __ll_mul<0, 0> { public: static const intmax_t value = 0; }; template <intmax_t _Xp, intmax_t _Yp> class __ll_div { static const intmax_t nan = (1LL << (sizeof(intmax_t) * 8 - 1)); static const intmax_t min = nan + 1; static const intmax_t max = -min; static_assert(_Xp != nan && _Yp != nan && _Yp != 0, "overflow in __ll_div"); public: static const intmax_t value = _Xp / _Yp; }; template <intmax_t _Num, intmax_t _Den = 1> class ratio { static_assert(__static_abs<_Num>::value >= 0, "ratio numerator is out of range"); static_assert(_Den != 0, "ratio divide by 0"); static_assert(__static_abs<_Den>::value > 0, "ratio denominator is out of range"); static constexpr const intmax_t __na = __static_abs<_Num>::value; static constexpr const intmax_t __da = __static_abs<_Den>::value; static constexpr const intmax_t __s = __static_sign<_Num>::value * __static_sign<_Den>::value; static constexpr const intmax_t __gcd = __static_gcd<__na, __da>::value; public: static constexpr const intmax_t num = __s * __na / __gcd; static constexpr const intmax_t den = __da / __gcd; typedef ratio<num, den> type; }; template <intmax_t _Num, intmax_t _Den> constexpr const intmax_t ratio<_Num, _Den>::num; template <intmax_t _Num, intmax_t _Den> constexpr const intmax_t ratio<_Num, _Den>::den; template <class _Tp> struct __is_ratio : false_type {}; template <intmax_t _Num, intmax_t _Den> struct __is_ratio<ratio<_Num, _Den> > : true_type {}; typedef ratio<1LL, 1000000000000000000LL> atto; typedef ratio<1LL, 1000000000000000LL> femto; typedef ratio<1LL, 1000000000000LL> pico; typedef ratio<1LL, 1000000000LL> nano; typedef ratio<1LL, 1000000LL> micro; typedef ratio<1LL, 1000LL> milli; typedef ratio<1LL, 100LL> centi; typedef ratio<1LL, 10LL> deci; typedef ratio< 10LL, 1LL> deca; typedef ratio< 100LL, 1LL> hecto; typedef ratio< 1000LL, 1LL> kilo; typedef ratio< 1000000LL, 1LL> mega; typedef ratio< 1000000000LL, 1LL> giga; typedef ratio< 1000000000000LL, 1LL> tera; typedef ratio< 1000000000000000LL, 1LL> peta; typedef ratio<1000000000000000000LL, 1LL> exa; template <class _R1, class _R2> struct __ratio_multiply { private: static const intmax_t __gcd_n1_d2 = __static_gcd<_R1::num, _R2::den>::value; static const intmax_t __gcd_d1_n2 = __static_gcd<_R1::den, _R2::num>::value; public: typedef typename ratio< __ll_mul<_R1::num / __gcd_n1_d2, _R2::num / __gcd_d1_n2>::value, __ll_mul<_R2::den / __gcd_n1_d2, _R1::den / __gcd_d1_n2>::value >::type type; }; template <class _R1, class _R2> using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type; # 309 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 3 template <class _R1, class _R2> struct __ratio_divide { private: static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value; static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value; public: typedef typename ratio< __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value, __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::type type; }; template <class _R1, class _R2> using ratio_divide = typename __ratio_divide<_R1, _R2>::type; # 332 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 3 template <class _R1, class _R2> struct __ratio_add { private: static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value; static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value; public: typedef typename ratio_multiply< ratio<__gcd_n1_n2, _R1::den / __gcd_d1_d2>, ratio< __ll_add< __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value, __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::value, _R2::den > >::type type; }; template <class _R1, class _R2> using ratio_add = typename __ratio_add<_R1, _R2>::type; # 358 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 3 template <class _R1, class _R2> struct __ratio_subtract { private: static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value; static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value; public: typedef typename ratio_multiply< ratio<__gcd_n1_n2, _R1::den / __gcd_d1_d2>, ratio< __ll_sub< __ll_mul<_R1::num / __gcd_n1_n2, _R2::den / __gcd_d1_d2>::value, __ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::value, _R2::den > >::type type; }; template <class _R1, class _R2> using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type; # 386 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ratio" 3 template <class _R1, class _R2> struct ratio_equal : _BoolConstant<(_R1::num == _R2::num && _R1::den == _R2::den)> {}; template <class _R1, class _R2> struct ratio_not_equal : _BoolConstant<!ratio_equal<_R1, _R2>::value> {}; template <class _R1, class _R2, bool _Odd = false, intmax_t _Q1 = _R1::num / _R1::den, intmax_t _M1 = _R1::num % _R1::den, intmax_t _Q2 = _R2::num / _R2::den, intmax_t _M2 = _R2::num % _R2::den> struct __ratio_less1 { static const bool value = _Odd ? _Q2 < _Q1 : _Q1 < _Q2; }; template <class _R1, class _R2, bool _Odd, intmax_t _Qp> struct __ratio_less1<_R1, _R2, _Odd, _Qp, 0, _Qp, 0> { static const bool value = false; }; template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M2> struct __ratio_less1<_R1, _R2, _Odd, _Qp, 0, _Qp, _M2> { static const bool value = !_Odd; }; template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M1> struct __ratio_less1<_R1, _R2, _Odd, _Qp, _M1, _Qp, 0> { static const bool value = _Odd; }; template <class _R1, class _R2, bool _Odd, intmax_t _Qp, intmax_t _M1, intmax_t _M2> struct __ratio_less1<_R1, _R2, _Odd, _Qp, _M1, _Qp, _M2> { static const bool value = __ratio_less1<ratio<_R1::den, _M1>, ratio<_R2::den, _M2>, !_Odd>::value; }; template <class _R1, class _R2, intmax_t _S1 = __static_sign<_R1::num>::value, intmax_t _S2 = __static_sign<_R2::num>::value> struct __ratio_less { static const bool value = _S1 < _S2; }; template <class _R1, class _R2> struct __ratio_less<_R1, _R2, 1LL, 1LL> { static const bool value = __ratio_less1<_R1, _R2>::value; }; template <class _R1, class _R2> struct __ratio_less<_R1, _R2, -1LL, -1LL> { static const bool value = __ratio_less1<ratio<-_R2::num, _R2::den>, ratio<-_R1::num, _R1::den> >::value; }; template <class _R1, class _R2> struct ratio_less : _BoolConstant<__ratio_less<_R1, _R2>::value> {}; template <class _R1, class _R2> struct ratio_less_equal : _BoolConstant<!ratio_less<_R2, _R1>::value> {}; template <class _R1, class _R2> struct ratio_greater : _BoolConstant<ratio_less<_R2, _R1>::value> {}; template <class _R1, class _R2> struct ratio_greater_equal : _BoolConstant<!ratio_less<_R1, _R2>::value> {}; template <class _R1, class _R2> struct __ratio_gcd { typedef ratio<__static_gcd<_R1::num, _R2::num>::value, __static_lcm<_R1::den, _R2::den>::value> type; }; template <class _R1, class _R2> inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; template <class _R1, class _R2> inline constexpr bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value; template <class _R1, class _R2> inline constexpr bool ratio_less_v = ratio_less<_R1, _R2>::value; template <class _R1, class _R2> inline constexpr bool ratio_less_equal_v = ratio_less_equal<_R1, _R2>::value; template <class _R1, class _R2> inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value; template <class _R1, class _R2> inline constexpr bool ratio_greater_equal_v = ratio_greater_equal<_R1, _R2>::value; }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace chrono { template <class _Rep, class _Period = ratio<1> > class duration; template <class _Tp> struct __is_duration : false_type {}; template <class _Rep, class _Period> struct __is_duration<duration<_Rep, _Period> > : true_type {}; template <class _Rep, class _Period> struct __is_duration<const duration<_Rep, _Period> > : true_type {}; template <class _Rep, class _Period> struct __is_duration<volatile duration<_Rep, _Period> > : true_type {}; template <class _Rep, class _Period> struct __is_duration<const volatile duration<_Rep, _Period> > : true_type {}; } template <class _Rep1, class _Period1, class _Rep2, class _Period2> struct common_type<chrono::duration<_Rep1, _Period1>, chrono::duration<_Rep2, _Period2> > { typedef chrono::duration<typename common_type<_Rep1, _Rep2>::type, typename __ratio_gcd<_Period1, _Period2>::type> type; }; namespace chrono { template <class _FromDuration, class _ToDuration, class _Period = typename ratio_divide<typename _FromDuration::period, typename _ToDuration::period>::type, bool = _Period::num == 1, bool = _Period::den == 1> struct __duration_cast; template <class _FromDuration, class _ToDuration, class _Period> struct __duration_cast<_FromDuration, _ToDuration, _Period, true, true> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { return _ToDuration(static_cast<typename _ToDuration::rep>(__fd.count())); } }; template <class _FromDuration, class _ToDuration, class _Period> struct __duration_cast<_FromDuration, _ToDuration, _Period, true, false> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct; return _ToDuration( static_cast<typename _ToDuration::rep>(static_cast<_Ct>(__fd.count()) / static_cast<_Ct>(_Period::den))); } }; template <class _FromDuration, class _ToDuration, class _Period> struct __duration_cast<_FromDuration, _ToDuration, _Period, false, true> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct; return _ToDuration( static_cast<typename _ToDuration::rep>(static_cast<_Ct>(__fd.count()) * static_cast<_Ct>(_Period::num))); } }; template <class _FromDuration, class _ToDuration, class _Period> struct __duration_cast<_FromDuration, _ToDuration, _Period, false, false> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration operator()(const _FromDuration& __fd) const { typedef typename common_type<typename _ToDuration::rep, typename _FromDuration::rep, intmax_t>::type _Ct; return _ToDuration(static_cast<typename _ToDuration::rep>( static_cast<_Ct>(__fd.count()) * static_cast<_Ct>(_Period::num) / static_cast<_Ct>(_Period::den))); } }; template <class _ToDuration, class _Rep, class _Period, __enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration duration_cast(const duration<_Rep, _Period>& __fd) { return __duration_cast<duration<_Rep, _Period>, _ToDuration>()(__fd); } template <class _Rep> struct treat_as_floating_point : is_floating_point<_Rep> {}; template <class _Rep> inline constexpr bool treat_as_floating_point_v = treat_as_floating_point<_Rep>::value; template <class _Rep> struct duration_values { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr _Rep zero() noexcept { return _Rep(0); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr _Rep max() noexcept { return numeric_limits<_Rep>::max(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr _Rep min() noexcept { return numeric_limits<_Rep>::lowest(); } }; template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration floor(const duration<_Rep, _Period>& __d) { _ToDuration __t = chrono::duration_cast<_ToDuration>(__d); if (__t > __d) __t = __t - _ToDuration{1}; return __t; } template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration ceil(const duration<_Rep, _Period>& __d) { _ToDuration __t = chrono::duration_cast<_ToDuration>(__d); if (__t < __d) __t = __t + _ToDuration{1}; return __t; } template <class _ToDuration, class _Rep, class _Period, enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ToDuration round(const duration<_Rep, _Period>& __d) { _ToDuration __lower = chrono::floor<_ToDuration>(__d); _ToDuration __upper = __lower + _ToDuration{1}; auto __lower_diff = __d - __lower; auto __upper_diff = __upper - __d; if (__lower_diff < __upper_diff) return __lower; if (__lower_diff > __upper_diff) return __upper; return __lower.count() & 1 ? __upper : __lower; } template <class _Rep, class _Period> class duration { static_assert(!__is_duration<_Rep>::value, "A duration representation can not be a duration"); static_assert(__is_ratio<_Period>::value, "Second template parameter of duration must be a std::ratio"); static_assert(_Period::num > 0, "duration period must be positive"); template <class _R1, class _R2> struct __no_overflow { private: static const intmax_t __gcd_n1_n2 = __static_gcd<_R1::num, _R2::num>::value; static const intmax_t __gcd_d1_d2 = __static_gcd<_R1::den, _R2::den>::value; static const intmax_t __n1 = _R1::num / __gcd_n1_n2; static const intmax_t __d1 = _R1::den / __gcd_d1_d2; static const intmax_t __n2 = _R2::num / __gcd_n1_n2; static const intmax_t __d2 = _R2::den / __gcd_d1_d2; static const intmax_t max = -((intmax_t(1) << (sizeof(intmax_t) * 8 - 1)) + 1); template <intmax_t _Xp, intmax_t _Yp, bool __overflow> struct __mul { static const intmax_t value = _Xp * _Yp; }; template <intmax_t _Xp, intmax_t _Yp> struct __mul<_Xp, _Yp, true> { static const intmax_t value = 1; }; public: static const bool value = (__n1 <= max / __d2) && (__n2 <= max / __d1); typedef ratio<__mul<__n1, __d2, !value>::value, __mul<__n2, __d1, !value>::value> type; }; public: typedef _Rep rep; typedef typename _Period::type period; private: rep __rep_; public: constexpr duration() = default; template <class _Rep2, __enable_if_t<is_convertible<const _Rep2&, rep>::value && (treat_as_floating_point<rep>::value || !treat_as_floating_point<_Rep2>::value), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit duration(const _Rep2& __r) : __rep_(__r) {} template <class _Rep2, class _Period2, __enable_if_t<__no_overflow<_Period2, period>::value && (treat_as_floating_point<rep>::value || (__no_overflow<_Period2, period>::type::den == 1 && !treat_as_floating_point<_Rep2>::value)), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration(const duration<_Rep2, _Period2>& __d) : __rep_(chrono::duration_cast<duration>(__d).count()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr rep count() const { return __rep_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<duration>::type operator+() const { return typename common_type<duration>::type(*this); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<duration>::type operator-() const { return typename common_type<duration>::type(-__rep_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator++() { ++__rep_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration operator++(int) { return duration(__rep_++); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator--() { --__rep_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration operator--(int) { return duration(__rep_--); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator+=(const duration& __d) { __rep_ += __d.count(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator-=(const duration& __d) { __rep_ -= __d.count(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator*=(const rep& __rhs) { __rep_ *= __rhs; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator/=(const rep& __rhs) { __rep_ /= __rhs; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator%=(const rep& __rhs) { __rep_ %= __rhs; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration& operator%=(const duration& __rhs) { __rep_ %= __rhs.count(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr duration zero() noexcept { return duration(duration_values<rep>::zero()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr duration min() noexcept { return duration(duration_values<rep>::min()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr duration max() noexcept { return duration(duration_values<rep>::max()); } }; typedef duration<long long, nano> nanoseconds; typedef duration<long long, micro> microseconds; typedef duration<long long, milli> milliseconds; typedef duration<long long > seconds; typedef duration< long, ratio< 60> > minutes; typedef duration< long, ratio<3600> > hours; # 298 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 3 template <class _LhsDuration, class _RhsDuration> struct __duration_eq { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _LhsDuration& __lhs, const _RhsDuration& __rhs) const { typedef typename common_type<_LhsDuration, _RhsDuration>::type _Ct; return _Ct(__lhs).count() == _Ct(__rhs).count(); } }; template <class _LhsDuration> struct __duration_eq<_LhsDuration, _LhsDuration> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _LhsDuration& __lhs, const _LhsDuration& __rhs) const { return __lhs.count() == __rhs.count(); } }; template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { return __duration_eq<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >()(__lhs, __rhs); } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { return !(__lhs == __rhs); } template <class _LhsDuration, class _RhsDuration> struct __duration_lt { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _LhsDuration& __lhs, const _RhsDuration& __rhs) const { typedef typename common_type<_LhsDuration, _RhsDuration>::type _Ct; return _Ct(__lhs).count() < _Ct(__rhs).count(); } }; template <class _LhsDuration> struct __duration_lt<_LhsDuration, _LhsDuration> { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(const _LhsDuration& __lhs, const _LhsDuration& __rhs) const { return __lhs.count() < __rhs.count(); } }; template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { return __duration_lt<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >()(__lhs, __rhs); } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { return __rhs < __lhs; } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { return !(__rhs < __lhs); } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { return !(__lhs < __rhs); } # 392 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/duration.h" 3 template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type operator+(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd; return _Cd(_Cd(__lhs).count() + _Cd(__rhs).count()); } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type operator-(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd; return _Cd(_Cd(__lhs).count() - _Cd(__rhs).count()); } template <class _Rep1, class _Period, class _Rep2, __enable_if_t<is_convertible<_Rep2, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s) { typedef typename common_type<_Rep1, _Rep2>::type _Cr; typedef duration<_Cr, _Period> _Cd; return _Cd(_Cd(__d).count() * static_cast<_Cr>(__s)); } template <class _Rep1, class _Period, class _Rep2, __enable_if_t<is_convertible<_Rep1, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d) { return __d * __s; } template <class _Rep1, class _Period, class _Rep2, __enable_if_t<!__is_duration<_Rep2>::value && is_convertible<_Rep2, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s) { typedef typename common_type<_Rep1, _Rep2>::type _Cr; typedef duration<_Cr, _Period> _Cd; return _Cd(_Cd(__d).count() / static_cast<_Cr>(__s)); } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<_Rep1, _Rep2>::type operator/(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Ct; return _Ct(__lhs).count() / _Ct(__rhs).count(); } template <class _Rep1, class _Period, class _Rep2, __enable_if_t<!__is_duration<_Rep2>::value && is_convertible<_Rep2, typename common_type<_Rep1, _Rep2>::type>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration<typename common_type<_Rep1, _Rep2>::type, _Period> operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s) { typedef typename common_type<_Rep1, _Rep2>::type _Cr; typedef duration<_Cr, _Period> _Cd; return _Cd(_Cd(__d).count() % static_cast<_Cr>(__s)); } template <class _Rep1, class _Period1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type operator%(const duration<_Rep1, _Period1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { typedef typename common_type<_Rep1, _Rep2>::type _Cr; typedef typename common_type<duration<_Rep1, _Period1>, duration<_Rep2, _Period2> >::type _Cd; return _Cd(static_cast<_Cr>(_Cd(__lhs).count()) % static_cast<_Cr>(_Cd(__rhs).count())); } } inline namespace literals { inline namespace chrono_literals { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::hours operator""h(unsigned long long __h) { return chrono::hours(static_cast<chrono::hours::rep>(__h)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::duration<long double, ratio<3600, 1>> operator""h(long double __h) { return chrono::duration<long double, ratio<3600, 1>>(__h); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::minutes operator""min(unsigned long long __m) { return chrono::minutes(static_cast<chrono::minutes::rep>(__m)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::duration<long double, ratio<60, 1>> operator""min(long double __m) { return chrono::duration<long double, ratio<60, 1>>(__m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::seconds operator""s(unsigned long long __s) { return chrono::seconds(static_cast<chrono::seconds::rep>(__s)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::duration<long double> operator""s(long double __s) { return chrono::duration<long double>(__s); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::milliseconds operator""ms(unsigned long long __ms) { return chrono::milliseconds(static_cast<chrono::milliseconds::rep>(__ms)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::duration<long double, milli> operator""ms(long double __ms) { return chrono::duration<long double, milli>(__ms); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::microseconds operator""us(unsigned long long __us) { return chrono::microseconds(static_cast<chrono::microseconds::rep>(__us)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::duration<long double, micro> operator""us(long double __us) { return chrono::duration<long double, micro>(__us); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::nanoseconds operator""ns(unsigned long long __ns) { return chrono::nanoseconds(static_cast<chrono::nanoseconds::rep>(__ns)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr chrono::duration<long double, nano> operator""ns(long double __ns) { return chrono::duration<long double, nano>(__ns); } } } namespace chrono { using namespace literals::chrono_literals; } }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__thread/poll_with_backoff.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__thread/poll_with_backoff.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/high_resolution_clock.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/high_resolution_clock.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/steady_clock.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/steady_clock.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/time_point.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/time_point.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/time_point.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace chrono { template <class _Clock, class _Duration = typename _Clock::duration> class time_point { static_assert(__is_duration<_Duration>::value, "Second template parameter of time_point must be a std::chrono::duration"); public: typedef _Clock clock; typedef _Duration duration; typedef typename duration::rep rep; typedef typename duration::period period; private: duration __d_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point() : __d_(duration::zero()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit time_point(const duration& __d) : __d_(__d) {} template <class _Duration2, __enable_if_t<is_convertible<_Duration2, duration>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point(const time_point<clock, _Duration2>& __t) : __d_(__t.time_since_epoch()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration time_since_epoch() const { return __d_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point& operator+=(const duration& __d) { __d_ += __d; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point& operator-=(const duration& __d) { __d_ -= __d; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr time_point min() noexcept { return time_point(duration::min()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr time_point max() noexcept { return time_point(duration::max()); } }; } template <class _Clock, class _Duration1, class _Duration2> struct common_type<chrono::time_point<_Clock, _Duration1>, chrono::time_point<_Clock, _Duration2> > { typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type; }; namespace chrono { template <class _ToDuration, class _Clock, class _Duration> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, _ToDuration> time_point_cast(const time_point<_Clock, _Duration>& __t) { return time_point<_Clock, _ToDuration>(chrono::duration_cast<_ToDuration>(__t.time_since_epoch())); } template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, _ToDuration> floor(const time_point<_Clock, _Duration>& __t) { return time_point<_Clock, _ToDuration>{chrono::floor<_ToDuration>(__t.time_since_epoch())}; } template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, _ToDuration> ceil(const time_point<_Clock, _Duration>& __t) { return time_point<_Clock, _ToDuration>{chrono::ceil<_ToDuration>(__t.time_since_epoch())}; } template <class _ToDuration, class _Clock, class _Duration, enable_if_t<__is_duration<_ToDuration>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, _ToDuration> round(const time_point<_Clock, _Duration>& __t) { return time_point<_Clock, _ToDuration>{chrono::round<_ToDuration>(__t.time_since_epoch())}; } template <class _Rep, class _Period, enable_if_t<numeric_limits<_Rep>::is_signed, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr duration<_Rep, _Period> abs(duration<_Rep, _Period> __d) { return __d >= __d.zero() ? +__d : -__d; } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return !(__lhs == __rhs); } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return __rhs < __lhs; } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return !(__rhs < __lhs); } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return !(__lhs < __rhs); } # 182 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/time_point.h" 3 template <class _Clock, class _Duration1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> operator+(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Tr; return _Tr(__lhs.time_since_epoch() + __rhs); } template <class _Rep1, class _Period1, class _Clock, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, typename common_type<duration<_Rep1, _Period1>, _Duration2>::type> operator+(const duration<_Rep1, _Period1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return __rhs + __lhs; } template <class _Clock, class _Duration1, class _Rep2, class _Period2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> operator-(const time_point<_Clock, _Duration1>& __lhs, const duration<_Rep2, _Period2>& __rhs) { typedef time_point<_Clock, typename common_type<_Duration1, duration<_Rep2, _Period2> >::type> _Ret; return _Ret(__lhs.time_since_epoch() - __rhs); } template <class _Clock, class _Duration1, class _Duration2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr typename common_type<_Duration1, _Duration2>::type operator-(const time_point<_Clock, _Duration1>& __lhs, const time_point<_Clock, _Duration2>& __rhs) { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); } } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/steady_clock.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/steady_clock.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace chrono { class __attribute__((__visibility__("default"))) steady_clock { public: typedef nanoseconds duration; typedef duration::rep rep; typedef duration::period period; typedef chrono::time_point<steady_clock, duration> time_point; static constexpr const bool is_steady = true; static time_point now() noexcept; }; } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/high_resolution_clock.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/system_clock.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/system_clock.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ctime" 1 3 # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ctime" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::clock_t __attribute__((__using_if_exists__)); using ::size_t __attribute__((__using_if_exists__)); using ::time_t __attribute__((__using_if_exists__)); using ::tm __attribute__((__using_if_exists__)); using ::timespec __attribute__((__using_if_exists__)); using ::clock __attribute__((__using_if_exists__)); using ::difftime __attribute__((__using_if_exists__)); using ::mktime __attribute__((__using_if_exists__)); using ::time __attribute__((__using_if_exists__)); using ::asctime __attribute__((__using_if_exists__)); using ::ctime __attribute__((__using_if_exists__)); using ::gmtime __attribute__((__using_if_exists__)); using ::localtime __attribute__((__using_if_exists__)); using ::strftime __attribute__((__using_if_exists__)); using ::timespec_get __attribute__((__using_if_exists__)); }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/system_clock.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/system_clock.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace chrono { class __attribute__((__visibility__("default"))) system_clock { public: typedef microseconds duration; typedef duration::rep rep; typedef duration::period period; typedef chrono::time_point<system_clock> time_point; static constexpr const bool is_steady = false; static time_point now() noexcept; static time_t to_time_t(const time_point& __t) noexcept; static time_point from_time_t(time_t __t) noexcept; }; # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/system_clock.h" 3 } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/high_resolution_clock.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/high_resolution_clock.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace chrono { typedef steady_clock high_resolution_clock; } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__thread/poll_with_backoff.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__thread/poll_with_backoff.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { static constexpr const int __libcpp_polling_count = 64; # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__thread/poll_with_backoff.h" 3 template <class _Fn, class _BFn> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __libcpp_thread_poll_with_backoff( _Fn&& __f, _BFn&& __bf, chrono::nanoseconds __max_elapsed = chrono::nanoseconds::zero()) { auto const __start = chrono::high_resolution_clock::now(); for (int __count = 0;;) { if (__f()) return true; if (__count < __libcpp_polling_count) { __count += 1; continue; } chrono::nanoseconds const __elapsed = chrono::high_resolution_clock::now() - __start; if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed) return false; if (__bf(__elapsed)) return false; } } struct __spinning_backoff_policy { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(chrono::nanoseconds const&) const { return false; } }; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/convert_to_timespec.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/convert_to_timespec.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__chrono/convert_to_timespec.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _TimeSpec> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline _TimeSpec __convert_to_timespec(const chrono::nanoseconds& __ns) { using namespace chrono; seconds __s = duration_cast<seconds>(__ns); _TimeSpec __ts; typedef decltype(__ts.tv_sec) __ts_sec; const __ts_sec __ts_sec_max = numeric_limits<__ts_sec>::max(); if (__s.count() < __ts_sec_max) { __ts.tv_sec = static_cast<__ts_sec>(__s.count()); __ts.tv_nsec = static_cast<decltype(__ts.tv_nsec)>((__ns - __s).count()); } else { __ts.tv_sec = __ts_sec_max; __ts.tv_nsec = 999999999; } return __ts; } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/errno.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/errno.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/errno.h" 1 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/errno.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/errno.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/errno.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/errno-base.h" 1 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/asm-generic/errno.h" 2 3 4 # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/arm-linux-androideabi/asm/errno.h" 2 3 4 # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/errno.h" 2 3 4 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/errno.h" 2 3 4 extern "C" { # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/errno.h" 3 4 int* _Nonnull __errno(void) __attribute__((__const__)); } # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/errno.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 3 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/math.h" 1 3 # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 1 3 4 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 1 3 4 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/sched.h" 1 3 4 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/linux/sched.h" 3 4 struct clone_args { __u64 __attribute__((aligned(8))) flags; __u64 __attribute__((aligned(8))) pidfd; __u64 __attribute__((aligned(8))) child_tid; __u64 __attribute__((aligned(8))) parent_tid; __u64 __attribute__((aligned(8))) exit_signal; __u64 __attribute__((aligned(8))) stack; __u64 __attribute__((aligned(8))) stack_size; __u64 __attribute__((aligned(8))) tls; __u64 __attribute__((aligned(8))) set_tid; __u64 __attribute__((aligned(8))) set_tid_size; __u64 __attribute__((aligned(8))) cgroup; }; # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 2 3 4 extern "C" { # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 struct sched_param { int sched_priority; }; int sched_setscheduler(pid_t __pid, int __policy, const struct sched_param* _Nonnull __param); # 116 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 int sched_getscheduler(pid_t __pid); int sched_yield(void); int sched_get_priority_max(int __policy); int sched_get_priority_min(int __policy); int sched_setparam(pid_t __pid, const struct sched_param* _Nonnull __param); int sched_getparam(pid_t __pid, struct sched_param* _Nonnull __param); int sched_rr_get_interval(pid_t __pid, struct timespec* _Nonnull __quantum); # 175 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 int clone(int (* _Null_unspecified __fn)(void* _Null_unspecified ), void* _Null_unspecified __child_stack, int __flags, void* _Nullable __arg, ...); int unshare(int __flags); int setns(int __fd, int __ns_type); # 200 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 int sched_getcpu(void); # 217 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 typedef struct { unsigned long int __bits[ 32 / (8 * sizeof(unsigned long int)) ]; } cpu_set_t; int sched_setaffinity(pid_t __pid, size_t __set_size, const cpu_set_t* _Nonnull __set); int sched_getaffinity(pid_t __pid, size_t __set_size, cpu_set_t* _Nonnull __set); # 307 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 int __sched_cpucount(size_t __set_size, const cpu_set_t* _Nonnull __set); # 378 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sched.h" 3 4 cpu_set_t* _Nullable __sched_cpualloc(size_t __count); void __sched_cpufree(cpu_set_t* _Nonnull __set); } # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 2 3 4 extern "C" { enum { PTHREAD_MUTEX_NORMAL = 0, PTHREAD_MUTEX_RECURSIVE = 1, PTHREAD_MUTEX_ERRORCHECK = 2, PTHREAD_MUTEX_ERRORCHECK_NP = PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE_NP = PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL }; # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 enum { PTHREAD_RWLOCK_PREFER_READER_NP = 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP = 1, }; # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_atfork(void (* _Nullable __prepare)(void), void (* _Nullable __parent)(void), void (* _Nullable __child)(void)); int pthread_attr_destroy(pthread_attr_t* _Nonnull __attr); int pthread_attr_getdetachstate(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __state); int pthread_attr_getguardsize(const pthread_attr_t* _Nonnull __attr, size_t* _Nonnull __size); int pthread_attr_getschedparam(const pthread_attr_t* _Nonnull __attr, struct sched_param* _Nonnull __param); int pthread_attr_getschedpolicy(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __policy); int pthread_attr_getscope(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __scope); int pthread_attr_getstack(const pthread_attr_t* _Nonnull __attr, void* _Nullable * _Nonnull __addr, size_t* _Nonnull __size); int pthread_attr_getstacksize(const pthread_attr_t* _Nonnull __attr, size_t* _Nonnull __size); int pthread_attr_init(pthread_attr_t* _Nonnull __attr); int pthread_attr_setdetachstate(pthread_attr_t* _Nonnull __attr, int __state); int pthread_attr_setguardsize(pthread_attr_t* _Nonnull __attr, size_t __size); int pthread_attr_setschedparam(pthread_attr_t* _Nonnull __attr, const struct sched_param* _Nonnull __param); int pthread_attr_setschedpolicy(pthread_attr_t* _Nonnull __attr, int __policy); int pthread_attr_setscope(pthread_attr_t* _Nonnull __attr, int __scope); int pthread_attr_setstack(pthread_attr_t* _Nonnull __attr, void* _Nonnull __addr, size_t __size); int pthread_attr_setstacksize(pthread_attr_t* _Nonnull __addr, size_t __size); int pthread_condattr_destroy(pthread_condattr_t* _Nonnull __attr); int pthread_condattr_getclock(const pthread_condattr_t* _Nonnull __attr, clockid_t* _Nonnull __clock); int pthread_condattr_getpshared(const pthread_condattr_t* _Nonnull __attr, int* _Nonnull __shared); int pthread_condattr_init(pthread_condattr_t* _Nonnull __attr); int pthread_condattr_setclock(pthread_condattr_t* _Nonnull __attr, clockid_t __clock); int pthread_condattr_setpshared(pthread_condattr_t* _Nonnull __attr, int __shared); int pthread_cond_broadcast(pthread_cond_t* _Nonnull __cond); int pthread_cond_destroy(pthread_cond_t* _Nonnull __cond); int pthread_cond_init(pthread_cond_t* _Nonnull __cond, const pthread_condattr_t* _Nullable __attr); int pthread_cond_signal(pthread_cond_t* _Nonnull __cond); int pthread_cond_timedwait(pthread_cond_t* _Nonnull __cond, pthread_mutex_t* _Nonnull __mutex, const struct timespec* _Nullable __timeout); # 157 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_cond_timedwait_monotonic_np(pthread_cond_t* _Nonnull __cond, pthread_mutex_t* _Nonnull __mutex, const struct timespec* _Nullable __timeout) ; int pthread_cond_wait(pthread_cond_t* _Nonnull __cond, pthread_mutex_t* _Nonnull __mutex); #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wbuiltin-requires-header" int pthread_create(pthread_t* _Nonnull __pthread_ptr, pthread_attr_t const* _Nullable __attr, void* _Nonnull (* _Nonnull __start_routine)(void* _Nonnull), void* _Nullable); #pragma clang diagnostic pop int pthread_detach(pthread_t __pthread); void pthread_exit(void* _Nullable __return_value) __attribute__((__noreturn__)); int pthread_equal(pthread_t __lhs, pthread_t __rhs); int pthread_getattr_np(pthread_t __pthread, pthread_attr_t* _Nonnull __attr); int pthread_getcpuclockid(pthread_t __pthread, clockid_t* _Nonnull __clock); void* _Nullable pthread_getspecific(pthread_key_t __key); pid_t pthread_gettid_np(pthread_t __pthread); int pthread_join(pthread_t __pthread, void* _Nullable * _Nullable __return_value_ptr); # 208 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_key_create(pthread_key_t* _Nonnull __key_ptr, void (* _Nullable __key_destructor)(void* _Nullable)); int pthread_key_delete(pthread_key_t __key); int pthread_mutexattr_destroy(pthread_mutexattr_t* _Nonnull __attr); int pthread_mutexattr_getpshared(const pthread_mutexattr_t* _Nonnull __attr, int* _Nonnull __shared); int pthread_mutexattr_gettype(const pthread_mutexattr_t* _Nonnull __attr, int* _Nonnull __type); int pthread_mutexattr_init(pthread_mutexattr_t* _Nonnull __attr); int pthread_mutexattr_setpshared(pthread_mutexattr_t* _Nonnull __attr, int __shared); int pthread_mutexattr_settype(pthread_mutexattr_t* _Nonnull __attr, int __type); # 241 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_mutex_destroy(pthread_mutex_t* _Nonnull __mutex); int pthread_mutex_init(pthread_mutex_t* _Nonnull __mutex, const pthread_mutexattr_t* _Nullable __attr); int pthread_mutex_lock(pthread_mutex_t* _Nonnull __mutex); int pthread_mutex_timedlock(pthread_mutex_t* _Nonnull __mutex, const struct timespec* _Nullable __timeout); # 261 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_mutex_trylock(pthread_mutex_t* _Nonnull __mutex); int pthread_mutex_unlock(pthread_mutex_t* _Nonnull __mutex); int pthread_once(pthread_once_t* _Nonnull __once, void (* _Nonnull __init_routine)(void)); int pthread_rwlockattr_init(pthread_rwlockattr_t* _Nonnull __attr); int pthread_rwlockattr_destroy(pthread_rwlockattr_t* _Nonnull __attr); int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t* _Nonnull __attr, int* _Nonnull __shared); int pthread_rwlockattr_setpshared(pthread_rwlockattr_t* _Nonnull __attr, int __shared); # 286 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_rwlock_destroy(pthread_rwlock_t* _Nonnull __rwlock); int pthread_rwlock_init(pthread_rwlock_t* _Nonnull __rwlock, const pthread_rwlockattr_t* _Nullable __attr); int pthread_rwlock_rdlock(pthread_rwlock_t* _Nonnull __rwlock); int pthread_rwlock_timedrdlock(pthread_rwlock_t* _Nonnull __rwlock, const struct timespec* _Nullable __timeout); int pthread_rwlock_timedwrlock(pthread_rwlock_t* _Nonnull __rwlock, const struct timespec* _Nullable __timeout); int pthread_rwlock_tryrdlock(pthread_rwlock_t* _Nonnull __rwlock); int pthread_rwlock_trywrlock(pthread_rwlock_t* _Nonnull __rwlock); int pthread_rwlock_unlock(pthread_rwlock_t* _Nonnull __rwlock); int pthread_rwlock_wrlock(pthread_rwlock_t* _Nonnull __rwlock); # 331 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 pthread_t pthread_self(void) __attribute__((__const__)); # 341 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_setname_np(pthread_t __pthread, const char* _Nonnull __name); # 354 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_setschedparam(pthread_t __pthread, int __policy, const struct sched_param* _Nonnull __param); int pthread_getschedparam(pthread_t __pthread, int* _Nonnull __policy, struct sched_param* _Nonnull __param); # 383 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 int pthread_setspecific(pthread_key_t __key, const void* _Nullable __value); typedef void (* _Nullable __pthread_cleanup_func_t)(void* _Nullable); typedef struct __pthread_cleanup_t { struct __pthread_cleanup_t* _Nullable __cleanup_prev; __pthread_cleanup_func_t _Nullable __cleanup_routine; void* _Nullable __cleanup_arg; } __pthread_cleanup_t; void __pthread_cleanup_push(__pthread_cleanup_t* _Nonnull c, __pthread_cleanup_func_t _Nullable, void* _Nullable); void __pthread_cleanup_pop(__pthread_cleanup_t* _Nonnull, int); # 411 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/pthread.h" 3 4 } # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 2 3 # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 3 typedef ::timespec __libcpp_timespec_t; namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { typedef pthread_mutex_t __libcpp_mutex_t; typedef pthread_mutex_t __libcpp_recursive_mutex_t; typedef pthread_cond_t __libcpp_condvar_t; typedef pthread_once_t __libcpp_exec_once_flag; typedef pthread_t __libcpp_thread_id; typedef pthread_t __libcpp_thread_t; typedef pthread_key_t __libcpp_tls_key; # 159 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 3 inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_recursive_mutex_destroy(__libcpp_recursive_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_mutex_lock(__libcpp_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __libcpp_mutex_trylock(__libcpp_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_mutex_unlock(__libcpp_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_mutex_destroy(__libcpp_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_condvar_signal(__libcpp_condvar_t* __cv); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_condvar_broadcast(__libcpp_condvar_t* __cv); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_condvar_wait(__libcpp_condvar_t* __cv, __libcpp_mutex_t* __m); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_condvar_timedwait(__libcpp_condvar_t* __cv, __libcpp_mutex_t* __m, __libcpp_timespec_t* __ts); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_condvar_destroy(__libcpp_condvar_t* __cv); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_execute_once(__libcpp_exec_once_flag* __flag, void (*__init_routine)()); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __libcpp_thread_id_equal(__libcpp_thread_id __t1, __libcpp_thread_id __t2); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __libcpp_thread_id_less(__libcpp_thread_id __t1, __libcpp_thread_id __t2); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __libcpp_thread_isnull(const __libcpp_thread_t* __t); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_thread_create(__libcpp_thread_t* __t, void* (*__func)(void*), void* __arg); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __libcpp_thread_id __libcpp_thread_get_current_id(); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t* __t); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_thread_join(__libcpp_thread_t* __t); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_thread_detach(__libcpp_thread_t* __t); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __libcpp_thread_yield(); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __libcpp_thread_sleep_for(const chrono::nanoseconds& __ns); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_tls_create(__libcpp_tls_key* __key, void(* __at_exit)(void*)); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void* __libcpp_tls_get(__libcpp_tls_key __key); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) int __libcpp_tls_set(__libcpp_tls_key __key, void* __p); int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t* __m) { pthread_mutexattr_t __attr; int __ec = pthread_mutexattr_init(&__attr); if (__ec) return __ec; __ec = pthread_mutexattr_settype(&__attr, PTHREAD_MUTEX_RECURSIVE); if (__ec) { pthread_mutexattr_destroy(&__attr); return __ec; } __ec = pthread_mutex_init(__m, &__attr); if (__ec) { pthread_mutexattr_destroy(&__attr); return __ec; } __ec = pthread_mutexattr_destroy(&__attr); if (__ec) { pthread_mutex_destroy(__m); return __ec; } return 0; } int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t* __m) { return pthread_mutex_lock(__m); } bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t* __m) { return pthread_mutex_trylock(__m) == 0; } int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t* __m) { return pthread_mutex_unlock(__m); } int __libcpp_recursive_mutex_destroy(__libcpp_recursive_mutex_t* __m) { return pthread_mutex_destroy(__m); } int __libcpp_mutex_lock(__libcpp_mutex_t* __m) { return pthread_mutex_lock(__m); } bool __libcpp_mutex_trylock(__libcpp_mutex_t* __m) { return pthread_mutex_trylock(__m) == 0; } int __libcpp_mutex_unlock(__libcpp_mutex_t* __m) { return pthread_mutex_unlock(__m); } int __libcpp_mutex_destroy(__libcpp_mutex_t* __m) { return pthread_mutex_destroy(__m); } int __libcpp_condvar_signal(__libcpp_condvar_t* __cv) { return pthread_cond_signal(__cv); } int __libcpp_condvar_broadcast(__libcpp_condvar_t* __cv) { return pthread_cond_broadcast(__cv); } int __libcpp_condvar_wait(__libcpp_condvar_t* __cv, __libcpp_mutex_t* __m) { return pthread_cond_wait(__cv, __m); } int __libcpp_condvar_timedwait(__libcpp_condvar_t* __cv, __libcpp_mutex_t* __m, __libcpp_timespec_t* __ts) { return pthread_cond_timedwait(__cv, __m, __ts); } int __libcpp_condvar_destroy(__libcpp_condvar_t* __cv) { return pthread_cond_destroy(__cv); } int __libcpp_execute_once(__libcpp_exec_once_flag* __flag, void (*__init_routine)()) { return pthread_once(__flag, __init_routine); } bool __libcpp_thread_id_equal(__libcpp_thread_id __t1, __libcpp_thread_id __t2) { return __t1 == __t2; } bool __libcpp_thread_id_less(__libcpp_thread_id __t1, __libcpp_thread_id __t2) { return __t1 < __t2; } bool __libcpp_thread_isnull(const __libcpp_thread_t* __t) { return __libcpp_thread_get_id(__t) == 0; } int __libcpp_thread_create(__libcpp_thread_t* __t, void* (*__func)(void*), void* __arg) { return pthread_create(__t, nullptr, __func, __arg); } __libcpp_thread_id __libcpp_thread_get_current_id() { const __libcpp_thread_t __current_thread = pthread_self(); return __libcpp_thread_get_id(&__current_thread); } __libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t* __t) { return *__t; } int __libcpp_thread_join(__libcpp_thread_t* __t) { return pthread_join(*__t, nullptr); } int __libcpp_thread_detach(__libcpp_thread_t* __t) { return pthread_detach(*__t); } void __libcpp_thread_yield() { sched_yield(); } void __libcpp_thread_sleep_for(const chrono::nanoseconds& __ns) { __libcpp_timespec_t __ts = std::__convert_to_timespec<__libcpp_timespec_t>(__ns); while (nanosleep(&__ts, &__ts) == -1 && (*__errno()) == 4) ; } int __libcpp_tls_create(__libcpp_tls_key* __key, void (*__at_exit)(void*)) { return pthread_key_create(__key, __at_exit); } void* __libcpp_tls_get(__libcpp_tls_key __key) { return pthread_getspecific(__key); } int __libcpp_tls_set(__libcpp_tls_key __key, void* __p) { return pthread_setspecific(__key, __p); } # 454 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__threading_support" 3 }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { __attribute__((__visibility__("default"))) void __cxx_atomic_notify_one(void const volatile*); __attribute__((__visibility__("default"))) void __cxx_atomic_notify_all(void const volatile*); __attribute__((__visibility__("default"))) __cxx_contention_t __libcpp_atomic_monitor(void const volatile*); __attribute__((__visibility__("default"))) void __libcpp_atomic_wait(void const volatile*, __cxx_contention_t); __attribute__((__visibility__("default"))) void __cxx_atomic_notify_one(__cxx_atomic_contention_t const volatile*); __attribute__((__visibility__("default"))) void __cxx_atomic_notify_all(__cxx_atomic_contention_t const volatile*); __attribute__((__visibility__("default"))) __cxx_contention_t __libcpp_atomic_monitor(__cxx_atomic_contention_t const volatile*); __attribute__((__visibility__("default"))) void __libcpp_atomic_wait(__cxx_atomic_contention_t const volatile*, __cxx_contention_t); template <class _Atp, class _Fn> struct __libcpp_atomic_wait_backoff_impl { _Atp* __a; _Fn __test_fn; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(chrono::nanoseconds __elapsed) const { if (__elapsed > chrono::microseconds(64)) { auto const __monitor = std::__libcpp_atomic_monitor(__a); if (__test_fn()) return true; std::__libcpp_atomic_wait(__a, __monitor); } else if (__elapsed > chrono::microseconds(4)) __libcpp_thread_yield(); else { } return false; } }; template <class _Atp, class _Fn> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_atomic_wait(_Atp* __a, _Fn&& __test_fn) { __libcpp_atomic_wait_backoff_impl<_Atp, __decay_t<_Fn> > __backoff_fn = {__a, __test_fn}; return std::__libcpp_thread_poll_with_backoff(__test_fn, __backoff_fn); } # 84 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_sync.h" 3 template <typename _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_nonatomic_compare_equal(_Tp const& __lhs, _Tp const& __rhs) { return std::memcmp(std::addressof(__lhs), std::addressof(__rhs), sizeof(_Tp)) == 0; } template <class _Atp, class _Tp> struct __cxx_atomic_wait_test_fn_impl { _Atp* __a; _Tp __val; memory_order __order; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()() const { return !std::__cxx_nonatomic_compare_equal(std::__cxx_atomic_load(__a, __order), __val); } }; template <class _Atp, class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __cxx_atomic_wait(_Atp* __a, _Tp const __val, memory_order __order) { __cxx_atomic_wait_test_fn_impl<_Atp, _Tp> __test_fn = {__a, __val, __order}; return std::__cxx_atomic_wait(__a, __test_fn); } }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_base.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/check_memory_order.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/check_memory_order.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_base.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_base.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, bool = is_integral<_Tp>::value && !is_same<_Tp, bool>::value> struct __atomic_base { mutable __cxx_atomic_impl<_Tp> __a_; static constexpr bool is_always_lock_free = __libcpp_is_always_lock_free<__cxx_atomic_impl<_Tp> >::__value; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_lock_free() const volatile noexcept { return __c11_atomic_is_lock_free(sizeof(__cxx_atomic_impl<_Tp>)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_lock_free() const noexcept { return static_cast<__atomic_base const volatile*>(this)->is_lock_free(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void store(_Tp __d, memory_order __m = memory_order_seq_cst) volatile noexcept __attribute__((__diagnose_if__(__m == memory_order_consume || __m == memory_order_acquire || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { std::__cxx_atomic_store(std::addressof(__a_), __d, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void store(_Tp __d, memory_order __m = memory_order_seq_cst) noexcept __attribute__((__diagnose_if__(__m == memory_order_consume || __m == memory_order_acquire || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { std::__cxx_atomic_store(std::addressof(__a_), __d, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp load(memory_order __m = memory_order_seq_cst) const volatile noexcept __attribute__((__diagnose_if__(__m == memory_order_release || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return std::__cxx_atomic_load(std::addressof(__a_), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp load(memory_order __m = memory_order_seq_cst) const noexcept __attribute__((__diagnose_if__(__m == memory_order_release || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return std::__cxx_atomic_load(std::addressof(__a_), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) operator _Tp() const volatile noexcept { return load(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) operator _Tp() const noexcept { return load(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp exchange(_Tp __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_exchange(std::addressof(__a_), __d, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp exchange(_Tp __d, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_exchange(std::addressof(__a_), __d, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_weak(_Tp& __e, _Tp __d, memory_order __s, memory_order __f) volatile noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return std::__cxx_atomic_compare_exchange_weak(std::addressof(__a_), std::addressof(__e), __d, __s, __f); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_weak(_Tp& __e, _Tp __d, memory_order __s, memory_order __f) noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return std::__cxx_atomic_compare_exchange_weak(std::addressof(__a_), std::addressof(__e), __d, __s, __f); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_strong(_Tp& __e, _Tp __d, memory_order __s, memory_order __f) volatile noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return std::__cxx_atomic_compare_exchange_strong(std::addressof(__a_), std::addressof(__e), __d, __s, __f); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_strong(_Tp& __e, _Tp __d, memory_order __s, memory_order __f) noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return std::__cxx_atomic_compare_exchange_strong(std::addressof(__a_), std::addressof(__e), __d, __s, __f); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_weak(_Tp& __e, _Tp __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_compare_exchange_weak(std::addressof(__a_), std::addressof(__e), __d, __m, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_weak(_Tp& __e, _Tp __d, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_compare_exchange_weak(std::addressof(__a_), std::addressof(__e), __d, __m, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_strong(_Tp& __e, _Tp __d, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_compare_exchange_strong(std::addressof(__a_), std::addressof(__e), __d, __m, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool compare_exchange_strong(_Tp& __e, _Tp __d, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_compare_exchange_strong(std::addressof(__a_), std::addressof(__e), __d, __m, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void wait(_Tp __v, memory_order __m = memory_order_seq_cst) const volatile noexcept { std::__cxx_atomic_wait(std::addressof(__a_), __v, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void wait(_Tp __v, memory_order __m = memory_order_seq_cst) const noexcept { std::__cxx_atomic_wait(std::addressof(__a_), __v, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_one() volatile noexcept { std::__cxx_atomic_notify_one(std::addressof(__a_)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_one() noexcept { std::__cxx_atomic_notify_one(std::addressof(__a_)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_all() volatile noexcept { std::__cxx_atomic_notify_all(std::addressof(__a_)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_all() noexcept { std::__cxx_atomic_notify_all(std::addressof(__a_)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __atomic_base() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __atomic_base(_Tp __d) noexcept : __a_(__d) {} __atomic_base(const __atomic_base&) = delete; }; template <class _Tp, bool __b> constexpr bool __atomic_base<_Tp, __b>::is_always_lock_free; template <class _Tp> struct __atomic_base<_Tp, true> : public __atomic_base<_Tp, false> { using __base = __atomic_base<_Tp, false>; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __atomic_base() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __atomic_base(_Tp __d) noexcept : __base(__d) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_fetch_add(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_fetch_add(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_fetch_sub(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_fetch_sub(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_fetch_and(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_fetch_and(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_fetch_or(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_fetch_or(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) volatile noexcept { return std::__cxx_atomic_fetch_xor(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) noexcept { return std::__cxx_atomic_fetch_xor(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator++(int) volatile noexcept { return fetch_add(_Tp(1)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator++(int) noexcept { return fetch_add(_Tp(1)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator--(int) volatile noexcept { return fetch_sub(_Tp(1)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator--(int) noexcept { return fetch_sub(_Tp(1)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator++() volatile noexcept { return fetch_add(_Tp(1)) + _Tp(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator++() noexcept { return fetch_add(_Tp(1)) + _Tp(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator--() volatile noexcept { return fetch_sub(_Tp(1)) - _Tp(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator--() noexcept { return fetch_sub(_Tp(1)) - _Tp(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator+=(_Tp __op) volatile noexcept { return fetch_add(__op) + __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator+=(_Tp __op) noexcept { return fetch_add(__op) + __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator-=(_Tp __op) volatile noexcept { return fetch_sub(__op) - __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator-=(_Tp __op) noexcept { return fetch_sub(__op) - __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator&=(_Tp __op) volatile noexcept { return fetch_and(__op) & __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator&=(_Tp __op) noexcept { return fetch_and(__op) & __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator|=(_Tp __op) volatile noexcept { return fetch_or(__op) | __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator|=(_Tp __op) noexcept { return fetch_or(__op) | __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator^=(_Tp __op) volatile noexcept { return fetch_xor(__op) ^ __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator^=(_Tp __op) noexcept { return fetch_xor(__op) ^ __op; } }; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic.h" 2 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> struct atomic : public __atomic_base<_Tp> { using __base = __atomic_base<_Tp>; using value_type = _Tp; using difference_type = value_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) atomic() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr atomic(_Tp __d) noexcept : __base(__d) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator=(_Tp __d) volatile noexcept { __base::store(__d); return __d; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp operator=(_Tp __d) noexcept { __base::store(__d); return __d; } atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; }; template <class _Tp> struct atomic<_Tp*> : public __atomic_base<_Tp*> { using __base = __atomic_base<_Tp*>; using value_type = _Tp*; using difference_type = ptrdiff_t; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) atomic() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr atomic(_Tp* __d) noexcept : __base(__d) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator=(_Tp* __d) volatile noexcept { __base::store(__d); return __d; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator=(_Tp* __d) noexcept { __base::store(__d); return __d; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* fetch_add(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) volatile noexcept { static_assert(!is_function<__remove_pointer_t<_Tp> >::value, "Pointer to function isn't allowed"); return std::__cxx_atomic_fetch_add(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* fetch_add(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) noexcept { static_assert(!is_function<__remove_pointer_t<_Tp> >::value, "Pointer to function isn't allowed"); return std::__cxx_atomic_fetch_add(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* fetch_sub(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) volatile noexcept { static_assert(!is_function<__remove_pointer_t<_Tp> >::value, "Pointer to function isn't allowed"); return std::__cxx_atomic_fetch_sub(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* fetch_sub(ptrdiff_t __op, memory_order __m = memory_order_seq_cst) noexcept { static_assert(!is_function<__remove_pointer_t<_Tp> >::value, "Pointer to function isn't allowed"); return std::__cxx_atomic_fetch_sub(std::addressof(this->__a_), __op, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator++(int) volatile noexcept { return fetch_add(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator++(int) noexcept { return fetch_add(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator--(int) volatile noexcept { return fetch_sub(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator--(int) noexcept { return fetch_sub(1); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator++() volatile noexcept { return fetch_add(1) + 1; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator++() noexcept { return fetch_add(1) + 1; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator--() volatile noexcept { return fetch_sub(1) - 1; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator--() noexcept { return fetch_sub(1) - 1; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator+=(ptrdiff_t __op) volatile noexcept { return fetch_add(__op) + __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator+=(ptrdiff_t __op) noexcept { return fetch_add(__op) + __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator-=(ptrdiff_t __op) volatile noexcept { return fetch_sub(__op) - __op; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp* operator-=(ptrdiff_t __op) noexcept { return fetch_sub(__op) - __op; } atomic& operator=(const atomic&) = delete; atomic& operator=(const atomic&) volatile = delete; }; # 256 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic.h" 3 template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_is_lock_free(const volatile atomic<_Tp>* __o) noexcept { return __o->is_lock_free(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_is_lock_free(const atomic<_Tp>* __o) noexcept { return __o->is_lock_free(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_init(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d) noexcept { std::__cxx_atomic_init(std::addressof(__o->__a_), __d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_init(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d) noexcept { std::__cxx_atomic_init(std::addressof(__o->__a_), __d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_store(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d) noexcept { __o->store(__d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_store(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d) noexcept { __o->store(__d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_store_explicit(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d, memory_order __m) noexcept __attribute__((__diagnose_if__(__m == memory_order_consume || __m == memory_order_acquire || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { __o->store(__d, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_store_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d, memory_order __m) noexcept __attribute__((__diagnose_if__(__m == memory_order_consume || __m == memory_order_acquire || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { __o->store(__d, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_load(const volatile atomic<_Tp>* __o) noexcept { return __o->load(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_load(const atomic<_Tp>* __o) noexcept { return __o->load(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_load_explicit(const volatile atomic<_Tp>* __o, memory_order __m) noexcept __attribute__((__diagnose_if__(__m == memory_order_release || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->load(__m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_load_explicit(const atomic<_Tp>* __o, memory_order __m) noexcept __attribute__((__diagnose_if__(__m == memory_order_release || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->load(__m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_exchange(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d) noexcept { return __o->exchange(__d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_exchange(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d) noexcept { return __o->exchange(__d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_exchange_explicit(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d, memory_order __m) noexcept { return __o->exchange(__d, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_exchange_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __d, memory_order __m) noexcept { return __o->exchange(__d, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_weak( volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d) noexcept { return __o->compare_exchange_weak(*__e, __d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_weak( atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d) noexcept { return __o->compare_exchange_weak(*__e, __d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_strong( volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d) noexcept { return __o->compare_exchange_strong(*__e, __d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_strong( atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d) noexcept { return __o->compare_exchange_strong(*__e, __d); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_weak_explicit( volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d, memory_order __s, memory_order __f) noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->compare_exchange_weak(*__e, __d, __s, __f); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_weak_explicit( atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d, memory_order __s, memory_order __f) noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->compare_exchange_weak(*__e, __d, __s, __f); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_strong_explicit( volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d, memory_order __s, memory_order __f) noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->compare_exchange_strong(*__e, __d, __s, __f); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_compare_exchange_strong_explicit( atomic<_Tp>* __o, typename atomic<_Tp>::value_type* __e, typename atomic<_Tp>::value_type __d, memory_order __s, memory_order __f) noexcept __attribute__((__diagnose_if__(__f == memory_order_release || __f == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->compare_exchange_strong(*__e, __d, __s, __f); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_wait(const volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __v) noexcept { return __o->wait(__v); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_wait(const atomic<_Tp>* __o, typename atomic<_Tp>::value_type __v) noexcept { return __o->wait(__v); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_wait_explicit(const volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __v, memory_order __m) noexcept __attribute__((__diagnose_if__(__m == memory_order_release || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->wait(__v, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_wait_explicit(const atomic<_Tp>* __o, typename atomic<_Tp>::value_type __v, memory_order __m) noexcept __attribute__((__diagnose_if__(__m == memory_order_release || __m == memory_order_acq_rel, "memory order argument to atomic operation is invalid", "warning"))) { return __o->wait(__v, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_notify_one(volatile atomic<_Tp>* __o) noexcept { __o->notify_one(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_notify_one(atomic<_Tp>* __o) noexcept { __o->notify_one(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_notify_all(volatile atomic<_Tp>* __o) noexcept { __o->notify_all(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_notify_all(atomic<_Tp>* __o) noexcept { __o->notify_all(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_add(volatile atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op) noexcept { return __o->fetch_add(__op); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_add(atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op) noexcept { return __o->fetch_add(__op); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_add_explicit( volatile atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op, memory_order __m) noexcept { return __o->fetch_add(__op, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_add_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op, memory_order __m) noexcept { return __o->fetch_add(__op, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_sub(volatile atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op) noexcept { return __o->fetch_sub(__op); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_sub(atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op) noexcept { return __o->fetch_sub(__op); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_sub_explicit( volatile atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op, memory_order __m) noexcept { return __o->fetch_sub(__op, __m); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_sub_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::difference_type __op, memory_order __m) noexcept { return __o->fetch_sub(__op, __m); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_and(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op) noexcept { return __o->fetch_and(__op); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_and(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op) noexcept { return __o->fetch_and(__op); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_and_explicit( volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op, memory_order __m) noexcept { return __o->fetch_and(__op, __m); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_and_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op, memory_order __m) noexcept { return __o->fetch_and(__op, __m); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_or(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op) noexcept { return __o->fetch_or(__op); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_or(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op) noexcept { return __o->fetch_or(__op); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_or_explicit(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op, memory_order __m) noexcept { return __o->fetch_or(__op, __m); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_or_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op, memory_order __m) noexcept { return __o->fetch_or(__op, __m); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_xor(volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op) noexcept { return __o->fetch_xor(__op); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_xor(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op) noexcept { return __o->fetch_xor(__op); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_xor_explicit( volatile atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op, memory_order __m) noexcept { return __o->fetch_xor(__op, __m); } template <class _Tp, __enable_if_t<is_integral<_Tp>::value && !is_same<_Tp, bool>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp atomic_fetch_xor_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __op, memory_order __m) noexcept { return __o->fetch_xor(__op, __m); } }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/aliases.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_lock_free.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_lock_free.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/aliases.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/aliases.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using atomic_bool = atomic<bool>; using atomic_char = atomic<char>; using atomic_schar = atomic<signed char>; using atomic_uchar = atomic<unsigned char>; using atomic_short = atomic<short>; using atomic_ushort = atomic<unsigned short>; using atomic_int = atomic<int>; using atomic_uint = atomic<unsigned int>; using atomic_long = atomic<long>; using atomic_ulong = atomic<unsigned long>; using atomic_llong = atomic<long long>; using atomic_ullong = atomic<unsigned long long>; using atomic_char16_t = atomic<char16_t>; using atomic_char32_t = atomic<char32_t>; using atomic_wchar_t = atomic<wchar_t>; using atomic_int_least8_t = atomic<int_least8_t>; using atomic_uint_least8_t = atomic<uint_least8_t>; using atomic_int_least16_t = atomic<int_least16_t>; using atomic_uint_least16_t = atomic<uint_least16_t>; using atomic_int_least32_t = atomic<int_least32_t>; using atomic_uint_least32_t = atomic<uint_least32_t>; using atomic_int_least64_t = atomic<int_least64_t>; using atomic_uint_least64_t = atomic<uint_least64_t>; using atomic_int_fast8_t = atomic<int_fast8_t>; using atomic_uint_fast8_t = atomic<uint_fast8_t>; using atomic_int_fast16_t = atomic<int_fast16_t>; using atomic_uint_fast16_t = atomic<uint_fast16_t>; using atomic_int_fast32_t = atomic<int_fast32_t>; using atomic_uint_fast32_t = atomic<uint_fast32_t>; using atomic_int_fast64_t = atomic<int_fast64_t>; using atomic_uint_fast64_t = atomic<uint_fast64_t>; using atomic_int8_t = atomic< int8_t>; using atomic_uint8_t = atomic<uint8_t>; using atomic_int16_t = atomic< int16_t>; using atomic_uint16_t = atomic<uint16_t>; using atomic_int32_t = atomic< int32_t>; using atomic_uint32_t = atomic<uint32_t>; using atomic_int64_t = atomic< int64_t>; using atomic_uint64_t = atomic<uint64_t>; using atomic_intptr_t = atomic<intptr_t>; using atomic_uintptr_t = atomic<uintptr_t>; using atomic_size_t = atomic<size_t>; using atomic_ptrdiff_t = atomic<ptrdiff_t>; using atomic_intmax_t = atomic<intmax_t>; using atomic_uintmax_t = atomic<uintmax_t>; # 109 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/aliases.h" 3 }} # 592 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_flag.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_flag.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct atomic_flag { __cxx_atomic_impl<bool> __a_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool test(memory_order __m = memory_order_seq_cst) const volatile noexcept { return bool(true) == __cxx_atomic_load(&__a_, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool test(memory_order __m = memory_order_seq_cst) const noexcept { return bool(true) == __cxx_atomic_load(&__a_, __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept { return __cxx_atomic_exchange(&__a_, bool(true), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool test_and_set(memory_order __m = memory_order_seq_cst) noexcept { return __cxx_atomic_exchange(&__a_, bool(true), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void clear(memory_order __m = memory_order_seq_cst) volatile noexcept { __cxx_atomic_store(&__a_, bool(false), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void clear(memory_order __m = memory_order_seq_cst) noexcept { __cxx_atomic_store(&__a_, bool(false), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void wait(bool __v, memory_order __m = memory_order_seq_cst) const volatile noexcept { __cxx_atomic_wait(&__a_, bool(__v), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void wait(bool __v, memory_order __m = memory_order_seq_cst) const noexcept { __cxx_atomic_wait(&__a_, bool(__v), __m); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_one() volatile noexcept { __cxx_atomic_notify_one(&__a_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_one() noexcept { __cxx_atomic_notify_one(&__a_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_all() volatile noexcept { __cxx_atomic_notify_all(&__a_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void notify_all() noexcept { __cxx_atomic_notify_all(&__a_); } atomic_flag() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr atomic_flag(bool __b) noexcept : __a_(__b) {} atomic_flag(const atomic_flag&) = delete; atomic_flag& operator=(const atomic_flag&) = delete; atomic_flag& operator=(const atomic_flag&) volatile = delete; }; inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test(const volatile atomic_flag* __o) noexcept { return __o->test(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test(const atomic_flag* __o) noexcept { return __o->test(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test_explicit(const volatile atomic_flag* __o, memory_order __m) noexcept { return __o->test(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test_explicit(const atomic_flag* __o, memory_order __m) noexcept { return __o->test(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test_and_set(volatile atomic_flag* __o) noexcept { return __o->test_and_set(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test_and_set(atomic_flag* __o) noexcept { return __o->test_and_set(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test_and_set_explicit(volatile atomic_flag* __o, memory_order __m) noexcept { return __o->test_and_set(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool atomic_flag_test_and_set_explicit(atomic_flag* __o, memory_order __m) noexcept { return __o->test_and_set(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_clear(volatile atomic_flag* __o) noexcept { __o->clear(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_clear(atomic_flag* __o) noexcept { __o->clear(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_clear_explicit(volatile atomic_flag* __o, memory_order __m) noexcept { __o->clear(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_clear_explicit(atomic_flag* __o, memory_order __m) noexcept { __o->clear(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_wait(const volatile atomic_flag* __o, bool __v) noexcept { __o->wait(__v); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_wait(const atomic_flag* __o, bool __v) noexcept { __o->wait(__v); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_wait_explicit(const volatile atomic_flag* __o, bool __v, memory_order __m) noexcept { __o->wait(__v, __m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_wait_explicit(const atomic_flag* __o, bool __v, memory_order __m) noexcept { __o->wait(__v, __m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_notify_one(volatile atomic_flag* __o) noexcept { __o->notify_one(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_notify_one(atomic_flag* __o) noexcept { __o->notify_one(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_notify_all(volatile atomic_flag* __o) noexcept { __o->notify_all(); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_flag_notify_all(atomic_flag* __o) noexcept { __o->notify_all(); } }} # 595 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_init.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/atomic_init.h" 3 # 596 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/fence.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/fence.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_thread_fence(memory_order __m) noexcept { __cxx_atomic_thread_fence(__m); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void atomic_signal_fence(memory_order __m) noexcept { __cxx_atomic_signal_fence(__m); } }} # 602 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/kill_dependency.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__atomic/kill_dependency.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp kill_dependency(_Tp __y) noexcept { return __y; } }} # 604 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 2 3 # 610 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/atomic" 3 # 958 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/concepts" 1 3 # 138 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/concepts" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_with.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_with.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 50 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__concepts/common_with.h" 3 }} # 139 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/concepts" 2 3 # 164 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/concepts" 3 # 959 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 1 3 # 681 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/back_insert_iterator.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/back_insert_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/back_insert_iterator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/back_insert_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/back_insert_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Container> class back_insert_iterator : public iterator<output_iterator_tag, void, void, void, void> { #pragma GCC diagnostic pop protected: _Container* container; public: typedef output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; typedef _Container container_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit back_insert_iterator(_Container& __x) : container(std::addressof(__x)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) back_insert_iterator& operator=(const typename _Container::value_type& __value) { container->push_back(__value); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) back_insert_iterator& operator=(typename _Container::value_type&& __value) { container->push_back(std::move(__value)); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) back_insert_iterator& operator*() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) back_insert_iterator& operator++() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) back_insert_iterator operator++(int) { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Container* __get_container() const { return container; } }; template <class... _Tag> [[maybe_unused]] back_insert_iterator(typename _Tag::__allow_ctad...)->back_insert_iterator<_Tag...>; template <class _Container> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } }} # 682 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/bounded_iter.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/bounded_iter.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/bounded_iter.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/bounded_iter.h" 3 template <class _Iterator, class = __enable_if_t< __libcpp_is_contiguous_iterator<_Iterator>::value > > struct __bounded_iter { using value_type = typename iterator_traits<_Iterator>::value_type; using difference_type = typename iterator_traits<_Iterator>::difference_type; using pointer = typename iterator_traits<_Iterator>::pointer; using reference = typename iterator_traits<_Iterator>::reference; using iterator_category = typename iterator_traits<_Iterator>::iterator_category; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/bounded_iter.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bounded_iter() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bounded_iter(__bounded_iter const&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bounded_iter(__bounded_iter&&) = default; template <class _OtherIterator, class = __enable_if_t< is_convertible<_OtherIterator, _Iterator>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter(__bounded_iter<_OtherIterator> const& __other) noexcept : __current_(__other.__current_), __begin_(__other.__begin_), __end_(__other.__end_) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bounded_iter& operator=(__bounded_iter const&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bounded_iter& operator=(__bounded_iter&&) = default; private: # 81 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/bounded_iter.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __bounded_iter( _Iterator __current, _Iterator __begin, _Iterator __end) : __current_(__current), __begin_(__begin), __end_(__end) { ((void)0); } template <class _It> friend constexpr __bounded_iter<_It> __make_bounded_iter(_It, _It, _It); public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator*() const noexcept { ((void)0); return *__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pointer operator->() const noexcept { ((void)0); return std::__to_address(__current_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator[](difference_type __n) const noexcept { ((void)0); return __current_[__n]; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter& operator++() noexcept { ++__current_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter operator++(int) noexcept { __bounded_iter __tmp(*this); ++*this; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter& operator--() noexcept { --__current_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter operator--(int) noexcept { __bounded_iter __tmp(*this); --*this; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter& operator+=(difference_type __n) noexcept { __current_ += __n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend __bounded_iter operator+(__bounded_iter const& __self, difference_type __n) noexcept { __bounded_iter __tmp(__self); __tmp += __n; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend __bounded_iter operator+(difference_type __n, __bounded_iter const& __self) noexcept { __bounded_iter __tmp(__self); __tmp += __n; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter& operator-=(difference_type __n) noexcept { __current_ -= __n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend __bounded_iter operator-(__bounded_iter const& __self, difference_type __n) noexcept { __bounded_iter __tmp(__self); __tmp -= __n; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend difference_type operator-(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ - __y.__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend bool operator==(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ == __y.__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend bool operator!=(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ != __y.__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend bool operator<(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ < __y.__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend bool operator>(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ > __y.__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend bool operator<=(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ <= __y.__current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr friend bool operator>=(__bounded_iter const& __x, __bounded_iter const& __y) noexcept { return __x.__current_ >= __y.__current_; } private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __in_bounds(_Iterator const& __iter) const { return __iter >= __begin_ && __iter < __end_; } template <class> friend struct pointer_traits; _Iterator __current_; _Iterator __begin_, __end_; }; template <class _It> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __bounded_iter<_It> __make_bounded_iter(_It __it, _It __begin, _It __end) { return __bounded_iter<_It>(std::move(__it), std::move(__begin), std::move(__end)); } template <class _Iterator> struct __libcpp_is_contiguous_iterator<__bounded_iter<_Iterator> > : true_type {}; template <class _Iterator> struct pointer_traits<__bounded_iter<_Iterator> > { using pointer = __bounded_iter<_Iterator>; using element_type = typename pointer_traits<_Iterator>::element_type; using difference_type = typename pointer_traits<_Iterator>::difference_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static element_type* to_address(pointer __it) noexcept { return std::__to_address(__it.__current_); } }; }} # 683 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/common_iterator.h" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/common_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 1 3 # 241 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__variant/monostate.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__variant/monostate.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct monostate {}; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool operator==(monostate, monostate) noexcept { return true; } # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__variant/monostate.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool operator!=(monostate, monostate) noexcept { return false; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool operator<(monostate, monostate) noexcept { return false; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool operator>(monostate, monostate) noexcept { return false; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool operator<=(monostate, monostate) noexcept { return true; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr bool operator>=(monostate, monostate) noexcept { return true; } template <> struct hash<monostate> { using argument_type = monostate; using result_type = size_t; inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type operator()(const argument_type&) const noexcept { return 66740831; } }; }} # 242 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 2 3 # 256 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 260 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 2 3 namespace std { class __attribute__((__visibility__("default"))) bad_variant_access : public exception { public: const char* what() const noexcept override; }; } namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, size_t _Size> struct __farray { static_assert(_Size > 0, "N-dimensional array should never be empty in std::visit"); _Tp __buf_[_Size] = {}; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& operator[](size_t __n) const noexcept { return __buf_[__n]; } }; [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_bad_variant_access() { throw bad_variant_access(); } template <class... _Types> class variant; template <class _Tp> struct variant_size; template <class _Tp> inline constexpr size_t variant_size_v = variant_size<_Tp>::value; template <class _Tp> struct variant_size<const _Tp> : variant_size<_Tp> {}; template <class _Tp> struct variant_size<volatile _Tp> : variant_size<_Tp> {}; template <class _Tp> struct variant_size<const volatile _Tp> : variant_size<_Tp> {}; template <class... _Types> struct variant_size<variant<_Types...>> : integral_constant<size_t, sizeof...(_Types)> {}; template <size_t _Ip, class _Tp> struct variant_alternative; template <size_t _Ip, class _Tp> using variant_alternative_t = typename variant_alternative<_Ip, _Tp>::type; template <size_t _Ip, class _Tp> struct variant_alternative<_Ip, const _Tp> : add_const<variant_alternative_t<_Ip, _Tp>> {}; template <size_t _Ip, class _Tp> struct variant_alternative<_Ip, volatile _Tp> : add_volatile<variant_alternative_t<_Ip, _Tp>> {}; template <size_t _Ip, class _Tp> struct variant_alternative<_Ip, const volatile _Tp> : add_cv<variant_alternative_t<_Ip, _Tp>> {}; template <size_t _Ip, class... _Types> struct variant_alternative<_Ip, variant<_Types...>> { static_assert(_Ip < sizeof...(_Types), "Index out of bounds in std::variant_alternative<>"); using type = __type_pack_element<_Ip, _Types...>; }; inline constexpr size_t variant_npos = static_cast<size_t>(-1); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __choose_index_type(unsigned int __num_elem) { if (__num_elem < numeric_limits<unsigned char>::max()) return 0; if (__num_elem < numeric_limits<unsigned short>::max()) return 1; return 2; } template <size_t _NumAlts> using __variant_index_t = unsigned int; template <class _IndexType> constexpr _IndexType __variant_npos = static_cast<_IndexType>(-1); template <class... _Types> class variant; template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant<_Types...>& __as_variant(variant<_Types...>& __vs) noexcept { return __vs; } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const variant<_Types...>& __as_variant(const variant<_Types...>& __vs) noexcept { return __vs; } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant<_Types...>&& __as_variant(variant<_Types...>&& __vs) noexcept { return std::move(__vs); } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const variant<_Types...>&& __as_variant(const variant<_Types...>&& __vs) noexcept { return std::move(__vs); } namespace __find_detail { template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t __find_index() { constexpr bool __matches[] = {is_same_v<_Tp, _Types>...}; size_t __result = __not_found; for (size_t __i = 0; __i < sizeof...(_Types); ++__i) { if (__matches[__i]) { if (__result != __not_found) { return __ambiguous; } __result = __i; } } return __result; } template <size_t _Index> struct __find_unambiguous_index_sfinae_impl : integral_constant<size_t, _Index> {}; template <> struct __find_unambiguous_index_sfinae_impl<__not_found> {}; template <> struct __find_unambiguous_index_sfinae_impl<__ambiguous> {}; template <class _Tp, class... _Types> struct __find_unambiguous_index_sfinae : __find_unambiguous_index_sfinae_impl<__find_index<_Tp, _Types...>()> {}; } namespace __variant_detail { struct __valueless_t {}; enum class _Trait { _TriviallyAvailable, _Available, _Unavailable }; template <typename _Tp, template <typename> class _IsTriviallyAvailable, template <typename> class _IsAvailable> constexpr _Trait __trait = _IsTriviallyAvailable<_Tp>::value ? _Trait::_TriviallyAvailable : _IsAvailable<_Tp>::value ? _Trait::_Available : _Trait::_Unavailable; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Trait __common_trait(initializer_list<_Trait> __traits) { _Trait __result = _Trait::_TriviallyAvailable; for (_Trait __t : __traits) { if (static_cast<int>(__t) > static_cast<int>(__result)) { __result = __t; } } return __result; } template <typename... _Types> struct __traits { static constexpr _Trait __copy_constructible_trait = __variant_detail::__common_trait({__trait<_Types, is_trivially_copy_constructible, is_copy_constructible>...}); static constexpr _Trait __move_constructible_trait = __variant_detail::__common_trait({__trait<_Types, is_trivially_move_constructible, is_move_constructible>...}); static constexpr _Trait __copy_assignable_trait = __variant_detail::__common_trait( {__copy_constructible_trait, __trait<_Types, is_trivially_copy_assignable, is_copy_assignable>...}); static constexpr _Trait __move_assignable_trait = __variant_detail::__common_trait( {__move_constructible_trait, __trait<_Types, is_trivially_move_assignable, is_move_assignable>...}); static constexpr _Trait __destructible_trait = __variant_detail::__common_trait({__trait<_Types, is_trivially_destructible, is_destructible>...}); }; namespace __access { struct __union { template <class _Vp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto&& __get_alt(_Vp&& __v, in_place_index_t<0>) { return std::forward<_Vp>(__v).__head; } template <class _Vp, size_t _Ip> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto&& __get_alt(_Vp&& __v, in_place_index_t<_Ip>) { return __get_alt(std::forward<_Vp>(__v).__tail, in_place_index<_Ip - 1>); } }; struct __base { template <size_t _Ip, class _Vp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto&& __get_alt(_Vp&& __v) { return __union::__get_alt(std::forward<_Vp>(__v).__data, in_place_index<_Ip>); } }; struct __variant { template <size_t _Ip, class _Vp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto&& __get_alt(_Vp&& __v) { return __base::__get_alt<_Ip>(std::forward<_Vp>(__v).__impl_); } }; } namespace __visitation { struct __base { template <class _Visitor, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __visit_alt_at(size_t __index, _Visitor&& __visitor, _Vs&&... __vs) { constexpr auto __fdiagonal = __make_fdiagonal<_Visitor&&, decltype(std::forward<_Vs>(__vs).__as_base())...>(); return __fdiagonal[__index](std::forward<_Visitor>(__visitor), std::forward<_Vs>(__vs).__as_base()...); } template <class _Visitor, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __visit_alt(_Visitor&& __visitor, _Vs&&... __vs) { constexpr auto __fmatrix = __make_fmatrix<_Visitor&&, decltype(std::forward<_Vs>(__vs).__as_base())...>(); return __at(__fmatrix, __vs.index()...)(std::forward<_Visitor>(__visitor), std::forward<_Vs>(__vs).__as_base()...); } private: template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr const _Tp& __at(const _Tp& __elem) { return __elem; } template <class _Tp, size_t _Np, typename... _Indices> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto&& __at(const __farray<_Tp, _Np>& __elems, size_t __index, _Indices... __indices) { return __at(__elems[__index], __indices...); } template <class _Fp, class... _Fs> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __std_visit_visitor_return_type_check() { static_assert( __all<is_same_v<_Fp, _Fs>...>::value, "`std::visit` requires the visitor to have a single return type."); } template <class... _Fs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_farray(_Fs&&... __fs) { __std_visit_visitor_return_type_check<__remove_cvref_t<_Fs>...>(); using __result = __farray<common_type_t<__remove_cvref_t<_Fs>...>, sizeof...(_Fs)>; return __result{{std::forward<_Fs>(__fs)...}}; } template <size_t... _Is> struct __dispatcher { template <class _Fp, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __dispatch(_Fp __f, _Vs... __vs) { return std::__invoke(static_cast<_Fp>(__f), __access::__base::__get_alt<_Is>(static_cast<_Vs>(__vs))...); } }; template <class _Fp, class... _Vs, size_t... _Is> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_dispatch(index_sequence<_Is...>) { return __dispatcher<_Is...>::template __dispatch<_Fp, _Vs...>; } template <size_t _Ip, class _Fp, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_fdiagonal_impl() { return __make_dispatch<_Fp, _Vs...>(index_sequence<((void)__type_identity<_Vs>{}, _Ip)...>{}); } template <class _Fp, class... _Vs, size_t... _Is> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_fdiagonal_impl(index_sequence<_Is...>) { return __base::__make_farray(__make_fdiagonal_impl<_Is, _Fp, _Vs...>()...); } template <class _Fp, class _Vp, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_fdiagonal() { constexpr size_t __np = __remove_cvref_t<_Vp>::__size(); static_assert(__all<(__np == __remove_cvref_t<_Vs>::__size())...>::value); return __make_fdiagonal_impl<_Fp, _Vp, _Vs...>(make_index_sequence<__np>{}); } template <class _Fp, class... _Vs, size_t... _Is> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_fmatrix_impl(index_sequence<_Is...> __is) { return __make_dispatch<_Fp, _Vs...>(__is); } template <class _Fp, class... _Vs, size_t... _Is, size_t... _Js, class... _Ls> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_fmatrix_impl(index_sequence<_Is...>, index_sequence<_Js...>, _Ls... __ls) { return __base::__make_farray(__make_fmatrix_impl<_Fp, _Vs...>(index_sequence<_Is..., _Js>{}, __ls...)...); } template <class _Fp, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_fmatrix() { return __make_fmatrix_impl<_Fp, _Vs...>( index_sequence<>{}, make_index_sequence<__remove_cvref_t<_Vs>::__size()>{}...); } }; struct __variant { template <class _Visitor, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __visit_alt_at(size_t __index, _Visitor&& __visitor, _Vs&&... __vs) { return __base::__visit_alt_at(__index, std::forward<_Visitor>(__visitor), std::forward<_Vs>(__vs).__impl_...); } template <class _Visitor, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __visit_alt(_Visitor&& __visitor, _Vs&&... __vs) { return __base::__visit_alt( std::forward<_Visitor>(__visitor), std::__as_variant(std::forward<_Vs>(__vs)).__impl_...); } template <class _Visitor, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __visit_value_at(size_t __index, _Visitor&& __visitor, _Vs&&... __vs) { return __visit_alt_at(__index, __make_value_visitor(std::forward<_Visitor>(__visitor)), std::forward<_Vs>(__vs)...); } template <class _Visitor, class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr decltype(auto) __visit_value(_Visitor&& __visitor, _Vs&&... __vs) { return __visit_alt(__make_value_visitor(std::forward<_Visitor>(__visitor)), std::forward<_Vs>(__vs)...); } # 601 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 private: template <class _Visitor, class... _Values> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __std_visit_exhaustive_visitor_check() { static_assert(is_invocable_v<_Visitor, _Values...>, "`std::visit` requires the visitor to be exhaustive."); } template <class _Visitor> struct __value_visitor { template <class... _Alts> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(auto) operator()(_Alts&&... __alts) const { __std_visit_exhaustive_visitor_check< _Visitor, decltype((std::forward<_Alts>(__alts).__value))...>(); return std::__invoke(std::forward<_Visitor>(__visitor), std::forward<_Alts>(__alts).__value...); } _Visitor&& __visitor; }; # 634 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class _Visitor> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr auto __make_value_visitor(_Visitor&& __visitor) { return __value_visitor<_Visitor>{std::forward<_Visitor>(__visitor)}; } }; } template <size_t _Index, class _Tp> struct __alt { using __value_type = _Tp; template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __alt(in_place_t, _Args&&... __args) : __value(std::forward<_Args>(__args)...) {} __value_type __value; }; template <_Trait _DestructibleTrait, size_t _Index, class... _Types> union __union; template <_Trait _DestructibleTrait, size_t _Index> union __union<_DestructibleTrait, _Index> {}; # 697 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <size_t _Index, class _Tp, class... _Types> union __union<_Trait::_TriviallyAvailable, _Index, _Tp, _Types...> { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(__valueless_t) noexcept : __dummy{} {} template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(in_place_index_t<0>, _Args&&... __args) : __head(in_place, std::forward<_Args>(__args)...) {} template <size_t _Ip, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(in_place_index_t<_Ip>, _Args&&... __args) : __tail(in_place_index<_Ip - 1>, std::forward<_Args>(__args)...) {} __union(const __union&) = default; __union(__union&&) = default; ~__union() = default; __union& operator=(const __union&) = default; __union& operator=(__union&&) = default; private: char __dummy; __alt<_Index, _Tp> __head; __union<_Trait::_TriviallyAvailable, _Index + 1, _Types...> __tail; friend struct __access::__union; }; template <size_t _Index, class _Tp, class... _Types> union __union<_Trait::_Available, _Index, _Tp, _Types...> { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(__valueless_t) noexcept : __dummy{} {} template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(in_place_index_t<0>, _Args&&... __args) : __head(in_place, std::forward<_Args>(__args)...) {} template <size_t _Ip, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(in_place_index_t<_Ip>, _Args&&... __args) : __tail(in_place_index<_Ip - 1>, std::forward<_Args>(__args)...) {} __union(const __union&) = default; __union(__union&&) = default; ~__union(){} __union& operator=(const __union&) = default; __union& operator=(__union&&) = default; private: char __dummy; __alt<_Index, _Tp> __head; __union<_Trait::_Available, _Index + 1, _Types...> __tail; friend struct __access::__union; }; template <size_t _Index, class _Tp, class... _Types> union __union<_Trait::_Unavailable, _Index, _Tp, _Types...> { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(__valueless_t) noexcept : __dummy{} {} template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(in_place_index_t<0>, _Args&&... __args) : __head(in_place, std::forward<_Args>(__args)...) {} template <size_t _Ip, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __union(in_place_index_t<_Ip>, _Args&&... __args) : __tail(in_place_index<_Ip - 1>, std::forward<_Args>(__args)...) {} __union(const __union&) = default; __union(__union&&) = default; ~__union() = delete; __union& operator=(const __union&) = default; __union& operator=(__union&&) = default; private: char __dummy; __alt<_Index, _Tp> __head; __union<_Trait::_Unavailable, _Index + 1, _Types...> __tail; friend struct __access::__union; }; template <_Trait _DestructibleTrait, class... _Types> class __base { public: using __index_t = __variant_index_t<sizeof...(_Types)>; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __base(__valueless_t __tag) noexcept : __data(__tag), __index(__variant_npos<__index_t>) {} template <size_t _Ip, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr __base(in_place_index_t<_Ip>, _Args&&... __args) : __data(in_place_index<_Ip>, std::forward<_Args>(__args)...), __index(_Ip) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool valueless_by_exception() const noexcept { return index() == variant_npos; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t index() const noexcept { return __index == __variant_npos<__index_t> ? variant_npos : __index; } protected: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __as_base() & { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __as_base() && { return std::move(*this); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __as_base() const& { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __as_base() const&& { return std::move(*this); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr size_t __size() { return sizeof...(_Types); } __union<_DestructibleTrait, 0, _Types...> __data; __index_t __index; friend struct __access::__base; friend struct __visitation::__base; }; template <class _Traits, _Trait = _Traits::__destructible_trait> class __dtor; # 762 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __dtor<__traits<_Types...>, _Trait::_TriviallyAvailable> : public __base<_Trait::_TriviallyAvailable, _Types...> { using __base_type = __base<_Trait::_TriviallyAvailable, _Types...>; using __index_t = typename __base_type::__index_t; public: using __base_type::__base_type; using __base_type::operator=; __dtor(const __dtor&) = default; __dtor(__dtor&&) = default; ~__dtor() = default; __dtor& operator=(const __dtor&) = default; __dtor& operator=(__dtor&&) = default; protected: inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __destroy() noexcept { this->__index = __variant_npos<__index_t>; } }; template <class... _Types> class __dtor<__traits<_Types...>, _Trait::_Available> : public __base<_Trait::_Available, _Types...> { using __base_type = __base<_Trait::_Available, _Types...>; using __index_t = typename __base_type::__index_t; public: using __base_type::__base_type; using __base_type::operator=; __dtor(const __dtor&) = default; __dtor(__dtor&&) = default; ~__dtor() { __destroy(); } __dtor& operator=(const __dtor&) = default; __dtor& operator=(__dtor&&) = default; protected: inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __destroy() noexcept { if (!this->valueless_by_exception()) { __visitation::__base::__visit_alt( [](auto& __alt) noexcept { using __alt_type = __remove_cvref_t<decltype(__alt)>; __alt.~__alt_type(); }, *this); } this->__index = __variant_npos<__index_t>; } }; # 781 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __dtor<__traits<_Types...>, _Trait::_Unavailable> : public __base<_Trait::_Unavailable, _Types...> { using __base_type = __base<_Trait::_Unavailable, _Types...>; using __index_t = typename __base_type::__index_t; public: using __base_type::__base_type; using __base_type::operator=; __dtor(const __dtor&) = default; __dtor(__dtor&&) = default; ~__dtor() = delete; __dtor& operator=(const __dtor&) = default; __dtor& operator=(__dtor&&) = default; protected: inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __destroy() noexcept = delete; }; template <class _Traits> class __ctor : public __dtor<_Traits> { using __base_type = __dtor<_Traits>; public: using __base_type::__base_type; using __base_type::operator=; protected: template <size_t _Ip, class _Tp, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static _Tp& __construct_alt(__alt<_Ip, _Tp>& __a, _Args&&... __args) { ::new ((void*)std::addressof(__a)) __alt<_Ip, _Tp>(in_place, std::forward<_Args>(__args)...); return __a.__value; } template <class _Rhs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static void __generic_construct(__ctor& __lhs, _Rhs&& __rhs) { __lhs.__destroy(); if (!__rhs.valueless_by_exception()) { __visitation::__base::__visit_alt_at( __rhs.index(), [](auto& __lhs_alt, auto&& __rhs_alt) { __construct_alt(__lhs_alt, std::forward<decltype(__rhs_alt)>(__rhs_alt).__value); }, __lhs, std::forward<_Rhs>(__rhs)); __lhs.__index = __rhs.index(); } } }; template <class _Traits, _Trait = _Traits::__move_constructible_trait> class __move_constructor; # 835 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __move_constructor<__traits<_Types...>, _Trait::_TriviallyAvailable> : public __ctor<__traits<_Types...>> { using __base_type = __ctor<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __move_constructor(const __move_constructor&) = default; __move_constructor(__move_constructor&& __that) = default; ~__move_constructor() = default; __move_constructor& operator=(const __move_constructor&) = default; __move_constructor& operator=(__move_constructor&&) = default; }; template <class... _Types> class __move_constructor<__traits<_Types...>, _Trait::_Available> : public __ctor<__traits<_Types...>> { using __base_type = __ctor<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __move_constructor(const __move_constructor&) = default; __move_constructor(__move_constructor&& __that) noexcept(__all<is_nothrow_move_constructible_v<_Types>...>::value) : __move_constructor(__valueless_t{}) { this->__generic_construct(*this, std::move(__that)); } ~__move_constructor() = default; __move_constructor& operator=(const __move_constructor&) = default; __move_constructor& operator=(__move_constructor&&) = default; }; template <class... _Types> class __move_constructor<__traits<_Types...>, _Trait::_Unavailable> : public __ctor<__traits<_Types...>> { using __base_type = __ctor<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __move_constructor(const __move_constructor&) = default; __move_constructor(__move_constructor&&) = delete; ~__move_constructor() = default; __move_constructor& operator=(const __move_constructor&) = default; __move_constructor& operator=(__move_constructor&&) = default; }; template <class _Traits, _Trait = _Traits::__copy_constructible_trait> class __copy_constructor; # 866 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __copy_constructor<__traits<_Types...>, _Trait::_TriviallyAvailable> : public __move_constructor<__traits<_Types...>> { using __base_type = __move_constructor<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __copy_constructor(const __copy_constructor& __that) = default; __copy_constructor(__copy_constructor&&) = default; ~__copy_constructor() = default; __copy_constructor& operator=(const __copy_constructor&) = default; __copy_constructor& operator=(__copy_constructor&&) = default; }; template <class... _Types> class __copy_constructor<__traits<_Types...>, _Trait::_Available> : public __move_constructor<__traits<_Types...>> { using __base_type = __move_constructor<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __copy_constructor(const __copy_constructor& __that) : __copy_constructor(__valueless_t{}) { this->__generic_construct(*this, __that); } __copy_constructor(__copy_constructor&&) = default; ~__copy_constructor() = default; __copy_constructor& operator=(const __copy_constructor&) = default; __copy_constructor& operator=(__copy_constructor&&) = default; }; template <class... _Types> class __copy_constructor<__traits<_Types...>, _Trait::_Unavailable> : public __move_constructor<__traits<_Types...>> { using __base_type = __move_constructor<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __copy_constructor(const __copy_constructor&) = delete; __copy_constructor(__copy_constructor&&) = default; ~__copy_constructor() = default; __copy_constructor& operator=(const __copy_constructor&) = default; __copy_constructor& operator=(__copy_constructor&&) = default; }; template <class _Traits> class __assignment : public __copy_constructor<_Traits> { using __base_type = __copy_constructor<_Traits>; public: using __base_type::__base_type; using __base_type::operator=; template <size_t _Ip, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto& __emplace(_Args&&... __args) { this->__destroy(); auto& __res = this->__construct_alt(__access::__base::__get_alt<_Ip>(*this), std::forward<_Args>(__args)...); this->__index = _Ip; return __res; } protected: template <size_t _Ip, class _Tp, class _Arg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __assign_alt(__alt<_Ip, _Tp>& __a, _Arg&& __arg) { if (this->index() == _Ip) { __a.__value = std::forward<_Arg>(__arg); } else { struct { __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator()(true_type) const { __this->__emplace<_Ip>(std::forward<_Arg>(__arg)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator()(false_type) const { __this->__emplace<_Ip>(_Tp(std::forward<_Arg>(__arg))); } __assignment* __this; _Arg&& __arg; } __impl{this, std::forward<_Arg>(__arg)}; __impl(bool_constant < is_nothrow_constructible_v<_Tp, _Arg> || !is_nothrow_move_constructible_v < _Tp >> {}); } } template <class _That> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __generic_assign(_That&& __that) { if (this->valueless_by_exception() && __that.valueless_by_exception()) { } else if (__that.valueless_by_exception()) { this->__destroy(); } else { __visitation::__base::__visit_alt_at( __that.index(), [this](auto& __this_alt, auto&& __that_alt) { this->__assign_alt(__this_alt, std::forward<decltype(__that_alt)>(__that_alt).__value); }, *this, std::forward<_That>(__that)); } } }; template <class _Traits, _Trait = _Traits::__move_assignable_trait> class __move_assignment; # 949 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __move_assignment<__traits<_Types...>, _Trait::_TriviallyAvailable> : public __assignment<__traits<_Types...>> { using __base_type = __assignment<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __move_assignment(const __move_assignment&) = default; __move_assignment(__move_assignment&&) = default; ~__move_assignment() = default; __move_assignment& operator=(const __move_assignment&) = default; __move_assignment& operator=(__move_assignment&& __that) = default; }; template <class... _Types> class __move_assignment<__traits<_Types...>, _Trait::_Available> : public __assignment<__traits<_Types...>> { using __base_type = __assignment<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __move_assignment(const __move_assignment&) = default; __move_assignment(__move_assignment&&) = default; ~__move_assignment() = default; __move_assignment& operator=(const __move_assignment&) = default; __move_assignment& operator=(__move_assignment&& __that) noexcept( __all<(is_nothrow_move_constructible_v<_Types> && is_nothrow_move_assignable_v<_Types>)...>::value) { this->__generic_assign(std::move(__that)); return *this; } }; # 961 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __move_assignment<__traits<_Types...>, _Trait::_Unavailable> : public __assignment<__traits<_Types...>> { using __base_type = __assignment<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __move_assignment(const __move_assignment&) = default; __move_assignment(__move_assignment&&) = default; ~__move_assignment() = default; __move_assignment& operator=(const __move_assignment&) = default; __move_assignment& operator=(__move_assignment&&) = delete; }; template <class _Traits, _Trait = _Traits::__copy_assignable_trait> class __copy_assignment; # 984 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> class __copy_assignment<__traits<_Types...>, _Trait::_TriviallyAvailable> : public __move_assignment<__traits<_Types...>> { using __base_type = __move_assignment<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __copy_assignment(const __copy_assignment&) = default; __copy_assignment(__copy_assignment&&) = default; ~__copy_assignment() = default; __copy_assignment& operator=(const __copy_assignment& __that) = default; __copy_assignment& operator=(__copy_assignment&&) = default; }; template <class... _Types> class __copy_assignment<__traits<_Types...>, _Trait::_Available> : public __move_assignment<__traits<_Types...>> { using __base_type = __move_assignment<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __copy_assignment(const __copy_assignment&) = default; __copy_assignment(__copy_assignment&&) = default; ~__copy_assignment() = default; __copy_assignment& operator=(const __copy_assignment& __that) { this->__generic_assign(__that); return *this; } __copy_assignment& operator=(__copy_assignment&&) = default; }; template <class... _Types> class __copy_assignment<__traits<_Types...>, _Trait::_Unavailable> : public __move_assignment<__traits<_Types...>> { using __base_type = __move_assignment<__traits<_Types...>>; public: using __base_type::__base_type; using __base_type::operator=; __copy_assignment(const __copy_assignment&) = default; __copy_assignment(__copy_assignment&&) = default; ~__copy_assignment() = default; __copy_assignment& operator=(const __copy_assignment&) = delete; __copy_assignment& operator=(__copy_assignment&&) = default; }; template <class... _Types> class __impl : public __copy_assignment<__traits<_Types...>> { using __base_type = __copy_assignment<__traits<_Types...>>; public: using __base_type::__base_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __impl(__impl const&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __impl(__impl&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __impl& operator=(__impl const&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __impl& operator=(__impl&&) = default; template <size_t _Ip, class _Arg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __assign(_Arg&& __arg) { this->__assign_alt(__access::__base::__get_alt<_Ip>(*this), std::forward<_Arg>(__arg)); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __swap(__impl& __that) { if (this->valueless_by_exception() && __that.valueless_by_exception()) { } else if (this->index() == __that.index()) { __visitation::__base::__visit_alt_at( this->index(), [](auto& __this_alt, auto& __that_alt) { using std::swap; swap(__this_alt.__value, __that_alt.__value); }, *this, __that); } else { __impl* __lhs = this; __impl* __rhs = std::addressof(__that); if (__lhs->__move_nothrow() && !__rhs->__move_nothrow()) { std::swap(__lhs, __rhs); } __impl __tmp(std::move(*__rhs)); if constexpr (__all<is_nothrow_move_constructible_v<_Types>...>::value) { this->__generic_construct(*__rhs, std::move(*__lhs)); } else { try { this->__generic_construct(*__rhs, std::move(*__lhs)); } catch (...) { if (__tmp.__move_nothrow()) { this->__generic_construct(*__rhs, std::move(__tmp)); } throw; } } this->__generic_construct(*__lhs, std::move(__tmp)); } } private: inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __move_nothrow() const { constexpr bool __results[] = {is_nothrow_move_constructible_v<_Types>...}; return this->valueless_by_exception() || __results[this->index()]; } }; struct __no_narrowing_check { template <class _Dest, class _Source> using _Apply = __type_identity<_Dest>; }; struct __narrowing_check { template <class _Dest> static auto __test_impl(_Dest (&&)[1]) -> __type_identity<_Dest>; template <class _Dest, class _Source> using _Apply __attribute__((__nodebug__)) = decltype(__test_impl<_Dest>({std::declval<_Source>()})); }; template <class _Dest, class _Source> using __check_for_narrowing __attribute__((__nodebug__)) = typename _If< is_arithmetic<_Dest>::value, __narrowing_check, __no_narrowing_check >::template _Apply<_Dest, _Source>; template <class _Tp, size_t _Idx> struct __overload { template <class _Up> auto operator()(_Tp, _Up&&) const -> __check_for_narrowing<_Tp, _Up>; }; # 1109 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Bases> struct __all_overloads : _Bases... { void operator()() const; using _Bases::operator()...; }; template <class _IdxSeq> struct __make_overloads_imp; template <size_t... _Idx> struct __make_overloads_imp<__tuple_indices<_Idx...> > { template <class... _Types> using _Apply __attribute__((__nodebug__)) = __all_overloads<__overload<_Types, _Idx>...>; }; template <class... _Types> using _MakeOverloads __attribute__((__nodebug__)) = typename __make_overloads_imp< __make_indices_imp<sizeof...(_Types), 0> >::template _Apply<_Types...>; template <class _Tp, class... _Types> using __best_match_t = typename invoke_result_t<_MakeOverloads<_Types...>, _Tp, _Tp>::type; } template <class... _Types> class variant : private __sfinae_ctor_base< __all<is_copy_constructible_v<_Types>...>::value, __all<is_move_constructible_v<_Types>...>::value>, private __sfinae_assign_base< __all<(is_copy_constructible_v<_Types> && is_copy_assignable_v<_Types>)...>::value, __all<(is_move_constructible_v<_Types> && is_move_assignable_v<_Types>)...>::value> { static_assert(0 < sizeof...(_Types), "variant must consist of at least one alternative."); static_assert(__all<!is_array_v<_Types>...>::value, "variant can not have an array type as an alternative."); static_assert(__all<!is_reference_v<_Types>...>::value, "variant can not have a reference type as an alternative."); static_assert(__all<!is_void_v<_Types>...>::value, "variant can not have a void type as an alternative."); using __first_type = variant_alternative_t<0, variant>; public: template <bool _Dummy = true, enable_if_t<__dependent_type<is_default_constructible<__first_type>, _Dummy>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant() noexcept(is_nothrow_default_constructible_v<__first_type>) : __impl_(in_place_index<0>) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant(const variant&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant(variant&&) = default; template < class _Arg, enable_if_t<!is_same_v<__remove_cvref_t<_Arg>, variant>, int> = 0, enable_if_t<!__is_inplace_type<__remove_cvref_t<_Arg>>::value, int> = 0, enable_if_t<!__is_inplace_index<__remove_cvref_t<_Arg>>::value, int> = 0, class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>, size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value, enable_if_t<is_constructible_v<_Tp, _Arg>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant(_Arg&& __arg) noexcept(is_nothrow_constructible_v<_Tp, _Arg>) : __impl_(in_place_index<_Ip>, std::forward<_Arg>(__arg)) {} template <size_t _Ip, class... _Args, class = enable_if_t<(_Ip < sizeof...(_Types)), int>, class _Tp = variant_alternative_t<_Ip, variant<_Types...>>, enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr variant(in_place_index_t<_Ip>, _Args&&... __args) noexcept( is_nothrow_constructible_v<_Tp, _Args...>) : __impl_(in_place_index<_Ip>, std::forward<_Args>(__args)...) {} template < size_t _Ip, class _Up, class... _Args, enable_if_t<(_Ip < sizeof...(_Types)), int> = 0, class _Tp = variant_alternative_t<_Ip, variant<_Types...>>, enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr variant( in_place_index_t<_Ip>, initializer_list<_Up> __il, _Args&&... __args) noexcept(is_nothrow_constructible_v<_Tp, initializer_list<_Up>&, _Args...>) : __impl_(in_place_index<_Ip>, __il, std::forward<_Args>(__args)...) {} template < class _Tp, class... _Args, size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value, enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr variant(in_place_type_t<_Tp>, _Args&&... __args) noexcept( is_nothrow_constructible_v<_Tp, _Args...>) : __impl_(in_place_index<_Ip>, std::forward<_Args>(__args)...) {} template < class _Tp, class _Up, class... _Args, size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value, enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit constexpr variant( in_place_type_t<_Tp>, initializer_list<_Up> __il, _Args&&... __args) noexcept(is_nothrow_constructible_v<_Tp, initializer_list< _Up>&, _Args...>) : __impl_(in_place_index<_Ip>, __il, std::forward<_Args>(__args)...) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~variant() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant& operator=(const variant&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant& operator=(variant&&) = default; template < class _Arg, enable_if_t<!is_same_v<__remove_cvref_t<_Arg>, variant>, int> = 0, class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>, size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value, enable_if_t<is_assignable_v<_Tp&, _Arg> && is_constructible_v<_Tp, _Arg>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) variant& operator=(_Arg&& __arg) noexcept(is_nothrow_assignable_v<_Tp&, _Arg> && is_nothrow_constructible_v<_Tp, _Arg>) { __impl_.template __assign<_Ip>(std::forward<_Arg>(__arg)); return *this; } template < size_t _Ip, class... _Args, enable_if_t<(_Ip < sizeof...(_Types)), int> = 0, class _Tp = variant_alternative_t<_Ip, variant<_Types...>>, enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& emplace(_Args&&... __args) { return __impl_.template __emplace<_Ip>(std::forward<_Args>(__args)...); } template < size_t _Ip, class _Up, class... _Args, enable_if_t<(_Ip < sizeof...(_Types)), int> = 0, class _Tp = variant_alternative_t<_Ip, variant<_Types...>>, enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) { return __impl_.template __emplace<_Ip>(__il, std::forward<_Args>(__args)...); } template < class _Tp, class... _Args, size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value, enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& emplace(_Args&&... __args) { return __impl_.template __emplace<_Ip>(std::forward<_Args>(__args)...); } template < class _Tp, class _Up, class... _Args, size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value, enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) { return __impl_.template __emplace<_Ip>(__il, std::forward<_Args>(__args)...); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool valueless_by_exception() const noexcept { return __impl_.valueless_by_exception(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t index() const noexcept { return __impl_.index(); } template < bool _Dummy = true, enable_if_t< __all<(__dependent_type<is_move_constructible<_Types>, _Dummy>::value && __dependent_type<is_swappable<_Types>, _Dummy>::value)...>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(variant& __that) noexcept( __all<(is_nothrow_move_constructible_v<_Types> && is_nothrow_swappable_v<_Types>)...>::value) { __impl_.__swap(__that.__impl_); } private: __variant_detail::__impl<_Types...> __impl_; friend struct __variant_detail::__access::__variant; friend struct __variant_detail::__visitation::__variant; }; template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __holds_alternative(const variant<_Types...>& __v) noexcept { return __v.index() == _Ip; } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool holds_alternative(const variant<_Types...>& __v) noexcept { return std::__holds_alternative<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } template <size_t _Ip, class _Vp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __generic_get(_Vp&& __v) { using __variant_detail::__access::__variant; if (!std::__holds_alternative<_Ip>(__v)) { __throw_bad_variant_access(); } return __variant::__get_alt<_Ip>(std::forward<_Vp>(__v)).__value; } template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant_alternative_t<_Ip, variant<_Types...>>& get(variant<_Types...>& __v) { static_assert(_Ip < sizeof...(_Types)); static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>); return std::__generic_get<_Ip>(__v); } template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr variant_alternative_t<_Ip, variant<_Types...>>&& get(variant<_Types...>&& __v) { static_assert(_Ip < sizeof...(_Types)); static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>); return std::__generic_get<_Ip>(std::move(__v)); } template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const variant_alternative_t<_Ip, variant<_Types...>>& get(const variant<_Types...>& __v) { static_assert(_Ip < sizeof...(_Types)); static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>); return std::__generic_get<_Ip>(__v); } template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const variant_alternative_t<_Ip, variant<_Types...>>&& get(const variant<_Types...>&& __v) { static_assert(_Ip < sizeof...(_Types)); static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>); return std::__generic_get<_Ip>(std::move(__v)); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp& get(variant<_Types...>& __v) { static_assert(!is_void_v<_Tp>); return std::get<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp&& get(variant<_Types...>&& __v) { static_assert(!is_void_v<_Tp>); return std::get<__find_exactly_one_t<_Tp, _Types...>::value>(std::move(__v)); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& get(const variant<_Types...>& __v) { static_assert(!is_void_v<_Tp>); return std::get<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp&& get(const variant<_Types...>&& __v) { static_assert(!is_void_v<_Tp>); return std::get<__find_exactly_one_t<_Tp, _Types...>::value>(std::move(__v)); } template <size_t _Ip, class _Vp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto* __generic_get_if(_Vp* __v) noexcept { using __variant_detail::__access::__variant; return __v && std::__holds_alternative<_Ip>(*__v) ? std::addressof(__variant::__get_alt<_Ip>(*__v).__value) : nullptr; } template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_pointer_t<variant_alternative_t<_Ip, variant<_Types...>>> get_if(variant<_Types...>* __v) noexcept { static_assert(_Ip < sizeof...(_Types)); static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>); return std::__generic_get_if<_Ip>(__v); } template <size_t _Ip, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_pointer_t<const variant_alternative_t<_Ip, variant<_Types...>>> get_if(const variant<_Types...>* __v) noexcept { static_assert(_Ip < sizeof...(_Types)); static_assert(!is_void_v<variant_alternative_t<_Ip, variant<_Types...>>>); return std::__generic_get_if<_Ip>(__v); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_pointer_t<_Tp> get_if(variant<_Types...>* __v) noexcept { static_assert(!is_void_v<_Tp>); return std::get_if<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_pointer_t<const _Tp> get_if(const variant<_Types...>* __v) noexcept { static_assert(!is_void_v<_Tp>); return std::get_if<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } template <class _Operator> struct __convert_to_bool { template <class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(_T1&& __t1, _T2&& __t2) const { static_assert(is_convertible<decltype(_Operator{}(std::forward<_T1>(__t1), std::forward<_T2>(__t2))), bool>::value, "the relational operator does not return a type which is implicitly convertible to bool"); return _Operator{}(std::forward<_T1>(__t1), std::forward<_T2>(__t2)); } }; template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { using __variant_detail::__visitation::__variant; if (__lhs.index() != __rhs.index()) return false; if (__lhs.valueless_by_exception()) return true; return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<equal_to<>>{}, __lhs, __rhs); } # 1440 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { using __variant_detail::__visitation::__variant; if (__lhs.index() != __rhs.index()) return true; if (__lhs.valueless_by_exception()) return false; return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<not_equal_to<>>{}, __lhs, __rhs); } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { using __variant_detail::__visitation::__variant; if (__rhs.valueless_by_exception()) return false; if (__lhs.valueless_by_exception()) return true; if (__lhs.index() < __rhs.index()) return true; if (__lhs.index() > __rhs.index()) return false; return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<less<>>{}, __lhs, __rhs); } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { using __variant_detail::__visitation::__variant; if (__lhs.valueless_by_exception()) return false; if (__rhs.valueless_by_exception()) return true; if (__lhs.index() > __rhs.index()) return true; if (__lhs.index() < __rhs.index()) return false; return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<greater<>>{}, __lhs, __rhs); } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { using __variant_detail::__visitation::__variant; if (__lhs.valueless_by_exception()) return true; if (__rhs.valueless_by_exception()) return false; if (__lhs.index() < __rhs.index()) return true; if (__lhs.index() > __rhs.index()) return false; return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<less_equal<>>{}, __lhs, __rhs); } template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) { using __variant_detail::__visitation::__variant; if (__rhs.valueless_by_exception()) return true; if (__lhs.valueless_by_exception()) return false; if (__lhs.index() > __rhs.index()) return true; if (__lhs.index() < __rhs.index()) return false; return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<greater_equal<>>{}, __lhs, __rhs); } template <class... _Vs> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __throw_if_valueless(_Vs&&... __vs) { const bool __valueless = (... || std::__as_variant(__vs).valueless_by_exception()); if (__valueless) { __throw_bad_variant_access(); } } template < class _Visitor, class... _Vs, typename = void_t<decltype(std::__as_variant(std::declval<_Vs>()))...> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) { using __variant_detail::__visitation::__variant; std::__throw_if_valueless(std::forward<_Vs>(__vs)...); return __variant::__visit_value(std::forward<_Visitor>(__visitor), std::forward<_Vs>(__vs)...); } # 1535 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/variant" 3 template <class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto swap(variant<_Types...>& __lhs, variant<_Types...>& __rhs) noexcept(noexcept(__lhs.swap(__rhs))) -> decltype(__lhs.swap(__rhs)) { return __lhs.swap(__rhs); } template <class... _Types> struct hash< __enable_hash_helper<variant<_Types...>, remove_const_t<_Types>...>> { using argument_type = variant<_Types...>; using result_type = size_t; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type operator()(const argument_type& __v) const { using __variant_detail::__visitation::__variant; size_t __res = __v.valueless_by_exception() ? 299792458 : __variant::__visit_alt( [](const auto& __alt) { using __alt_type = __remove_cvref_t<decltype(__alt)>; using __value_type = remove_const_t< typename __alt_type::__value_type>; return hash<__value_type>{}(__alt.__value); }, __v); return std::__hash_combine(__res, hash<size_t>{}(__v.index())); } }; template <size_t _Ip, class _Vp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __unchecked_get(_Vp&& __v) noexcept { using __variant_detail::__access::__variant; return __variant::__get_alt<_Ip>(std::forward<_Vp>(__v)).__value; } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __unchecked_get(const variant<_Types...>& __v) noexcept { return std::__unchecked_get<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } template <class _Tp, class... _Types> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto&& __unchecked_get(variant<_Types...>& __v) noexcept { return std::__unchecked_get<__find_exactly_one_t<_Tp, _Types...>::value>(__v); } }} # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/common_iterator.h" 2 3 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/common_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/common_iterator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 295 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/common_iterator.h" 3 }} # 684 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/counted_iterator.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/counted_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/default_sentinel.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/default_sentinel.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/default_sentinel.h" 3 }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/counted_iterator.h" 2 3 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/counted_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/counted_iterator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 285 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/counted_iterator.h" 3 }} # 686 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/data.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/data.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Cont> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto data(_Cont& __c) noexcept(noexcept(__c.data())) -> decltype(__c.data()) { return __c.data(); } template <class _Cont> constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto data(const _Cont& __c) noexcept(noexcept(__c.data())) -> decltype(__c.data()) { return __c.data(); } template <class _Tp, size_t _Sz> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* data(_Tp (&__array)[_Sz]) noexcept { return __array; } template <class _Ep> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Ep* data(initializer_list<_Ep> __il) noexcept { return __il.begin(); } }} # 687 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/empty.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/empty.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Cont> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto empty(const _Cont& __c) noexcept(noexcept(__c.empty())) -> decltype(__c.empty()) { return __c.empty(); } template <class _Tp, size_t _Sz> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool empty(const _Tp (&)[_Sz]) noexcept { return false; } template <class _Ep> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool empty(initializer_list<_Ep> __il) noexcept { return __il.size() == 0; } }} # 690 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/erase_if_container.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/erase_if_container.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/erase_if_container.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Container, class _Predicate> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename _Container::size_type __libcpp_erase_if_container(_Container& __c, _Predicate& __pred) { typename _Container::size_type __old_size = __c.size(); const typename _Container::iterator __last = __c.end(); for (typename _Container::iterator __iter = __c.begin(); __iter != __last;) { if (__pred(*__iter)) __iter = __c.erase(__iter); else ++__iter; } return __old_size - __c.size(); } }} # 691 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/front_insert_iterator.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/front_insert_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/front_insert_iterator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/front_insert_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/front_insert_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Container> class front_insert_iterator : public iterator<output_iterator_tag, void, void, void, void> { #pragma GCC diagnostic pop protected: _Container* container; public: typedef output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; typedef _Container container_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit front_insert_iterator(_Container& __x) : container(std::addressof(__x)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) front_insert_iterator& operator=(const typename _Container::value_type& __value) { container->push_front(__value); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) front_insert_iterator& operator=(typename _Container::value_type&& __value) { container->push_front(std::move(__value)); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) front_insert_iterator& operator*() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) front_insert_iterator& operator++() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) front_insert_iterator operator++(int) { return *this; } }; template <class... _Tag> [[maybe_unused]] front_insert_iterator(typename _Tag::__allow_ctad...)->front_insert_iterator<_Tag...>; template <class _Container> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } }} # 692 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/indirectly_comparable.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/indirectly_comparable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/projected.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/projected.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/projected.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/indirectly_comparable.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/indirectly_comparable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/indirectly_comparable.h" 3 }} # 694 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/insert_iterator.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/insert_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/insert_iterator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Container> using __insert_iterator_iter_t = typename _Container::iterator; #pragma GCC diagnostic push # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/insert_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/insert_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Container> class insert_iterator : public iterator<output_iterator_tag, void, void, void, void> { #pragma GCC diagnostic pop protected: _Container* container; __insert_iterator_iter_t<_Container> iter; public: typedef output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; typedef _Container container_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator(_Container& __x, __insert_iterator_iter_t<_Container> __i) : container(std::addressof(__x)), iter(__i) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator& operator=(const typename _Container::value_type& __value) { iter = container->insert(iter, __value); ++iter; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator& operator=(typename _Container::value_type&& __value) { iter = container->insert(iter, std::move(__value)); ++iter; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator& operator*() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator& operator++() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator& operator++(int) { return *this; } }; template <class _Container> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) insert_iterator<_Container> inserter(_Container& __x, __insert_iterator_iter_t<_Container> __i) { return insert_iterator<_Container>(__x, __i); } }} # 695 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istream_iterator.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istream_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istream_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istream_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Tp, class _CharT = char, class _Traits = char_traits<_CharT>, class _Distance = ptrdiff_t> class istream_iterator : public iterator<input_iterator_tag, _Tp, _Distance, const _Tp*, const _Tp&> { #pragma GCC diagnostic pop public: typedef input_iterator_tag iterator_category; typedef _Tp value_type; typedef _Distance difference_type; typedef const _Tp* pointer; typedef const _Tp& reference; typedef _CharT char_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> istream_type; private: istream_type* __in_stream_; _Tp __value_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr istream_iterator() : __in_stream_(nullptr), __value_() {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istream_iterator(istream_type& __s) : __in_stream_(std::addressof(__s)) { if (!(*__in_stream_ >> __value_)) __in_stream_ = nullptr; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const _Tp& operator*() const { return __value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const _Tp* operator->() const { return std::addressof((operator*())); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istream_iterator& operator++() { if (!(*__in_stream_ >> __value_)) __in_stream_ = nullptr; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istream_iterator operator++(int) { istream_iterator __t(*this); ++(*this); return __t; } template <class _Up, class _CharU, class _TraitsU, class _DistanceU> friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x, const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y); }; template <class _Tp, class _CharT, class _Traits, class _Distance> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x, const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y) { return __x.__in_stream_ == __y.__in_stream_; } template <class _Tp, class _CharT, class _Traits, class _Distance> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x, const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y) { return !(__x == __y); } }} # 696 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istreambuf_iterator.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istreambuf_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istreambuf_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/istreambuf_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _CharT, class _Traits> class istreambuf_iterator : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type, _CharT*, _CharT> { #pragma GCC diagnostic pop public: typedef input_iterator_tag iterator_category; typedef _CharT value_type; typedef typename _Traits::off_type difference_type; typedef _CharT* pointer; typedef _CharT reference; typedef _CharT char_type; typedef _Traits traits_type; typedef typename _Traits::int_type int_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_istream<_CharT, _Traits> istream_type; private: mutable streambuf_type* __sbuf_; class __proxy { char_type __keep_; streambuf_type* __sbuf_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __proxy(char_type __c, streambuf_type* __s) : __keep_(__c), __sbuf_(__s) {} friend class istreambuf_iterator; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) char_type operator*() const { return __keep_; } }; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __test_for_eof() const { if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sgetc(), traits_type::eof())) __sbuf_ = nullptr; return __sbuf_ == nullptr; } public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr istreambuf_iterator() noexcept : __sbuf_(nullptr) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istreambuf_iterator(istream_type& __s) noexcept : __sbuf_(__s.rdbuf()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istreambuf_iterator(streambuf_type* __s) noexcept : __sbuf_(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istreambuf_iterator(const __proxy& __p) noexcept : __sbuf_(__p.__sbuf_) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) char_type operator*() const { return static_cast<char_type>(__sbuf_->sgetc()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) istreambuf_iterator& operator++() { __sbuf_->sbumpc(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __proxy operator++(int) { return __proxy(__sbuf_->sbumpc(), __sbuf_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool equal(const istreambuf_iterator& __b) const { return __test_for_eof() == __b.__test_for_eof(); } }; template <class _CharT, class _Traits> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator==(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return __a.equal(__b); } template <class _CharT, class _Traits> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_iterator<_CharT, _Traits>& __b) { return !__a.equal(__b); } }} # 697 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/mergeable.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/mergeable.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/ranges_operations.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/ranges_operations.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 105 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__functional/ranges_operations.h" 3 }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/mergeable.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/mergeable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/mergeable.h" 3 }} # 702 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_sentinel.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_sentinel.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_sentinel.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_sentinel.h" 3 }} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 2 3 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 template <class _Iter> class move_iterator { # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 public: # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 typedef _Iter iterator_type; typedef _If< __has_random_access_iterator_category<_Iter>::value, random_access_iterator_tag, typename iterator_traits<_Iter>::iterator_category > iterator_category; typedef typename iterator_traits<iterator_type>::value_type value_type; typedef typename iterator_traits<iterator_type>::difference_type difference_type; typedef iterator_type pointer; typedef typename iterator_traits<iterator_type>::reference __reference; typedef typename conditional< is_reference<__reference>::value, __libcpp_remove_reference_t<__reference>&&, __reference >::type reference; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit move_iterator(_Iter __i) : __current_(std::move(__i)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator& operator++() { ++__current_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pointer operator->() const { return __current_; } # 158 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator() : __current_() {} template <class _Up, class = __enable_if_t< !is_same<_Up, _Iter>::value && is_convertible<const _Up&, _Iter>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator(const move_iterator<_Up>& __u) : __current_(__u.base()) {} template <class _Up, class = __enable_if_t< !is_same<_Up, _Iter>::value && is_convertible<const _Up&, _Iter>::value && is_assignable<_Iter&, const _Up&>::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator& operator=(const move_iterator<_Up>& __u) { __current_ = __u.base(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter base() const { return __current_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator*() const { return static_cast<reference>(*__current_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator[](difference_type __n) const { return static_cast<reference>(__current_[__n]); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator operator++(int) { move_iterator __tmp(*this); ++__current_; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator& operator--() { --__current_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator operator--(int) { move_iterator __tmp(*this); --__current_; return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator operator+(difference_type __n) const { return move_iterator(__current_ + __n); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator& operator+=(difference_type __n) { __current_ += __n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator operator-(difference_type __n) const { return move_iterator(__current_ - __n); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator& operator-=(difference_type __n) { __current_ -= __n; return *this; } # 246 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 private: template <class _It2> friend class move_iterator; _Iter __current_; }; template <class... _Tag> [[maybe_unused]] move_iterator(typename _Tag::__allow_ctad...)->move_iterator<_Tag...>; template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() == __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() != __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() < __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() > __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() <= __y.base(); } template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() >= __y.base(); } # 302 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 template <class _Iter1, class _Iter2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto operator-(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) -> decltype(__x.base() - __y.base()) { return __x.base() - __y.base(); } # 326 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/move_iterator.h" 3 template <class _Iter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator<_Iter> operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x) { return move_iterator<_Iter>(__x.base() + __n); } template <class _Iter> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr move_iterator<_Iter> make_move_iterator(_Iter __i) { return move_iterator<_Iter>(std::move(__i)); } }} # 703 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostream_iterator.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostream_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostream_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostream_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _Tp, class _CharT = char, class _Traits = char_traits<_CharT> > class ostream_iterator : public iterator<output_iterator_tag, void, void, void, void> { #pragma GCC diagnostic pop public: typedef output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; typedef _CharT char_type; typedef _Traits traits_type; typedef basic_ostream<_CharT, _Traits> ostream_type; private: ostream_type* __out_stream_; const char_type* __delim_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostream_iterator(ostream_type& __s) noexcept : __out_stream_(std::addressof(__s)), __delim_(nullptr) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostream_iterator(ostream_type& __s, const _CharT* __delimiter) noexcept : __out_stream_(std::addressof(__s)), __delim_(__delimiter) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostream_iterator& operator=(const _Tp& __value) { *__out_stream_ << __value; if (__delim_) *__out_stream_ << __delim_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostream_iterator& operator*() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostream_iterator& operator++() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostream_iterator& operator++(int) { return *this; } }; }} # 706 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostreambuf_iterator.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostreambuf_iterator.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { #pragma GCC diagnostic push # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostreambuf_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/ostreambuf_iterator.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <class _CharT, class _Traits> class ostreambuf_iterator : public iterator<output_iterator_tag, void, void, void, void> { #pragma GCC diagnostic pop public: typedef output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; typedef _CharT char_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_ostream<_CharT, _Traits> ostream_type; private: streambuf_type* __sbuf_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator(ostream_type& __s) noexcept : __sbuf_(__s.rdbuf()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator(streambuf_type* __s) noexcept : __sbuf_(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator& operator=(_CharT __c) { if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sputc(__c), traits_type::eof())) __sbuf_ = nullptr; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator& operator*() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator& operator++() { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator& operator++(int) { return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool failed() const noexcept { return __sbuf_ == nullptr; } template <class _Ch, class _Tr> friend __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ostreambuf_iterator<_Ch, _Tr> __pad_and_output( ostreambuf_iterator<_Ch, _Tr> __s, const _Ch* __ob, const _Ch* __op, const _Ch* __oe, ios_base& __iob, _Ch __fl); }; }} # 707 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/permutable.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/permutable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/permutable.h" 3 }} # 708 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_access.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/reverse_access.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, size_t _Np> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np]) { return reverse_iterator<_Tp*>(__array + _Np); } template <class _Tp, size_t _Np> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np]) { return reverse_iterator<_Tp*>(__array); } template <class _Ep> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il) { return reverse_iterator<const _Ep*>(__il.end()); } template <class _Ep> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il) { return reverse_iterator<const _Ep*>(__il.begin()); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto rbegin(_Cp& __c) -> decltype(__c.rbegin()) { return __c.rbegin(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto rbegin(const _Cp& __c) -> decltype(__c.rbegin()) { return __c.rbegin(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto rend(_Cp& __c) -> decltype(__c.rend()) { return __c.rend(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto rend(const _Cp& __c) -> decltype(__c.rend()) { return __c.rend(); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto crbegin(const _Cp& __c) -> decltype(std::rbegin(__c)) { return std::rbegin(__c); } template <class _Cp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto crend(const _Cp& __c) -> decltype(std::rend(__c)) { return std::rend(__c); } }} # 712 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/size.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/size.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Cont> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto size(const _Cont& __c) noexcept(noexcept(__c.size())) -> decltype(__c.size()) { return __c.size(); } template <class _Tp, size_t _Sz> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t size(const _Tp (&)[_Sz]) noexcept { return _Sz; } # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/size.h" 3 }} # 714 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/sortable.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/sortable.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/sortable.h" 3 }} # 715 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/unreachable_sentinel.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/unreachable_sentinel.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/unreachable_sentinel.h" 3 }} # 716 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/wrap_iter.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/wrap_iter.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Iter> class __wrap_iter { public: typedef _Iter iterator_type; typedef typename iterator_traits<iterator_type>::value_type value_type; typedef typename iterator_traits<iterator_type>::difference_type difference_type; typedef typename iterator_traits<iterator_type>::pointer pointer; typedef typename iterator_traits<iterator_type>::reference reference; typedef typename iterator_traits<iterator_type>::iterator_category iterator_category; private: iterator_type __i_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter() noexcept : __i_() {} template <class _Up, __enable_if_t<is_convertible<_Up, iterator_type>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter(const __wrap_iter<_Up>& __u) noexcept : __i_(__u.base()) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator*() const noexcept { return *__i_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pointer operator->() const noexcept { return std::__to_address(__i_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter& operator++() noexcept { ++__i_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter operator++(int) noexcept { __wrap_iter __tmp(*this); ++(*this); return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter& operator--() noexcept { --__i_; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter operator--(int) noexcept { __wrap_iter __tmp(*this); --(*this); return __tmp; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter operator+(difference_type __n) const noexcept { __wrap_iter __w(*this); __w += __n; return __w; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter& operator+=(difference_type __n) noexcept { __i_ += __n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter operator-(difference_type __n) const noexcept { return *this + (-__n); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter& operator-=(difference_type __n) noexcept { *this += -__n; return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr reference operator[](difference_type __n) const noexcept { return __i_[__n]; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr iterator_type base() const noexcept { return __i_; } private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __wrap_iter(iterator_type __x) noexcept : __i_(__x) {} template <class _Up> friend class __wrap_iter; template <class _CharT, class _Traits, class _Alloc> friend class basic_string; template <class _Tp, class _Alloc> friend class vector; template <class _Tp, size_t> friend class span; }; template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return __x.base() == __y.base(); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __x.base() == __y.base(); } template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return __x.base() < __y.base(); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __x.base() < __y.base(); } template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return !(__x == __y); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return !(__x == __y); } template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return __y < __x; } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __y < __x; } template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return !(__x < __y); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return !(__x < __y); } template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return !(__y < __x); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return !(__y < __x); } template <class _Iter1, class _Iter2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr auto operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept->decltype(__x.base() - __y.base()) { return __x.base() - __y.base(); } template <class _Iter1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __wrap_iter<_Iter1> operator+(typename __wrap_iter<_Iter1>::difference_type __n, __wrap_iter<_Iter1> __x) noexcept { __x += __n; return __x; } template <class _It> struct __libcpp_is_contiguous_iterator<__wrap_iter<_It> > : true_type {}; template <class _It> struct pointer_traits<__wrap_iter<_It> > { typedef __wrap_iter<_It> pointer; typedef typename pointer_traits<_It>::element_type element_type; typedef typename pointer_traits<_It>::difference_type difference_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr static element_type* to_address(pointer __w) noexcept { return std::__to_address(__w.base()); } }; }} # 717 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 2 3 # 729 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/iterator" 3 # 965 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdexcept" 1 3 # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stdexcept" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { class __attribute__((__visibility__("hidden"))) __libcpp_refstring { const char* __imp_; bool __uses_refcount() const; public: explicit __libcpp_refstring(const char* __msg); __libcpp_refstring(const __libcpp_refstring& __s) noexcept; __libcpp_refstring& operator=(const __libcpp_refstring& __s) noexcept; ~__libcpp_refstring(); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) const char* c_str() const noexcept { return __imp_; } }; }} namespace std { class __attribute__((__visibility__("default"))) logic_error : public exception { private: std::__libcpp_refstring __imp_; public: explicit logic_error(const string&); explicit logic_error(const char*); logic_error(const logic_error&) noexcept; logic_error& operator=(const logic_error&) noexcept; ~logic_error() noexcept override; const char* what() const noexcept override; }; class __attribute__((__visibility__("default"))) runtime_error : public exception { private: std::__libcpp_refstring __imp_; public: explicit runtime_error(const string&); explicit runtime_error(const char*); runtime_error(const runtime_error&) noexcept; runtime_error& operator=(const runtime_error&) noexcept; ~runtime_error() noexcept override; const char* what() const noexcept override; }; class __attribute__((__visibility__("default"))) domain_error : public logic_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit domain_error(const string& __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit domain_error(const char* __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) domain_error(const domain_error&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) domain_error& operator=(const domain_error&) noexcept = default; ~domain_error() noexcept override; }; class __attribute__((__visibility__("default"))) invalid_argument : public logic_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit invalid_argument(const string& __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit invalid_argument(const char* __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) invalid_argument(const invalid_argument&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) invalid_argument& operator=(const invalid_argument&) noexcept = default; ~invalid_argument() noexcept override; }; class __attribute__((__visibility__("default"))) length_error : public logic_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit length_error(const string& __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit length_error(const char* __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) length_error(const length_error&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) length_error& operator=(const length_error&) noexcept = default; ~length_error() noexcept override; }; class __attribute__((__visibility__("default"))) out_of_range : public logic_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit out_of_range(const string& __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit out_of_range(const char* __s) : logic_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) out_of_range(const out_of_range&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) out_of_range& operator=(const out_of_range&) noexcept = default; ~out_of_range() noexcept override; }; class __attribute__((__visibility__("default"))) range_error : public runtime_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit range_error(const string& __s) : runtime_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit range_error(const char* __s) : runtime_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) range_error(const range_error&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) range_error& operator=(const range_error&) noexcept = default; ~range_error() noexcept override; }; class __attribute__((__visibility__("default"))) overflow_error : public runtime_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit overflow_error(const string& __s) : runtime_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit overflow_error(const char* __s) : runtime_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) overflow_error(const overflow_error&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) overflow_error& operator=(const overflow_error&) noexcept = default; ~overflow_error() noexcept override; }; class __attribute__((__visibility__("default"))) underflow_error : public runtime_error { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit underflow_error(const string& __s) : runtime_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit underflow_error(const char* __s) : runtime_error(__s) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) underflow_error(const underflow_error&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) underflow_error& operator=(const underflow_error&) noexcept = default; ~underflow_error() noexcept override; }; } namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[noreturn]] __attribute__((__visibility__("default"))) void __throw_runtime_error(const char*); [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_logic_error(const char* __msg) { throw logic_error(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_domain_error(const char* __msg) { throw domain_error(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_invalid_argument(const char* __msg) { throw invalid_argument(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_length_error(const char* __msg) { throw length_error(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_out_of_range(const char* __msg) { throw out_of_range(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_range_error(const char* __msg) { throw range_error(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_overflow_error(const char* __msg) { throw overflow_error(__msg); } [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_underflow_error(const char* __msg) { throw underflow_error(__msg); } }} # 967 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/memory" 2 3 # 2 "sample.cpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" 1 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 1 3 4 # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 3 4 extern "C" { void __assert(const char* _Nonnull __file, int __line, const char* _Nonnull __msg) __attribute__((__noreturn__)); void __assert2(const char* _Nonnull __file, int __line, const char* _Nonnull __function, const char* _Nonnull __msg) __attribute__((__noreturn__)); } # 59 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/static_assert.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/static_assert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 1 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/user.hpp" 1 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/select_compiler_config.hpp" 1 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/compiler/clang.hpp" 1 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/select_stdlib_config.hpp" 1 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/stdlib/libcpp.hpp" 1 # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/select_platform_config.hpp" 1 # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/platform/linux.hpp" 1 # 75 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/platform/linux.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/posix_features.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/posix_features.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 1 3 4 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 4 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/fcntl.h" 1 3 4 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/fcntl.h" 3 4 extern "C" { int fcntl(int __fd, int __op, ...); } # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/getentropy.h" 1 3 4 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/getentropy.h" 3 4 extern "C" { # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/getentropy.h" 3 4 } # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/getopt.h" 1 3 4 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/getopt.h" 3 4 extern "C" { int getopt(int __argc, char* const _Nonnull __argv[_Nullable], const char* _Nonnull __options); extern char* _Nullable optarg; extern int optind; extern int opterr; extern int optopt; } # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/ioctl.h" 1 3 4 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/ioctl.h" 3 4 extern "C" { int ioctl(int __fd, int __op, ...); # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/ioctl.h" 3 4 int ioctl(int __fd, unsigned __op, ...) __attribute__((__overloadable__)) __attribute__((__enable_if__(1, ""))) __asm__("ioctl"); } # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/lockf.h" 1 3 4 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/lockf.h" 3 4 extern "C" { # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/lockf.h" 3 4 } # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/sysconf.h" 1 3 4 # 332 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/sysconf.h" 3 4 extern "C" { # 347 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/sysconf.h" 3 4 long sysconf(int __name); } # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 extern "C" { # 77 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 extern char* _Nullable * _Nullable environ; __attribute__((__noreturn__)) void _exit(int __status); # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 pid_t fork(void); # 118 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 pid_t vfork(void) __attribute__((__returns_twice__)); pid_t getpid(void); pid_t gettid(void); pid_t getpgid(pid_t __pid); int setpgid(pid_t __pid, pid_t __pgid); pid_t getppid(void); pid_t getpgrp(void); int setpgrp(void); pid_t getsid(pid_t __pid); pid_t setsid(void); int execv(const char* _Nonnull __path, char* _Nullable const* _Nullable __argv); int execvp(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv); int execvpe(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv, char* _Nullable const* _Nullable __envp); int execve(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv, char* _Nullable const* _Nullable __envp); int execl(const char* _Nonnull __path, const char* _Nullable __arg0, ...) __attribute__((__sentinel__)); int execlp(const char* _Nonnull __file, const char* _Nullable __arg0, ...) __attribute__((__sentinel__)); int execle(const char* _Nonnull __path, const char* _Nullable __arg0, ... ) __attribute__((__sentinel__(1))); int nice(int __incr); # 169 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setegid(gid_t __gid); # 180 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int seteuid(uid_t __uid); # 191 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setgid(gid_t __gid); # 202 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setregid(gid_t __rgid, gid_t __egid); # 213 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setresgid(gid_t __rgid, gid_t __egid, gid_t __sgid); # 224 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setresuid(uid_t __ruid, uid_t __euid, uid_t __suid); # 235 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setreuid(uid_t __ruid, uid_t __euid); # 246 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int setuid(uid_t __uid); uid_t getuid(void); uid_t geteuid(void); gid_t getgid(void); gid_t getegid(void); int getgroups(int __size, gid_t* _Nullable __list); int setgroups(size_t __size, const gid_t* _Nullable __list); int getresuid(uid_t* _Nonnull __ruid, uid_t* _Nonnull __euid, uid_t* _Nonnull __suid); int getresgid(gid_t* _Nonnull __rgid, gid_t* _Nonnull __egid, gid_t* _Nonnull __sgid); char* _Nullable getlogin(void); long fpathconf(int __fd, int __name); long pathconf(const char* _Nonnull __path, int __name); int access(const char* _Nonnull __path, int __mode); int faccessat(int __dirfd, const char* _Nonnull __path, int __mode, int __flags); int link(const char* _Nonnull __old_path, const char* _Nonnull __new_path); int linkat(int __old_dir_fd, const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path, int __flags); int unlink(const char* _Nonnull __path); int unlinkat(int __dirfd, const char* _Nonnull __path, int __flags); int chdir(const char* _Nonnull __path); int fchdir(int __fd); int rmdir(const char* _Nonnull __path); int pipe(int __fds[_Nonnull 2]); int pipe2(int __fds[_Nonnull 2], int __flags); int chroot(const char* _Nonnull __path); int symlink(const char* _Nonnull __old_path, const char* _Nonnull __new_path); int symlinkat(const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path); ssize_t readlink(const char* _Nonnull __path, char* _Nonnull __buf, size_t __buf_size); ssize_t readlinkat(int __dir_fd, const char* _Nonnull __path, char* _Nonnull __buf, size_t __buf_size); int chown(const char* _Nonnull __path, uid_t __owner, gid_t __group); int fchown(int __fd, uid_t __owner, gid_t __group); int fchownat(int __dir_fd, const char* _Nonnull __path, uid_t __owner, gid_t __group, int __flags); int lchown(const char* _Nonnull __path, uid_t __owner, gid_t __group); char* _Nullable getcwd(char* _Nullable __buf, size_t __size); void sync(void); # 299 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int close(int __fd); # 311 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 ssize_t read(int __fd, void* _Null_unspecified __buf, size_t __count); # 323 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 ssize_t write(int __fd, const void* _Null_unspecified __buf, size_t __count); int dup(int __old_fd); int dup2(int __old_fd, int __new_fd); int dup3(int __old_fd, int __new_fd, int __flags); int fsync(int __fd); int fdatasync(int __fd); # 339 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int truncate(const char* _Nonnull __path, off_t __length); off_t lseek(int __fd, off_t __offset, int __whence); ssize_t pread(int __fd, void* _Nonnull __buf, size_t __count, off_t __offset); ssize_t pwrite(int __fd, const void* _Nonnull __buf, size_t __count, off_t __offset); int ftruncate(int __fd, off_t __length); int truncate64(const char* _Nonnull __path, off64_t __length); off64_t lseek64(int __fd, off64_t __offset, int __whence); ssize_t pread64(int __fd, void* _Nonnull __buf, size_t __count, off64_t __offset); ssize_t pwrite64(int __fd, const void* _Nonnull __buf, size_t __count, off64_t __offset); int ftruncate64(int __fd, off64_t __length); int pause(void); unsigned int alarm(unsigned int __seconds); unsigned int sleep(unsigned int __seconds); int usleep(useconds_t __microseconds); int gethostname(char* _Nonnull _buf, size_t __buf_size); int brk(void* _Nonnull __addr); void* _Nullable sbrk(ptrdiff_t __increment); int isatty(int __fd); char* _Nullable ttyname(int __fd); int ttyname_r(int __fd, char* _Nonnull __buf, size_t __buf_size); int acct(const char* _Nullable __path); # 380 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 int getpagesize(void) __attribute__((__const__)); long syscall(long __number, ...); int daemon(int __no_chdir, int __no_close); int cacheflush(long __addr, long __nbytes, long __cache); pid_t tcgetpgrp(int __fd); int tcsetpgrp(int __fd, pid_t __pid); # 457 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 3 4 } # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/legacy_unistd_inlines.h" 1 3 4 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/legacy_unistd_inlines.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/swab.h" 1 3 4 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/bits/swab.h" 3 4 extern "C" { static __inline__ void swab(const void* _Nonnull __void_src, void* _Nonnull __void_dst, ssize_t __byte_count) { const uint8_t* __src = (static_cast<const uint8_t*>(__void_src)); uint8_t* __dst = (static_cast<uint8_t*>(__void_dst)); while (__byte_count > 1) { uint8_t x = *__src++; uint8_t y = *__src++; *__dst++ = y; *__dst++ = x; __byte_count -= 2; } } } # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/android/legacy_unistd_inlines.h" 2 3 4 # 460 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/unistd.h" 2 3 4 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/posix_features.hpp" 2 # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/platform/linux.hpp" 2 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/suffix.hpp" 1 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/suffix.hpp" 3 # 484 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/suffix.hpp" 3 namespace boost{ __extension__ typedef long long long_long_type; __extension__ typedef unsigned long long ulong_long_type; } # 543 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/suffix.hpp" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/helper_macros.hpp" 1 3 # 544 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/detail/suffix.hpp" 2 3 # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config.hpp" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/static_assert.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/workaround.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/config/workaround.hpp" 1 # 9 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/workaround.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/static_assert.hpp" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/config.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/config.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/version.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/config.hpp" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/intrinsics.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/integral_constant.hpp" 1 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/integral_constant.hpp" namespace mpl_{ template <bool B> struct bool_; template <class I, I val> struct integral_c; struct integral_c_tag; } namespace boost { namespace mpl { using ::mpl_::bool_; using ::mpl_::integral_c; using ::mpl_::integral_c_tag; } } namespace boost{ template <class T, T val> struct integral_constant { typedef mpl::integral_c_tag tag; typedef T value_type; typedef integral_constant<T, val> type; static const T value = val; operator const mpl::integral_c<T, val>& ()const { static const char data[sizeof(long)] = { 0 }; static const void* pdata = data; return *(reinterpret_cast<const mpl::integral_c<T, val>*>(pdata)); } constexpr operator T()const { return val; } }; template <class T, T val> T const integral_constant<T, val>::value; template <bool val> struct integral_constant<bool, val> { typedef mpl::integral_c_tag tag; typedef bool value_type; typedef integral_constant<bool, val> type; static const bool value = val; operator const mpl::bool_<val>& ()const { static const char data[sizeof(long)] = { 0 }; static const void* pdata = data; return *(reinterpret_cast<const mpl::bool_<val>*>(pdata)); } constexpr operator bool()const { return val; } }; template <bool val> bool const integral_constant<bool, val>::value; typedef integral_constant<bool, true> true_type; typedef integral_constant<bool, false> false_type; } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pod.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pod.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_void.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_void.hpp" namespace boost { template <class T> struct is_void : public false_type {}; template<> struct is_void<void> : public true_type {}; template<> struct is_void<const void> : public true_type{}; template<> struct is_void<const volatile void> : public true_type{}; template<> struct is_void<volatile void> : public true_type{}; } # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pod.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_scalar.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_scalar.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_arithmetic.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_arithmetic.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_integral.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_integral.hpp" namespace boost { template <class T> struct is_integral : public false_type {}; template <class T> struct is_integral<const T> : public is_integral<T> {}; template <class T> struct is_integral<volatile const T> : public is_integral<T>{}; template <class T> struct is_integral<volatile T> : public is_integral<T>{}; template<> struct is_integral<unsigned char> : public true_type {}; template<> struct is_integral<unsigned short> : public true_type{}; template<> struct is_integral<unsigned int> : public true_type{}; template<> struct is_integral<unsigned long> : public true_type{}; template<> struct is_integral<signed char> : public true_type{}; template<> struct is_integral<short> : public true_type{}; template<> struct is_integral<int> : public true_type{}; template<> struct is_integral<long> : public true_type{}; template<> struct is_integral<char> : public true_type{}; template<> struct is_integral<bool> : public true_type{}; template<> struct is_integral<wchar_t> : public true_type{}; # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_integral.hpp" template<> struct is_integral< ::boost::ulong_long_type> : public true_type{}; template<> struct is_integral< ::boost::long_long_type> : public true_type{}; # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_integral.hpp" template<> struct is_integral<char16_t> : public true_type{}; template<> struct is_integral<char32_t> : public true_type{}; } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_arithmetic.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_floating_point.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_floating_point.hpp" namespace boost { template <class T> struct is_floating_point : public false_type{}; template <class T> struct is_floating_point<const T> : public is_floating_point<T>{}; template <class T> struct is_floating_point<volatile const T> : public is_floating_point<T>{}; template <class T> struct is_floating_point<volatile T> : public is_floating_point<T>{}; template<> struct is_floating_point<float> : public true_type{}; template<> struct is_floating_point<double> : public true_type{}; template<> struct is_floating_point<long double> : public true_type{}; } # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_arithmetic.hpp" 2 namespace boost { template <class T> struct is_arithmetic : public integral_constant<bool, is_integral<T>::value || is_floating_point<T>::value> {}; } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_scalar.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_enum.hpp" 1 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_enum.hpp" namespace boost { # 160 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_enum.hpp" template <class T> struct is_enum : public integral_constant<bool, __is_enum(T)> {}; } # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_scalar.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pointer.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pointer.hpp" namespace boost { template <class T> struct is_pointer : public false_type{}; template <class T> struct is_pointer<T*> : public true_type{}; template <class T> struct is_pointer<T*const> : public true_type{}; template <class T> struct is_pointer<T*const volatile> : public true_type{}; template <class T> struct is_pointer<T*volatile> : public true_type{}; # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pointer.hpp" } # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_scalar.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_pointer.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_pointer.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_function_pointer.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_function_pointer.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" 1 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" namespace boost { namespace type_traits { template <typename T> struct is_mem_fun_pointer_impl { static const bool value = false; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)()> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...)> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)() const> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)() volatile> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)() const volatile> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...) const> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...) volatile> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...) const volatile> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)()noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...)noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)() const noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)() volatile noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)() const volatile noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...) const noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...) volatile noexcept> { static const bool value = true; }; template <class R, class T > struct is_mem_fun_pointer_impl<R(T::*)(...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0)> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...)> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0) const> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0) volatile> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0) const volatile> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...) const> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0)noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0) const noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0> struct is_mem_fun_pointer_impl<R(T::*)(T0 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1)> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1) const> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const volatile> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) volatile noexcept> { static const bool value = true; }; template <class R, class T, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) const> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) volatile> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) const noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) volatile noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 ...)> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 ...)noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; 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> struct is_mem_fun_pointer_impl<R(T::*)(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 noexcept> { static const bool value = true; }; # 1254 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp" } } # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_function_pointer.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/remove_cv.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/remove_cv.hpp" namespace boost { template <class T> struct remove_cv{ typedef T type; }; template <class T> struct remove_cv<T const>{ typedef T type; }; template <class T> struct remove_cv<T volatile>{ typedef T type; }; template <class T> struct remove_cv<T const volatile>{ typedef T type; }; template <class T, std::size_t N> struct remove_cv<T const[N]>{ typedef T type[N]; }; template <class T, std::size_t N> struct remove_cv<T const volatile[N]>{ typedef T type[N]; }; template <class T, std::size_t N> struct remove_cv<T volatile[N]>{ typedef T type[N]; }; template <class T> struct remove_cv<T const[]>{ typedef T type[]; }; template <class T> struct remove_cv<T const volatile[]>{ typedef T type[]; }; template <class T> struct remove_cv<T volatile[]>{ typedef T type[]; }; template <class T> using remove_cv_t = typename remove_cv<T>::type; } # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_function_pointer.hpp" 2 namespace boost { template <class T> struct is_member_function_pointer : public ::boost::integral_constant<bool, ::boost::type_traits::is_mem_fun_pointer_impl<typename remove_cv<T>::type>::value>{}; # 118 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_function_pointer.hpp" } # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_member_pointer.hpp" 2 namespace boost { template <class T> struct is_member_pointer : public integral_constant<bool, ::boost::is_member_function_pointer<T>::value>{}; template <class T, class U> struct is_member_pointer<U T::* > : public true_type{}; template <class T, class U> struct is_member_pointer<U T::*const> : public true_type{}; template <class T, class U> struct is_member_pointer<U T::*const volatile> : public true_type{}; template <class T, class U> struct is_member_pointer<U T::*volatile> : public true_type{}; } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_scalar.hpp" 2 namespace boost { template <typename T> struct is_scalar : public integral_constant<bool, ::boost::is_arithmetic<T>::value || ::boost::is_enum<T>::value || ::boost::is_pointer<T>::value || ::boost::is_member_pointer<T>::value> {}; } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pod.hpp" 2 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_pod.hpp" namespace boost { template< typename T > struct is_POD; template <typename T> struct is_pod : public integral_constant<bool, ::boost::is_scalar<T>::value || ::boost::is_void<T>::value || __is_pod(T)> {}; template <typename T, std::size_t sz> struct is_pod<T[sz]> : public is_pod<T>{}; template<> struct is_pod<void> : public true_type{}; template<> struct is_pod<void const> : public true_type{}; template<> struct is_pod<void const volatile> : public true_type{}; template<> struct is_pod<void volatile> : public true_type{}; template<class T> struct is_POD : public is_pod<T>{}; } # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_const.hpp" 1 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_const.hpp" namespace boost { # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_const.hpp" template <class T> struct is_const : public false_type {}; template <class T> struct is_const<T const> : public true_type{}; template <class T, std::size_t N> struct is_const<T const[N]> : public true_type{}; template <class T> struct is_const<T const[]> : public true_type{}; } # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_volatile.hpp" 1 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_volatile.hpp" namespace boost { # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_volatile.hpp" template <class T> struct is_volatile : public false_type {}; template <class T> struct is_volatile<T volatile> : public true_type{}; template <class T, std::size_t N> struct is_volatile<T volatile[N]> : public true_type{}; template <class T> struct is_volatile<T volatile[]> : public true_type{}; } # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_assignable.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_assignable.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/declval.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/declval.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/add_rvalue_reference.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/add_rvalue_reference.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_reference.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_reference.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_lvalue_reference.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_lvalue_reference.hpp" namespace boost { template <class T> struct is_lvalue_reference : public false_type{}; template <class T> struct is_lvalue_reference<T&> : public true_type{}; # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_lvalue_reference.hpp" } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_reference.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_rvalue_reference.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_rvalue_reference.hpp" namespace boost { template <class T> struct is_rvalue_reference : public false_type {}; template <class T> struct is_rvalue_reference<T&&> : public true_type {}; } # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_reference.hpp" 2 namespace boost { template <class T> struct is_reference : public integral_constant< bool, ::boost::is_lvalue_reference<T>::value || ::boost::is_rvalue_reference<T>::value> {}; } # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/add_rvalue_reference.hpp" 2 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/add_rvalue_reference.hpp" namespace boost { namespace type_traits_detail { template <typename T, bool b> struct add_rvalue_reference_helper { typedef T type; }; template <typename T> struct add_rvalue_reference_helper<T, true> { typedef T&& type; }; template <typename T> struct add_rvalue_reference_imp { typedef typename boost::type_traits_detail::add_rvalue_reference_helper <T, (is_void<T>::value == false && is_reference<T>::value == false) >::type type; }; } template <class T> struct add_rvalue_reference { typedef typename boost::type_traits_detail::add_rvalue_reference_imp<T>::type type; }; template <class T> using add_rvalue_reference_t = typename add_rvalue_reference<T>::type; } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/declval.hpp" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/declval.hpp" namespace boost { template <typename T> typename add_rvalue_reference<T>::type declval() noexcept; } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/remove_reference.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/remove_reference.hpp" namespace boost { namespace detail{ template <class T> struct remove_rvalue_ref { typedef T type; }; template <class T> struct remove_rvalue_ref<T&&> { typedef T type; }; } template <class T> struct remove_reference{ typedef typename boost::detail::remove_rvalue_ref<T>::type type; }; template <class T> struct remove_reference<T&>{ typedef T type; }; # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/remove_reference.hpp" template <class T> using remove_reference_t = typename remove_reference<T>::type; } # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_function.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_function.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/is_function_ptr_helper.hpp" 1 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/is_function_ptr_helper.hpp" namespace boost { namespace type_traits { template <class R> struct is_function_ptr_helper { static const bool value = false; }; template <class R > struct is_function_ptr_helper<R(*)()> { static const bool value = true; }; template <class R > struct is_function_ptr_helper<R(*)(...)> { static const bool value = true; }; template <class R > struct is_function_ptr_helper<R(*)()noexcept> { static const bool value = true; }; template <class R > struct is_function_ptr_helper<R(*)(...)noexcept> { static const bool value = true; }; template <class R, class T0> struct is_function_ptr_helper<R(*)(T0)> { static const bool value = true; }; template <class R, class T0> struct is_function_ptr_helper<R(*)(T0 ...)> { static const bool value = true; }; template <class R, class T0> struct is_function_ptr_helper<R(*)(T0)noexcept> { static const bool value = true; }; template <class R, class T0> struct is_function_ptr_helper<R(*)(T0 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1> struct is_function_ptr_helper<R(*)(T0, T1)> { static const bool value = true; }; template <class R, class T0, class T1> struct is_function_ptr_helper<R(*)(T0, T1 ...)> { static const bool value = true; }; template <class R, class T0, class T1> struct is_function_ptr_helper<R(*)(T0, T1)noexcept> { static const bool value = true; }; template <class R, class T0, class T1> struct is_function_ptr_helper<R(*)(T0, T1 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2> struct is_function_ptr_helper<R(*)(T0, T1, T2)> { static const bool value = true; }; template <class R, class T0, class T1, class T2> struct is_function_ptr_helper<R(*)(T0, T1, T2 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2> struct is_function_ptr_helper<R(*)(T0, T1, T2)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2> struct is_function_ptr_helper<R(*)(T0, T1, T2 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)noexcept> { static const bool value = true; }; template <class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(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)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(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 ...)> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(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)noexcept> { static const bool value = true; }; 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> struct is_function_ptr_helper<R(*)(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 ...)noexcept> { static const bool value = true; }; # 419 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/is_function_ptr_helper.hpp" } } # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_function.hpp" 2 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_function.hpp" namespace boost { namespace detail { template<bool is_ref = true> struct is_function_chooser { template< typename T > struct result_ : public false_type {}; }; template <> struct is_function_chooser<false> { template< typename T > struct result_ : public ::boost::type_traits::is_function_ptr_helper<T*> {}; }; template <typename T> struct is_function_impl : public is_function_chooser< ::boost::is_reference<T>::value > ::template result_<T> { }; # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_function.hpp" } template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {}; template <class T> struct is_function<T&&> : public false_type {}; } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/yes_no_type.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/detail/yes_no_type.hpp" namespace boost { namespace type_traits { typedef char yes_type; struct no_type { char padding[8]; }; } } # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" 2 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" namespace boost { # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" namespace detail{ template <unsigned N> struct ok_tag { double d; char c[N]; }; template <class T> ok_tag<sizeof(T)> check_is_complete(int); template <class T> char check_is_complete(...); } template <class T> struct is_complete : public integral_constant<bool, ::boost::is_function<typename boost::remove_reference<T>::type>::value || (sizeof(detail::check_is_complete<T>(0)) != sizeof(char))> {}; # 90 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_complete.hpp" } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_assignable.hpp" 2 namespace boost{ template <class T, class U = T> struct is_assignable; } namespace boost{ namespace detail{ struct is_assignable_imp { template<typename T, typename U, typename = decltype(boost::declval<T>() = boost::declval<U>())> static boost::type_traits::yes_type test(int); template<typename, typename> static boost::type_traits::no_type test(...); }; } template <class T, class U> struct is_assignable : public integral_constant<bool, sizeof(detail::is_assignable_imp::test<T, U>(0)) == sizeof(boost::type_traits::yes_type)> { static_assert(boost::is_complete<T>::value, "Arguments to is_assignable must be complete types"); }; template <class T, std::size_t N, class U> struct is_assignable<T[N], U> : public is_assignable<T, U>{}; template <class T, std::size_t N, class U> struct is_assignable<T(&)[N], U> : public is_assignable<T&, U>{}; template <class T, class U> struct is_assignable<T[], U> : public is_assignable<T, U>{}; template <class T, class U> struct is_assignable<T(&)[], U> : public is_assignable<T&, U>{}; template <class U> struct is_assignable<void, U> : public integral_constant<bool, false>{}; template <class U> struct is_assignable<void const, U> : public integral_constant<bool, false>{}; template <class U> struct is_assignable<void volatile, U> : public integral_constant<bool, false>{}; template <class U> struct is_assignable<void const volatile, U> : public integral_constant<bool, false>{}; # 83 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_assignable.hpp" } # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_assign.hpp" 2 namespace boost { template <typename T> struct has_trivial_assign : public integral_constant < bool, (__has_trivial_assign(T) && !is_volatile<T>::value && is_assignable<T&, const T&>::value) > {}; template<> struct has_trivial_assign<void> : public false_type{}; template<> struct has_trivial_assign<void const> : public false_type{}; template<> struct has_trivial_assign<void const volatile> : public false_type{}; template<> struct has_trivial_assign<void volatile> : public false_type{}; template <class T> struct has_trivial_assign<T volatile> : public false_type{}; template <class T> struct has_trivial_assign<T&> : public false_type{}; template <class T> struct has_trivial_assign<T&&> : public false_type{}; template <typename T, std::size_t N> struct has_trivial_assign<T[N]> : public false_type{}; template <typename T> struct has_trivial_assign<T[]> : public false_type{}; } # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_destructor.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_destructor.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_destructible.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_destructible.hpp" namespace boost{ namespace detail{ struct is_destructible_imp { template<typename T, typename = decltype(boost::declval<T&>().~T())> static boost::type_traits::yes_type test(int); template<typename> static boost::type_traits::no_type test(...); }; } template <class T> struct is_destructible : public integral_constant<bool, sizeof(detail::is_destructible_imp::test<T>(0)) == sizeof(boost::type_traits::yes_type)> { static_assert(boost::is_complete<T>::value, "Arguments to is_destructible must be complete types"); }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_destructible.hpp" template <> struct is_destructible<void> : public false_type{}; template <> struct is_destructible<void const> : public false_type{}; template <> struct is_destructible<void volatile> : public false_type{}; template <> struct is_destructible<void const volatile> : public false_type{}; template <class T> struct is_destructible<T&> : public is_destructible<T>{}; template <class T> struct is_destructible<T&&> : public is_destructible<T>{}; template <class T, std::size_t N> struct is_destructible<T[N]> : public is_destructible<T>{}; template <class T> struct is_destructible<T[]> : public is_destructible<T>{}; } # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_destructor.hpp" 2 namespace boost { template <typename T> struct has_trivial_destructor : public integral_constant<bool, (__has_trivial_destructor(T) && is_destructible<T>::value)>{}; # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/has_trivial_destructor.hpp" template <> struct has_trivial_destructor<void> : public false_type{}; template <> struct has_trivial_destructor<void const> : public false_type{}; template <> struct has_trivial_destructor<void const volatile> : public false_type{}; template <> struct has_trivial_destructor<void volatile> : public false_type{}; } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/allocator_rebind_helper.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/allocator_rebind_helper.hpp" namespace boost { namespace lockfree { namespace detail { template <class allocator_type, class value_type> struct allocator_rebind_helper { typedef typename std::allocator_traits<allocator_type>::template rebind_alloc<value_type> type; }; } } } # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/atomic.hpp" 1 # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/atomic.hpp" namespace boost { namespace lockfree { namespace detail { # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/atomic.hpp" using std::atomic; using std::memory_order_acquire; using std::memory_order_consume; using std::memory_order_relaxed; using std::memory_order_release; } using detail::atomic; using detail::memory_order_acquire; using detail::memory_order_consume; using detail::memory_order_relaxed; using detail::memory_order_release; }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/copy_payload.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/copy_payload.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/if.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/if.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/static_cast.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/static_cast.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/workaround.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/static_cast.hpp" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/integral.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/integral.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/msvc.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/integral.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/eti.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" 2 # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct value_type_wknd { typedef typename T::value_type type; }; # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/value_wknd.hpp" }}} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/if.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/void_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/void_fwd.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/adl_barrier.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/adl_barrier.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/adl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/adl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/intel.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/adl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/gcc.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/adl.hpp" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/adl_barrier.hpp" 2 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/adl_barrier.hpp" namespace mpl_ { namespace aux {} } namespace boost { namespace mpl { using namespace mpl_; namespace aux { using namespace mpl_::aux; } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/void_fwd.hpp" 2 namespace mpl_ { struct void_; } namespace boost { namespace mpl { using ::mpl_::void_; } } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bool.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bool.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bool_fwd.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bool_fwd.hpp" namespace mpl_ { template< bool C_ > struct bool_; typedef bool_<true> true_; typedef bool_<false> false_; } namespace boost { namespace mpl { using ::mpl_::bool_; } } namespace boost { namespace mpl { using ::mpl_::true_; } } namespace boost { namespace mpl { using ::mpl_::false_; } } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bool.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/integral_c_tag.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/integral_c_tag.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/static_constant.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/integral_c_tag.hpp" 2 namespace mpl_ { struct integral_c_tag { static const int value = 0; }; } namespace boost { namespace mpl { using ::mpl_::integral_c_tag; } } # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bool.hpp" 2 namespace mpl_ { template< bool C_ > struct bool_ { static const bool value = C_; typedef integral_c_tag tag; typedef bool_ type; typedef bool value_type; constexpr operator bool() const { return this->value; } }; template< bool C_ > bool const bool_<C_>::value; } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_fwd.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_fwd.hpp" namespace mpl_ { struct na { typedef na type; enum { value = 0 }; }; } namespace boost { namespace mpl { using ::mpl_::na; } } # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/ctps.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na.hpp" 2 namespace boost { namespace mpl { template< typename T > struct is_na : false_ { }; template<> struct is_na<na> : true_ { }; template< typename T > struct is_not_na : true_ { }; template<> struct is_not_na<na> : false_ { }; template< typename T, typename U > struct if_na { typedef T type; }; template< typename U > struct if_na<na,U> { typedef U type; }; # 93 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na.hpp" }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/lambda.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/lambda.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/ttp.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/lambda.hpp" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int_fwd.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int_fwd.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/nttp_decl.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/nttp_decl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/nttp.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/nttp_decl.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int_fwd.hpp" 2 namespace mpl_ { template< int N > struct int_; } namespace boost { namespace mpl { using ::mpl_::int_; } } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/cat.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/cat.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/config/config.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/cat.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" 2 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< int N > struct int_ { static const int value = N; typedef int_ type; typedef int value_type; typedef integral_c_tag tag; # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" typedef mpl_::int_< static_cast<int>((value + 1)) > next; typedef mpl_::int_< static_cast<int>((value - 1)) > prior; constexpr operator int() const { return static_cast<int>(this->value); } }; template< int N > int const mpl_::int_< N >::value; } # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/int.hpp" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/lambda_arity_param.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/template_arity_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/template_arity_fwd.hpp" namespace boost { namespace mpl { namespace aux { template< typename F > struct template_arity; }}} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda_fwd.hpp" 2 namespace boost { namespace mpl { template< typename T = na , typename Tag = void_ , typename Arity = int_< aux::template_arity<T>::value > > struct lambda; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/arity.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/arity.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/dtp.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/arity.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/preprocessor.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" 2 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/comma_if.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/comma_if.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/punctuation/comma_if.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/punctuation/comma_if.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/if.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/if.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/iif.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/if.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/logical/bool.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/if.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/punctuation/comma_if.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/empty.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/punctuation/comma_if.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/punctuation/comma.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/punctuation/comma_if.hpp" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/comma_if.hpp" 2 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repeat.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repeat.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/repeat.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/repeat.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/debug/error.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/repeat.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/repeat.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/eat.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/repeat.hpp" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repeat.hpp" 2 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/inc.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/inc.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/inc.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/inc.hpp" 2 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/params.hpp" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/enum.hpp" 1 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/limits/arity.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/logical/and.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/logical/and.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/logical/bitand.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/logical/and.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/identity.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/identity.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/identity.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/identity.hpp" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/empty.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/add.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/add.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/dec.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/add.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_left.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_left.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_left.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_left.hpp" 2 # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_left.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_left.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_left.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/expr_iif.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_left.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/adt.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/adt.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/is_binary.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/is_binary.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/check.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/is_binary.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/adt.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/logical/compl.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/adt.hpp" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_left.hpp" 2 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_left.hpp" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_right.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_right.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_right.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_right.hpp" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_right.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_right.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_right.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/reverse.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/detail/fold_right.hpp" 2 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/list/fold_right.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 2 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/detail/while.hpp" 1 # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/control/while.hpp" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/add.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/elem.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/elem.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/expand.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/elem.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/overload.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/overload.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/variadic/size.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/overload.hpp" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/elem.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/rem.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/rem.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/detail/is_single_return.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/rem.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/elem.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/variadic/elem.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/tuple/elem.hpp" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/add.hpp" 2 # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/arithmetic/sub.hpp" 1 # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/def_params_tail.hpp" 2 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/overload_resolution.hpp" 1 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_spec.hpp" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/if.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/lambda_support.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/if.hpp" 2 namespace boost { namespace mpl { template< bool C , typename T1 , typename T2 > struct if_c { typedef T1 type; }; template< typename T1 , typename T2 > struct if_c<false,T1,T2> { typedef T2 type; }; template< typename T1 = na , typename T2 = na , typename T3 = na > struct if_ { private: typedef if_c< static_cast<bool>(T1::value) , T2 , T3 > almost_type_; public: typedef typename almost_type_::type type; }; # 131 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/if.hpp" template<> struct if_< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : if_< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< if_< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef if_< na , na , na > result_; typedef if_< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< if_< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< if_< na , na , na > > : int_<-1> { }; } }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/copy_payload.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_convertible.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_convertible.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_array.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_array.hpp" namespace boost { template <class T> struct is_array : public false_type {}; template <class T, std::size_t N> struct is_array<T[N]> : public true_type {}; template <class T, std::size_t N> struct is_array<T const[N]> : public true_type{}; template <class T, std::size_t N> struct is_array<T volatile[N]> : public true_type{}; template <class T, std::size_t N> struct is_array<T const volatile[N]> : public true_type{}; template <class T> struct is_array<T[]> : public true_type{}; template <class T> struct is_array<T const[]> : public true_type{}; template <class T> struct is_array<T const volatile[]> : public true_type{}; template <class T> struct is_array<T volatile[]> : public true_type{}; } # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_convertible.hpp" 2 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_convertible.hpp" namespace boost { # 489 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_convertible.hpp" template <class From, class To> struct is_convertible : public integral_constant<bool, __is_convertible_to(From,To)> { static_assert(boost::is_complete<To>::value || boost::is_void<To>::value || boost::is_array<To>::value, "Destination argument type to is_convertible must be a complete type"); static_assert(boost::is_complete<From>::value || boost::is_void<From>::value || boost::is_array<From>::value, "From argument type to is_convertible must be a complete type"); }; } # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/copy_payload.hpp" 2 namespace boost { namespace lockfree { namespace detail { struct copy_convertible { template <typename T, typename U> static void copy(T & t, U & u) { u = t; } }; struct copy_constructible_and_copyable { template <typename T, typename U> static void copy(T & t, U & u) { u = U(t); } }; template <typename T, typename U> void copy_payload(T & t, U & u) { typedef typename boost::mpl::if_<typename boost::is_convertible<T, U>::type, copy_convertible, copy_constructible_and_copyable >::type copy_type; copy_type::copy(t, u); } template <typename T> struct consume_via_copy { consume_via_copy(T & out): out_(out) {} template <typename U> void operator()(U & element) { copy_payload(element, out_); } T & out_; }; struct consume_noop { template <typename U> void operator()(const U &) { } }; }}} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" 1 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" 1 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 1 3 4 # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 3 4 extern "C" { void __assert(const char* _Nonnull __file, int __line, const char* _Nonnull __msg) __attribute__((__noreturn__)); void __assert2(const char* _Nonnull __file, int __line, const char* _Nonnull __function, const char* _Nonnull __msg) __attribute__((__noreturn__)); } # 59 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" 2 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/swap.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/swap.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/swap.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/swap.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 1 3 # 1787 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/adjacent_find.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/adjacent_find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/adjacent_find.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Iter, class _Sent, class _BinaryPredicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter __adjacent_find(_Iter __first, _Sent __last, _BinaryPredicate&& __pred) { if (__first == __last) return __first; _Iter __i = __first; while (++__i != __last) { if (__pred(*__first, *__i)) return __first; __first = __i; } return __i; } template <class _ForwardIterator, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred) { return std::__adjacent_find(std::move(__first), std::move(__last), __pred); } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator adjacent_find(_ForwardIterator __first, _ForwardIterator __last) { return std::adjacent_find(std::move(__first), std::move(__last), __equal_to()); } }} # 1788 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/all_of.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/all_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { for (; __first != __last; ++__first) if (!__pred(*__first)) return false; return true; } }} # 1789 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/any_of.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/any_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { for (; __first != __last; ++__first) if (__pred(*__first)) return true; return false; } }} # 1790 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/binary_search.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/binary_search.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lower_bound.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lower_bound.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/half_positive.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/half_positive.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <typename _Integral, __enable_if_t<is_integral<_Integral>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Integral __half_positive(_Integral __value) { return static_cast<_Integral>(static_cast<__make_unsigned_t<_Integral> >(__value) / 2); } template <typename _Tp, __enable_if_t<!is_integral<_Tp>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __half_positive(_Tp __value) { return __value / 2; } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lower_bound.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lower_bound.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Iter, class _Sent, class _Type, class _Proj, class _Comp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter __lower_bound(_Iter __first, _Sent __last, const _Type& __value, _Comp& __comp, _Proj& __proj) { auto __len = _IterOps<_AlgPolicy>::distance(__first, __last); while (__len != 0) { auto __l2 = std::__half_positive(__len); _Iter __m = __first; _IterOps<_AlgPolicy>::advance(__m, __l2); if (std::__invoke(__comp, std::__invoke(__proj, *__m), __value)) { __first = ++__m; __len -= __l2 + 1; } else { __len = __l2; } } return __first; } template <class _ForwardIterator, class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { static_assert(__is_callable<_Compare, decltype(*__first), const _Tp&>::value, "The comparator has to be callable"); auto __proj = std::__identity(); return std::__lower_bound<_ClassicAlgPolicy>(__first, __last, __value, __comp, __proj); } template <class _ForwardIterator, class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { return std::lower_bound(__first, __last, __value, __less<>()); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/binary_search.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/binary_search.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { __first = std::lower_bound<_ForwardIterator, _Tp, __comp_ref_type<_Compare> >(__first, __last, __value, __comp); return __first != __last && !__comp(__value, *__first); } template <class _ForwardIterator, class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { return std::binary_search(__first, __last, __value, __less<>()); } }} # 1791 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/clamp.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/clamp.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& clamp([[_Clang::__lifetimebound__]] const _Tp& __v, [[_Clang::__lifetimebound__]] const _Tp& __lo, [[_Clang::__lifetimebound__]] const _Tp& __hi, _Compare __comp) { ((void)0); return __comp(__v, __lo) ? __lo : __comp(__hi, __v) ? __hi : __v; } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& clamp([[_Clang::__lifetimebound__]] const _Tp& __v, [[_Clang::__lifetimebound__]] const _Tp& __lo, [[_Clang::__lifetimebound__]] const _Tp& __hi) { return std::clamp(__v, __lo, __hi, __less<>()); } }} # 1792 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_backward.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_backward.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_backward.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _InIter, class _Sent, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InIter, _OutIter> __copy_backward(_InIter __first, _Sent __last, _OutIter __result); template <class _AlgPolicy> struct __copy_backward_loop { template <class _InIter, class _Sent, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _Sent __last, _OutIter __result) const { auto __last_iter = _IterOps<_AlgPolicy>::next(__first, __last); auto __original_last_iter = __last_iter; while (__first != __last_iter) { *--__result = *--__last_iter; } return std::make_pair(std::move(__original_last_iter), std::move(__result)); } template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { using _Traits = __segmented_iterator_traits<_InIter>; auto __sfirst = _Traits::__segment(__first); auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { auto __iters = std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); return std::make_pair(__last, __iters.second); } __result = std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) .second; --__slast; while (__sfirst != __slast) { __result = std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__end(__slast), std::move(__result)) .second; --__slast; } __result = std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) .second; return std::make_pair(__last, std::move(__result)); } template <class _InIter, class _OutIter, __enable_if_t<__has_random_access_iterator_category<_InIter>::value && !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { using _Traits = __segmented_iterator_traits<_OutIter>; auto __orig_last = __last; auto __segment_iterator = _Traits::__segment(__result); if (__first == __last) return std::make_pair(__first, __result); auto __local_last = _Traits::__local(__result); while (true) { using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; auto __local_first = _Traits::__begin(__segment_iterator); auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); auto __iter = std::__copy_backward<_AlgPolicy>(__last - __size, __last, __local_last).second; __last -= __size; if (__first == __last) return std::make_pair(std::move(__orig_last), _Traits::__compose(__segment_iterator, std::move(__iter))); --__segment_iterator; __local_last = _Traits::__end(__segment_iterator); } } }; struct __copy_backward_trivial { template <class _In, class _Out, __enable_if_t<__can_lower_copy_assignment_to_memmove<_In, _Out>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_In*, _Out*> operator()(_In* __first, _In* __last, _Out* __result) const { return std::__copy_backward_trivial_impl(__first, __last, __result); } }; template <class _AlgPolicy, class _BidirectionalIterator1, class _Sentinel, class _BidirectionalIterator2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_BidirectionalIterator1, _BidirectionalIterator2> __copy_backward(_BidirectionalIterator1 __first, _Sentinel __last, _BidirectionalIterator2 __result) { return std::__dispatch_copy_or_move<_AlgPolicy, __copy_backward_loop<_AlgPolicy>, __copy_backward_trivial>( std::move(__first), std::move(__last), std::move(__result)); } template <class _BidirectionalIterator1, class _BidirectionalIterator2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _BidirectionalIterator2 copy_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last, _BidirectionalIterator2 __result) { static_assert(std::is_copy_constructible<_BidirectionalIterator1>::value && std::is_copy_constructible<_BidirectionalIterator1>::value, "Iterators must be copy constructible."); return std::__copy_backward<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__result)).second; } }} # 1796 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_if.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator, class _Predicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { for (; __first != __last; ++__first) { if (__pred(*__first)) { *__result = *__first; ++__result; } } return __result; } }} # 1797 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_n.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/copy_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Size, class _OutputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value && !__has_random_access_iterator_category<_InputIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result) { typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; _IntegralSize __n = __orig_n; if (__n > 0) { *__result = *__first; ++__result; for (--__n; __n > 0; --__n) { ++__first; *__result = *__first; ++__result; } } return __result; } template <class _InputIterator, class _Size, class _OutputIterator, __enable_if_t<__has_random_access_iterator_category<_InputIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result) { typedef typename iterator_traits<_InputIterator>::difference_type difference_type; typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; _IntegralSize __n = __orig_n; return std::copy(__first, __first + difference_type(__n), __result); } }} # 1798 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/invert_if.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/invert_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <bool _Invert, class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __invert_if(_Tp __v) { if (_Invert) return ~__v; return __v; } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/popcount.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/popcount.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/rotate.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/rotate.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __rotr(_Tp __t, int __cnt) noexcept { static_assert(__libcpp_is_unsigned_integer<_Tp>::value, "__rotr requires an unsigned integer type"); const unsigned int __dig = numeric_limits<_Tp>::digits; if ((__cnt % __dig) == 0) return __t; if (__cnt < 0) { __cnt *= -1; return (__t << (__cnt % __dig)) | (__t >> (__dig - (__cnt % __dig))); } return (__t >> (__cnt % __dig)) | (__t << (__dig - (__cnt % __dig))); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __rotl(_Tp __t, int __cnt) noexcept { return std::__rotr(__t, -__cnt); } # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/rotate.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/popcount.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/popcount.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/popcount.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_popcount(unsigned __x) noexcept { return __builtin_popcount(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_popcount(unsigned long __x) noexcept { return __builtin_popcountl(__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_popcount(unsigned long long __x) noexcept { return __builtin_popcountll(__x); } # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/popcount.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/bit_reference.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__fwd/bit_reference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Cp, bool _IsConst, typename _Cp::__storage_type = 0> class __bit_iterator; }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Iter, class _Sent, class _Tp, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename _IterOps<_AlgPolicy>::template __difference_type<_Iter> __count(_Iter __first, _Sent __last, const _Tp& __value, _Proj& __proj) { typename _IterOps<_AlgPolicy>::template __difference_type<_Iter> __r(0); for (; __first != __last; ++__first) if (std::__invoke(__proj, *__first) == __value) ++__r; return __r; } template <bool _ToCount, class _Cp, bool _IsConst> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename __bit_iterator<_Cp, _IsConst>::difference_type __count_bool(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n) { using _It = __bit_iterator<_Cp, _IsConst>; using __storage_type = typename _It::__storage_type; using difference_type = typename _It::difference_type; const int __bits_per_word = _It::__bits_per_word; difference_type __r = 0; if (__first.__ctz_ != 0) { __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_); __storage_type __dn = std::min(__clz_f, __n); __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn)); __r = std::__libcpp_popcount(std::__invert_if<!_ToCount>(*__first.__seg_) & __m); __n -= __dn; ++__first.__seg_; } for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word) __r += std::__libcpp_popcount(std::__invert_if<!_ToCount>(*__first.__seg_)); if (__n > 0) { __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n); __r += std::__libcpp_popcount(std::__invert_if<!_ToCount>(*__first.__seg_) & __m); } return __r; } template <class, class _Cp, bool _IsConst, class _Tp, class _Proj, __enable_if_t<__is_identity<_Proj>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __iter_diff_t<__bit_iterator<_Cp, _IsConst> > __count(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value, _Proj&) { if (__value) return std::__count_bool<true>(__first, static_cast<typename _Cp::size_type>(__last - __first)); return std::__count_bool<false>(__first, static_cast<typename _Cp::size_type>(__last - __first)); } template <class _InputIterator, class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __iter_diff_t<_InputIterator> count(_InputIterator __first, _InputIterator __last, const _Tp& __value) { __identity __proj; return std::__count<_ClassicAlgPolicy>(__first, __last, __value, __proj); } }} # 1799 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count_if.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/count_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) typename iterator_traits<_InputIterator>::difference_type count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { typename iterator_traits<_InputIterator>::difference_type __r(0); for (; __first != __last; ++__first) if (__pred(*__first)) ++__r; return __r; } }} # 1800 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/equal.h" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/equal.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __equal_iter_impl( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate& __pred) { for (; __first1 != __last1; ++__first1, (void)++__first2) if (!__pred(*__first1, *__first2)) return false; return true; } template <class _Tp, class _Up, class _BinaryPredicate, __enable_if_t<__desugars_to<__equal_tag, _BinaryPredicate, _Tp, _Up>::value && !is_volatile<_Tp>::value && !is_volatile<_Up>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __equal_iter_impl(_Tp* __first1, _Tp* __last1, _Up* __first2, _BinaryPredicate&) { return std::__constexpr_memcmp_equal(__first1, __first2, __element_count(__last1 - __first1)); } template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __pred) { return std::__equal_iter_impl( std::__unwrap_iter(__first1), std::__unwrap_iter(__last1), std::__unwrap_iter(__first2), __pred); } template <class _InputIterator1, class _InputIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { return std::equal(__first1, __last1, __first2, __equal_to()); } template <class _BinaryPredicate, class _InputIterator1, class _InputIterator2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred, input_iterator_tag, input_iterator_tag) { for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void)++__first2) if (!__pred(*__first1, *__first2)) return false; return __first1 == __last1 && __first2 == __last2; } template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __equal_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __comp, _Proj1& __proj1, _Proj2& __proj2) { while (__first1 != __last1 && __first2 != __last2) { if (!std::__invoke(__comp, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) return false; ++__first1; ++__first2; } return __first1 == __last1 && __first2 == __last2; } template <class _Tp, class _Up, class _Pred, class _Proj1, class _Proj2, __enable_if_t<__desugars_to<__equal_tag, _Pred, _Tp, _Up>::value && __is_identity<_Proj1>::value && __is_identity<_Proj2>::value && !is_volatile<_Tp>::value && !is_volatile<_Up>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value, int> = 0> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __equal_impl(_Tp* __first1, _Tp* __last1, _Up* __first2, _Up*, _Pred&, _Proj1&, _Proj2&) { return std::__constexpr_memcmp_equal(__first1, __first2, __element_count(__last1 - __first1)); } template <class _BinaryPredicate, class _RandomAccessIterator1, class _RandomAccessIterator2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __equal(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1, _RandomAccessIterator2 __first2, _RandomAccessIterator2 __last2, _BinaryPredicate __pred, random_access_iterator_tag, random_access_iterator_tag) { if (std::distance(__first1, __last1) != std::distance(__first2, __last2)) return false; __identity __proj; return std::__equal_impl( std::__unwrap_iter(__first1), std::__unwrap_iter(__last1), std::__unwrap_iter(__first2), std::__unwrap_iter(__last2), __pred, __proj, __proj); } template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred) { return std::__equal<_BinaryPredicate&>( __first1, __last1, __first2, __last2, __pred, typename iterator_traits<_InputIterator1>::iterator_category(), typename iterator_traits<_InputIterator2>::iterator_category()); } template <class _InputIterator1, class _InputIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { return std::__equal( __first1, __last1, __first2, __last2, __equal_to(), typename iterator_traits<_InputIterator1>::iterator_category(), typename iterator_traits<_InputIterator2>::iterator_category()); } }} # 1801 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/equal_range.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/equal_range.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/upper_bound.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/upper_bound.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/upper_bound.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _Iter, class _Sent, class _Tp, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter __upper_bound(_Iter __first, _Sent __last, const _Tp& __value, _Compare&& __comp, _Proj&& __proj) { auto __len = _IterOps<_AlgPolicy>::distance(__first, __last); while (__len != 0) { auto __half_len = std::__half_positive(__len); auto __mid = _IterOps<_AlgPolicy>::next(__first, __half_len); if (std::__invoke(__comp, __value, std::__invoke(__proj, *__mid))) __len = __half_len; else { __first = ++__mid; __len -= __half_len + 1; } } return __first; } template <class _ForwardIterator, class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { static_assert(is_copy_constructible<_ForwardIterator>::value, "Iterator has to be copy constructible"); return std::__upper_bound<_ClassicAlgPolicy>( std::move(__first), std::move(__last), __value, std::move(__comp), std::__identity()); } template <class _ForwardIterator, class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { return std::upper_bound(std::move(__first), std::move(__last), __value, __less<>()); } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/equal_range.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/equal_range.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _Iter, class _Sent, class _Tp, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_Iter, _Iter> __equal_range(_Iter __first, _Sent __last, const _Tp& __value, _Compare&& __comp, _Proj&& __proj) { auto __len = _IterOps<_AlgPolicy>::distance(__first, __last); _Iter __end = _IterOps<_AlgPolicy>::next(__first, __last); while (__len != 0) { auto __half_len = std::__half_positive(__len); _Iter __mid = _IterOps<_AlgPolicy>::next(__first, __half_len); if (std::__invoke(__comp, std::__invoke(__proj, *__mid), __value)) { __first = ++__mid; __len -= __half_len + 1; } else if (std::__invoke(__comp, __value, std::__invoke(__proj, *__mid))) { __end = __mid; __len = __half_len; } else { _Iter __mp1 = __mid; return pair<_Iter, _Iter>(std::__lower_bound<_AlgPolicy>(__first, __mid, __value, __comp, __proj), std::__upper_bound<_AlgPolicy>(++__mp1, __end, __value, __comp, __proj)); } } return pair<_Iter, _Iter>(__first, __first); } template <class _ForwardIterator, class _Tp, class _Compare> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Compare __comp) { static_assert(__is_callable<_Compare, decltype(*__first), const _Tp&>::value, "The comparator has to be callable"); static_assert(is_copy_constructible<_ForwardIterator>::value, "Iterator has to be copy constructible"); return std::__equal_range<_ClassicAlgPolicy>( std::move(__first), std::move(__last), __value, static_cast<__comp_ref_type<_Compare> >(__comp), std::__identity()); } template <class _ForwardIterator, class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { return std::equal_range(std::move(__first), std::move(__last), __value, __less<>()); } }} # 1802 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fill.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fill.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fill_n.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fill_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _OutputIterator, class _Size, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator __fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) { for (; __n > 0; ++__first, (void)--__n) *__first = __value; return __first; } template <class _OutputIterator, class _Size, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) { return std::__fill_n(__first, std::__convert_to_integral(__n), __value); } }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fill.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fill.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, forward_iterator_tag) { for (; __first != __last; ++__first) *__first = __value; } template <class _RandomAccessIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __fill(_RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __value, random_access_iterator_tag) { std::fill_n(__first, __last - __first, __value); } template <class _ForwardIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { std::__fill(__first, __last, __value, typename iterator_traits<_ForwardIterator>::iterator_category()); } }} # 1803 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_segment_if.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_segment_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _SegmentedIterator, class _Pred, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _SegmentedIterator __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred __pred, _Proj& __proj) { using _Traits = __segmented_iterator_traits<_SegmentedIterator>; auto __sfirst = _Traits::__segment(__first); auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) return _Traits::__compose(__sfirst, __pred(_Traits::__local(__first), _Traits::__local(__last), __proj)); { auto __llast = _Traits::__end(__sfirst); auto __liter = __pred(_Traits::__local(__first), __llast, __proj); if (__liter != __llast) return _Traits::__compose(__sfirst, __liter); } ++__sfirst; while (__sfirst != __slast) { auto __llast = _Traits::__end(__sfirst); auto __liter = __pred(_Traits::__begin(__sfirst), _Traits::__end(__sfirst), __proj); if (__liter != __llast) return _Traits::__compose(__sfirst, __liter); ++__sfirst; } return _Traits::__compose(__sfirst, __pred(_Traits::__begin(__sfirst), _Traits::__local(__last), __proj)); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countr.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countr.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countr.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_ctz(unsigned __x) noexcept { return __builtin_ctz(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_ctz(unsigned long __x) noexcept { return __builtin_ctzl(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_ctz(unsigned long long __x) noexcept { return __builtin_ctzll(__x); } # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countr.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 2 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 1 3 # 112 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwctype" 1 3 # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwctype" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cctype" 1 3 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cctype" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ctype.h" 1 3 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ctype.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/ctype.h" 1 3 4 # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/ctype.h" 3 4 extern "C" { extern const char* _ctype_; static __inline__ int isalpha(int __ch) { return (__ch >= 'A' && __ch <= 'Z') || (__ch >= 'a' && __ch <= 'z'); } static __inline__ int isblank(int __ch) { return __ch == ' ' || __ch == '\t'; } static __inline__ int iscntrl(int __ch) { return ((static_cast<unsigned>(__ch)) < ' ') || __ch == 0x7f; } static __inline__ int isdigit(int __ch) { return (__ch >= '0' && __ch <= '9'); } static __inline__ int isgraph(int __ch) { return (__ch >= '!' && __ch <= '~'); } static __inline__ int islower(int __ch) { return (__ch >= 'a' && __ch <= 'z'); } static __inline__ int isprint(int __ch) { return (__ch >= ' ' && __ch <= '~'); } static __inline__ int isspace(int __ch) { return __ch == ' ' || (__ch >= '\t' && __ch <= '\r'); } static __inline__ int isupper(int __ch) { return (__ch >= 'A' && __ch <= 'Z'); } static __inline__ int isxdigit(int __ch) { return (__ch >= '0' && __ch <= '9') || (__ch >= 'a' && __ch <= 'f') || (__ch >= 'A' && __ch <= 'F'); } static __inline__ int isalnum(int __ch) { return isalpha(__ch) || isdigit(__ch); } static __inline__ int ispunct(int __ch) { return isgraph(__ch) && !isalnum(__ch); } static __inline__ int _tolower(int __ch) { return __ch | 0x20; } static __inline__ int tolower(int __ch) { if (__ch >= 'A' && __ch <= 'Z') return _tolower(__ch); return __ch; } static __inline__ int _toupper(int __ch) { return __ch ^ 0x20; } static __inline__ int toupper(int __ch) { if (__ch >= 'a' && __ch <= 'z') return _toupper(__ch); return __ch; } static __inline__ int isascii(int __ch) { return (static_cast<unsigned>(__ch)) < 0x80; } static __inline__ int toascii(int __ch) { return __ch & 0x7f; } static __inline__ int isalnum_l(int __ch, locale_t __l) { return isalnum(__ch); } static __inline__ int isalpha_l(int __ch, locale_t __l) { return isalpha(__ch); } static __inline__ int isblank_l(int __ch, locale_t __l) { return isblank(__ch); } static __inline__ int iscntrl_l(int __ch, locale_t __l) { return iscntrl(__ch); } static __inline__ int isdigit_l(int __ch, locale_t __l) { return isdigit(__ch); } static __inline__ int isgraph_l(int __ch, locale_t __l) { return isgraph(__ch); } static __inline__ int islower_l(int __ch, locale_t __l) { return islower(__ch); } static __inline__ int isprint_l(int __ch, locale_t __l) { return isprint(__ch); } static __inline__ int ispunct_l(int __ch, locale_t __l) { return ispunct(__ch); } static __inline__ int isspace_l(int __ch, locale_t __l) { return isspace(__ch); } static __inline__ int isupper_l(int __ch, locale_t __l) { return isupper(__ch); } static __inline__ int isxdigit_l(int __ch, locale_t __l) { return isxdigit(__ch); } static __inline__ int tolower_l(int __ch, locale_t __l) { return tolower(__ch); } static __inline__ int toupper_l(int __ch, locale_t __l) { return toupper(__ch); } } # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/ctype.h" 2 3 # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cctype" 2 3 # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cctype" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 111 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cctype" 3 using ::isalnum __attribute__((__using_if_exists__)); using ::isalpha __attribute__((__using_if_exists__)); using ::isblank __attribute__((__using_if_exists__)); using ::iscntrl __attribute__((__using_if_exists__)); using ::isdigit __attribute__((__using_if_exists__)); using ::isgraph __attribute__((__using_if_exists__)); using ::islower __attribute__((__using_if_exists__)); using ::isprint __attribute__((__using_if_exists__)); using ::ispunct __attribute__((__using_if_exists__)); using ::isspace __attribute__((__using_if_exists__)); using ::isupper __attribute__((__using_if_exists__)); using ::isxdigit __attribute__((__using_if_exists__)); using ::tolower __attribute__((__using_if_exists__)); using ::toupper __attribute__((__using_if_exists__)); }} # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwctype" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wctype.h" 1 3 # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wctype.h" 3 # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wctype.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wctype.h" 1 3 4 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wctype.h" 3 4 extern "C" { int iswalnum_l(wint_t __wc, locale_t _Nonnull __l); int iswalpha_l(wint_t __wc, locale_t _Nonnull __l); int iswblank_l(wint_t __wc, locale_t _Nonnull __l); int iswcntrl_l(wint_t __wc, locale_t _Nonnull __l); int iswdigit_l(wint_t __wc, locale_t _Nonnull __l); int iswgraph_l(wint_t __wc, locale_t _Nonnull __l); int iswlower_l(wint_t __wc, locale_t _Nonnull __l); int iswprint_l(wint_t __wc, locale_t _Nonnull __l); int iswpunct_l(wint_t __wc, locale_t _Nonnull __l); int iswspace_l(wint_t __wc, locale_t _Nonnull __l); int iswupper_l(wint_t __wc, locale_t _Nonnull __l); int iswxdigit_l(wint_t __wc, locale_t _Nonnull __l); wint_t towlower_l(wint_t __wc, locale_t _Nonnull __l); wint_t towupper_l(wint_t __wc, locale_t _Nonnull __l); # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/wctype.h" 3 4 wctype_t wctype_l(const char* _Nonnull __name, locale_t _Nonnull __l); int iswctype_l(wint_t __wc, wctype_t __transform, locale_t _Nonnull __l); } # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wctype.h" 2 3 # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwctype" 2 3 # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwctype" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::wint_t __attribute__((__using_if_exists__)); using ::wctrans_t __attribute__((__using_if_exists__)); using ::wctype_t __attribute__((__using_if_exists__)); using ::iswalnum __attribute__((__using_if_exists__)); using ::iswalpha __attribute__((__using_if_exists__)); using ::iswblank __attribute__((__using_if_exists__)); using ::iswcntrl __attribute__((__using_if_exists__)); using ::iswdigit __attribute__((__using_if_exists__)); using ::iswgraph __attribute__((__using_if_exists__)); using ::iswlower __attribute__((__using_if_exists__)); using ::iswprint __attribute__((__using_if_exists__)); using ::iswpunct __attribute__((__using_if_exists__)); using ::iswspace __attribute__((__using_if_exists__)); using ::iswupper __attribute__((__using_if_exists__)); using ::iswxdigit __attribute__((__using_if_exists__)); using ::iswctype __attribute__((__using_if_exists__)); using ::wctype __attribute__((__using_if_exists__)); using ::towlower __attribute__((__using_if_exists__)); using ::towupper __attribute__((__using_if_exists__)); using ::towctrans __attribute__((__using_if_exists__)); using ::wctrans __attribute__((__using_if_exists__)); }} # 113 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wchar.h" 1 3 # 109 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wchar.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 # 110 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wchar.h" 2 3 # 118 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wchar.h" 3 # 146 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/wchar.h" 3 extern "C++" { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) wchar_t* __libcpp_wcschr(const wchar_t* __s, wchar_t __c) { return (wchar_t*)wcschr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wcschr(const wchar_t* __s, wchar_t __c) { return __libcpp_wcschr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcschr(wchar_t* __s, wchar_t __c) { return __libcpp_wcschr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) wchar_t* __libcpp_wcspbrk(const wchar_t* __s1, const wchar_t* __s2) { return (wchar_t*)wcspbrk(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wcspbrk(const wchar_t* __s1, const wchar_t* __s2) { return __libcpp_wcspbrk(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcspbrk(wchar_t* __s1, const wchar_t* __s2) { return __libcpp_wcspbrk(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) wchar_t* __libcpp_wcsrchr(const wchar_t* __s, wchar_t __c) { return (wchar_t*)wcsrchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wcsrchr(const wchar_t* __s, wchar_t __c) { return __libcpp_wcsrchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcsrchr(wchar_t* __s, wchar_t __c) { return __libcpp_wcsrchr(__s, __c); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) wchar_t* __libcpp_wcsstr(const wchar_t* __s1, const wchar_t* __s2) { return (wchar_t*)wcsstr(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wcsstr(const wchar_t* __s1, const wchar_t* __s2) { return __libcpp_wcsstr(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) wchar_t* wcsstr(wchar_t* __s1, const wchar_t* __s2) { return __libcpp_wcsstr(__s1, __s2); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) wchar_t* __libcpp_wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) { return (wchar_t*)wmemchr(__s, __c, __n); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) const wchar_t* wmemchr(const wchar_t* __s, wchar_t __c, size_t __n) { return __libcpp_wmemchr(__s, __c, __n); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __attribute__((__enable_if__(true, ""))) wchar_t* wmemchr(wchar_t* __s, wchar_t __c, size_t __n) { return __libcpp_wmemchr(__s, __c, __n); } } # 115 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 2 3 # 126 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { using ::mbstate_t __attribute__((__using_if_exists__)); using ::size_t __attribute__((__using_if_exists__)); using ::tm __attribute__((__using_if_exists__)); using ::wint_t __attribute__((__using_if_exists__)); using ::FILE __attribute__((__using_if_exists__)); using ::fwprintf __attribute__((__using_if_exists__)); using ::fwscanf __attribute__((__using_if_exists__)); using ::swprintf __attribute__((__using_if_exists__)); using ::vfwprintf __attribute__((__using_if_exists__)); using ::vswprintf __attribute__((__using_if_exists__)); using ::swscanf __attribute__((__using_if_exists__)); using ::vfwscanf __attribute__((__using_if_exists__)); using ::vswscanf __attribute__((__using_if_exists__)); using ::fgetwc __attribute__((__using_if_exists__)); using ::fgetws __attribute__((__using_if_exists__)); using ::fputwc __attribute__((__using_if_exists__)); using ::fputws __attribute__((__using_if_exists__)); using ::fwide __attribute__((__using_if_exists__)); using ::getwc __attribute__((__using_if_exists__)); using ::putwc __attribute__((__using_if_exists__)); using ::ungetwc __attribute__((__using_if_exists__)); using ::wcstod __attribute__((__using_if_exists__)); using ::wcstof __attribute__((__using_if_exists__)); using ::wcstold __attribute__((__using_if_exists__)); using ::wcstol __attribute__((__using_if_exists__)); using ::wcstoll __attribute__((__using_if_exists__)); using ::wcstoul __attribute__((__using_if_exists__)); using ::wcstoull __attribute__((__using_if_exists__)); using ::wcscpy __attribute__((__using_if_exists__)); using ::wcsncpy __attribute__((__using_if_exists__)); using ::wcscat __attribute__((__using_if_exists__)); using ::wcsncat __attribute__((__using_if_exists__)); using ::wcscmp __attribute__((__using_if_exists__)); using ::wcscoll __attribute__((__using_if_exists__)); using ::wcsncmp __attribute__((__using_if_exists__)); using ::wcsxfrm __attribute__((__using_if_exists__)); using ::wcschr __attribute__((__using_if_exists__)); using ::wcspbrk __attribute__((__using_if_exists__)); using ::wcsrchr __attribute__((__using_if_exists__)); using ::wcsstr __attribute__((__using_if_exists__)); using ::wmemchr __attribute__((__using_if_exists__)); using ::wcscspn __attribute__((__using_if_exists__)); using ::wcslen __attribute__((__using_if_exists__)); using ::wcsspn __attribute__((__using_if_exists__)); using ::wcstok __attribute__((__using_if_exists__)); using ::wmemcmp __attribute__((__using_if_exists__)); using ::wmemcpy __attribute__((__using_if_exists__)); using ::wmemmove __attribute__((__using_if_exists__)); using ::wmemset __attribute__((__using_if_exists__)); using ::wcsftime __attribute__((__using_if_exists__)); using ::btowc __attribute__((__using_if_exists__)); using ::wctob __attribute__((__using_if_exists__)); using ::mbsinit __attribute__((__using_if_exists__)); using ::mbrlen __attribute__((__using_if_exists__)); using ::mbrtowc __attribute__((__using_if_exists__)); using ::wcrtomb __attribute__((__using_if_exists__)); using ::mbsrtowcs __attribute__((__using_if_exists__)); using ::wcsrtombs __attribute__((__using_if_exists__)); using ::getwchar __attribute__((__using_if_exists__)); using ::vwscanf __attribute__((__using_if_exists__)); using ::wscanf __attribute__((__using_if_exists__)); using ::putwchar __attribute__((__using_if_exists__)); using ::vwprintf __attribute__((__using_if_exists__)); using ::wprintf __attribute__((__using_if_exists__)); inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr size_t __constexpr_wcslen(const wchar_t* __str) { return __builtin_wcslen(__str); # 209 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 3 } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __constexpr_wmemcmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __count) { return __builtin_wmemcmp(__lhs, __rhs, __count); # 227 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cwchar" 3 } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __constexpr_wmemchr(_Tp* __str, _Up __value, size_t __count) { static_assert(sizeof(_Tp) == sizeof(wchar_t)&& alignof(_Tp) >= alignof(wchar_t) && __libcpp_is_trivially_equality_comparable<_Tp, _Tp>::value, "Calling wmemchr on non-trivially equality comparable types is unsafe."); if (!__libcpp_is_constant_evaluated()) { wchar_t __value_buffer = 0; __builtin_memcpy(&__value_buffer, &__value, sizeof(wchar_t)); return reinterpret_cast<_Tp*>( __builtin_wmemchr(reinterpret_cast<__apply_cv_t<_Tp, wchar_t>*>(__str), __value_buffer, __count)); } else if constexpr (is_same_v<remove_cv_t<_Tp>, wchar_t>) return __builtin_wmemchr(__str, __value, __count); for (; __count; --__count) { if (*__str == __value) return __str; ++__str; } return nullptr; } }} # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 2 3 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Iter, class _Sent, class _Tp, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter __find_impl(_Iter __first, _Sent __last, const _Tp& __value, _Proj& __proj) { for (; __first != __last; ++__first) if (std::__invoke(__proj, *__first) == __value) break; return __first; } template <class _Tp, class _Up, class _Proj, __enable_if_t<__is_identity<_Proj>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value && sizeof(_Tp) == 1, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __find_impl(_Tp* __first, _Tp* __last, const _Up& __value, _Proj&) { if (auto __ret = std::__constexpr_memchr(__first, __value, __last - __first)) return __ret; return __last; } template <class _Tp, class _Up, class _Proj, __enable_if_t<__is_identity<_Proj>::value && __libcpp_is_trivially_equality_comparable<_Tp, _Up>::value && sizeof(_Tp) == sizeof(wchar_t) && alignof(_Tp) >= alignof(wchar_t), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __find_impl(_Tp* __first, _Tp* __last, const _Up& __value, _Proj&) { if (auto __ret = std::__constexpr_wmemchr(__first, __value, __last - __first)) return __ret; return __last; } template <class _Tp, class _Up, class _Proj, __enable_if_t<__is_identity<_Proj>::value && !__libcpp_is_trivially_equality_comparable<_Tp, _Up>::value && is_integral<_Tp>::value && is_integral<_Up>::value && is_signed<_Tp>::value == is_signed<_Up>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp* __find_impl(_Tp* __first, _Tp* __last, const _Up& __value, _Proj& __proj) { if (__value < numeric_limits<_Tp>::min() || __value > numeric_limits<_Tp>::max()) return __last; return std::__find_impl(__first, __last, _Tp(__value), __proj); } template <bool _ToFind, class _Cp, bool _IsConst> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bit_iterator<_Cp, _IsConst> __find_bool(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n) { using _It = __bit_iterator<_Cp, _IsConst>; using __storage_type = typename _It::__storage_type; const int __bits_per_word = _It::__bits_per_word; if (__first.__ctz_ != 0) { __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_); __storage_type __dn = std::min(__clz_f, __n); __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn)); __storage_type __b = std::__invert_if<!_ToFind>(*__first.__seg_) & __m; if (__b) return _It(__first.__seg_, static_cast<unsigned>(std::__libcpp_ctz(__b))); if (__n == __dn) return __first + __n; __n -= __dn; ++__first.__seg_; } for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word) { __storage_type __b = std::__invert_if<!_ToFind>(*__first.__seg_); if (__b) return _It(__first.__seg_, static_cast<unsigned>(std::__libcpp_ctz(__b))); } if (__n > 0) { __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n); __storage_type __b = std::__invert_if<!_ToFind>(*__first.__seg_) & __m; if (__b) return _It(__first.__seg_, static_cast<unsigned>(std::__libcpp_ctz(__b))); } return _It(__first.__seg_, static_cast<unsigned>(__n)); } template <class _Cp, bool _IsConst, class _Tp, class _Proj, __enable_if_t<__is_identity<_Proj>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __bit_iterator<_Cp, _IsConst> __find_impl(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value, _Proj&) { if (static_cast<bool>(__value)) return std::__find_bool<true>(__first, static_cast<typename _Cp::size_type>(__last - __first)); return std::__find_bool<false>(__first, static_cast<typename _Cp::size_type>(__last - __first)); } template <class> struct __find_segment; template <class _SegmentedIterator, class _Tp, class _Proj, __enable_if_t<__is_segmented_iterator<_SegmentedIterator>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _SegmentedIterator __find_impl(_SegmentedIterator __first, _SegmentedIterator __last, const _Tp& __value, _Proj& __proj) { return std::__find_segment_if(std::move(__first), std::move(__last), __find_segment<_Tp>(__value), __proj); } template <class _Tp> struct __find_segment { const _Tp& __value_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __find_segment(const _Tp& __value) : __value_(__value) {} template <class _InputIterator, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _InputIterator operator()(_InputIterator __first, _InputIterator __last, _Proj& __proj) const { return std::__find_impl(__first, __last, __value_, __proj); } }; template <class _InputIterator, class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _InputIterator find(_InputIterator __first, _InputIterator __last, const _Tp& __value) { __identity __proj; return std::__rewrap_iter( __first, std::__find_impl(std::__unwrap_iter(__first), std::__unwrap_iter(__last), __value, __proj)); } }} # 1805 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_end.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_end.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/search.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/search.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter1, _Iter1> __search_forward_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2) { if (__first2 == __last2) return std::make_pair(__first1, __first1); while (true) { while (true) { if (__first1 == __last1) { _IterOps<_AlgPolicy>::__advance_to(__first1, __last1); return std::make_pair(__first1, __first1); } if (std::__invoke(__pred, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) break; ++__first1; } _Iter1 __m1 = __first1; _Iter2 __m2 = __first2; while (true) { if (++__m2 == __last2) return std::make_pair(__first1, ++__m1); if (++__m1 == __last1) { return std::make_pair(__m1, __m1); } if (!std::__invoke(__pred, std::__invoke(__proj1, *__m1), std::__invoke(__proj2, *__m2))) { ++__first1; break; } } } } template <class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2, class _DiffT1, class _DiffT2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter1, _Iter1> __search_random_access_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2, _DiffT1 __size1, _DiffT2 __size2) { const _Iter1 __s = __first1 + __size1 - _DiffT1(__size2 - 1); while (true) { while (true) { if (__first1 == __s) { _IterOps<_AlgPolicy>::__advance_to(__first1, __last1); return std::make_pair(__first1, __first1); } if (std::__invoke(__pred, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) break; ++__first1; } _Iter1 __m1 = __first1; _Iter2 __m2 = __first2; while (true) { if (++__m2 == __last2) return std::make_pair(__first1, __first1 + _DiffT1(__size2)); ++__m1; if (!std::__invoke(__pred, std::__invoke(__proj1, *__m1), std::__invoke(__proj2, *__m2))) { ++__first1; break; } } } } template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter1, _Iter1> __search_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2, __enable_if_t<__has_random_access_iterator_category<_Iter1>::value && __has_random_access_iterator_category<_Iter2>::value>* = nullptr) { auto __size2 = __last2 - __first2; if (__size2 == 0) return std::make_pair(__first1, __first1); auto __size1 = __last1 - __first1; if (__size1 < __size2) { return std::make_pair(__last1, __last1); } return std::__search_random_access_impl<_ClassicAlgPolicy>( __first1, __last1, __first2, __last2, __pred, __proj1, __proj2, __size1, __size2); } template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter1, _Iter1> __search_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2, __enable_if_t<__has_forward_iterator_category<_Iter1>::value && __has_forward_iterator_category<_Iter2>::value && !(__has_random_access_iterator_category<_Iter1>::value && __has_random_access_iterator_category<_Iter2>::value)>* = nullptr) { return std::__search_forward_impl<_ClassicAlgPolicy>(__first1, __last1, __first2, __last2, __pred, __proj1, __proj2); } template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred) { static_assert(__is_callable<_BinaryPredicate, decltype(*__first1), decltype(*__first2)>::value, "BinaryPredicate has to be callable"); auto __proj = __identity(); return std::__search_impl(__first1, __last1, __first2, __last2, __pred, __proj, __proj).first; } template <class _ForwardIterator1, class _ForwardIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator1 search(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { return std::search(__first1, __last1, __first2, __last2, __equal_to()); } template <class _ForwardIterator, class _Searcher> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher& __s) { return __s(__f, __l).first; } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_end.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_end.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template < class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Pred, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) inline constexpr pair<_Iter1, _Iter1> __find_end_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2, forward_iterator_tag, forward_iterator_tag) { _Iter1 __match_first = _IterOps<_AlgPolicy>::next(__first1, __last1); _Iter1 __match_last = __match_first; if (__first2 == __last2) return pair<_Iter1, _Iter1>(__match_last, __match_last); while (true) { while (true) { if (__first1 == __last1) return pair<_Iter1, _Iter1>(__match_first, __match_last); if (std::__invoke(__pred, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) break; ++__first1; } _Iter1 __m1 = __first1; _Iter2 __m2 = __first2; while (true) { if (++__m2 == __last2) { __match_first = __first1; __match_last = ++__m1; ++__first1; break; } if (++__m1 == __last1) return pair<_Iter1, _Iter1>(__match_first, __match_last); if (!std::__invoke(__pred, std::__invoke(__proj1, *__m1), std::__invoke(__proj2, *__m2))) { ++__first1; break; } } } } template < class _IterOps, class _Pred, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Iter1 __find_end( _Iter1 __first1, _Sent1 __sent1, _Iter2 __first2, _Sent2 __sent2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2, bidirectional_iterator_tag, bidirectional_iterator_tag) { auto __last1 = _IterOps::next(__first1, __sent1); auto __last2 = _IterOps::next(__first2, __sent2); if (__first2 == __last2) return __last1; _Iter1 __l1 = __last1; _Iter2 __l2 = __last2; --__l2; while (true) { while (true) { if (__first1 == __l1) return __last1; if (std::__invoke(__pred, std::__invoke(__proj1, *--__l1), std::__invoke(__proj2, *__l2))) break; } _Iter1 __m1 = __l1; _Iter2 __m2 = __l2; while (true) { if (__m2 == __first2) return __m1; if (__m1 == __first1) return __last1; if (!std::__invoke(__pred, std::__invoke(__proj1, *--__m1), std::__invoke(__proj2, *--__m2))) { break; } } } } template < class _AlgPolicy, class _Pred, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Iter1 __find_end( _Iter1 __first1, _Sent1 __sent1, _Iter2 __first2, _Sent2 __sent2, _Pred& __pred, _Proj1& __proj1, _Proj2& __proj2, random_access_iterator_tag, random_access_iterator_tag) { typedef typename iterator_traits<_Iter1>::difference_type _D1; auto __last1 = _IterOps<_AlgPolicy>::next(__first1, __sent1); auto __last2 = _IterOps<_AlgPolicy>::next(__first2, __sent2); auto __len2 = __last2 - __first2; if (__len2 == 0) return __last1; auto __len1 = __last1 - __first1; if (__len1 < __len2) return __last1; const _Iter1 __s = __first1 + _D1(__len2 - 1); _Iter1 __l1 = __last1; _Iter2 __l2 = __last2; --__l2; while (true) { while (true) { if (__s == __l1) return __last1; if (std::__invoke(__pred, std::__invoke(__proj1, *--__l1), std::__invoke(__proj2, *__l2))) break; } _Iter1 __m1 = __l1; _Iter2 __m2 = __l2; while (true) { if (__m2 == __first2) return __m1; if (!std::__invoke(__pred, std::__invoke(__proj1, *--__m1), std::__invoke(*--__m2))) { break; } } } } template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator1 __find_end_classic( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate& __pred) { auto __proj = __identity(); return std::__find_end_impl<_ClassicAlgPolicy>( __first1, __last1, __first2, __last2, __pred, __proj, __proj, typename iterator_traits<_ForwardIterator1>::iterator_category(), typename iterator_traits<_ForwardIterator2>::iterator_category()) .first; } template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator1 find_end( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred) { return std::__find_end_classic(__first1, __last1, __first2, __last2, __pred); } template <class _ForwardIterator1, class _ForwardIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator1 find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { return std::find_end(__first1, __last1, __first2, __last2, __equal_to()); } }} # 1806 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_first_of.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_first_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator1 __find_first_of_ce( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate&& __pred) { for (; __first1 != __last1; ++__first1) for (_ForwardIterator2 __j = __first2; __j != __last2; ++__j) if (__pred(*__first1, *__j)) return __first1; return __last1; } template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator1 find_first_of( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred) { return std::__find_first_of_ce(__first1, __last1, __first2, __last2, __pred); } template <class _ForwardIterator1, class _ForwardIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator1 find_first_of( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { return std::__find_first_of_ce(__first1, __last1, __first2, __last2, __equal_to()); } }} # 1807 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_if.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _InputIterator find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) { for (; __first != __last; ++__first) if (__pred(*__first)) break; return __first; } }} # 1808 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_if_not.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/find_if_not.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _InputIterator find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred) { for (; __first != __last; ++__first) if (!__pred(*__first)) break; return __first; } }} # 1809 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fold.h" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fold.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 123 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/fold.h" 3 }} # 1810 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/movable_box.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/movable_box.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 1 3 # 240 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 244 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 2 3 namespace std { class __attribute__((__visibility__("default"))) bad_optional_access : public exception { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_optional_access() noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_optional_access(const bad_optional_access&) noexcept = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bad_optional_access& operator=(const bad_optional_access&) noexcept = default; ~bad_optional_access() noexcept override; const char* what() const noexcept override; }; } namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[noreturn]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __throw_bad_optional_access() { throw bad_optional_access(); } struct nullopt_t { struct __secret_tag { explicit __secret_tag() = default; }; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit nullopt_t(__secret_tag, __secret_tag) noexcept {} }; inline constexpr nullopt_t nullopt{nullopt_t::__secret_tag{}, nullopt_t::__secret_tag{}}; struct __optional_construct_from_invoke_tag {}; template <class _Tp, bool = is_trivially_destructible<_Tp>::value> struct __optional_destruct_base; template <class _Tp> struct __optional_destruct_base<_Tp, false> { typedef _Tp value_type; static_assert(is_object_v<value_type>, "instantiation of optional with a non-object type is undefined behavior"); union { char __null_state_; value_type __val_; }; bool __engaged_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) ~__optional_destruct_base() { if (__engaged_) __val_.~value_type(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __optional_destruct_base() noexcept : __null_state_(), __engaged_(false) {} template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __optional_destruct_base(in_place_t, _Args&&... __args) : __val_(std::forward<_Args>(__args)...), __engaged_(true) {} # 315 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset() noexcept { if (__engaged_) { __val_.~value_type(); __engaged_ = false; } } }; template <class _Tp> struct __optional_destruct_base<_Tp, true> { typedef _Tp value_type; static_assert(is_object_v<value_type>, "instantiation of optional with a non-object type is undefined behavior"); union { char __null_state_; value_type __val_; }; bool __engaged_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __optional_destruct_base() noexcept : __null_state_(), __engaged_(false) {} template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __optional_destruct_base(in_place_t, _Args&&... __args) : __val_(std::forward<_Args>(__args)...), __engaged_(true) {} # 346 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset() noexcept { if (__engaged_) { __engaged_ = false; } } }; template <class _Tp, bool = is_reference<_Tp>::value> struct __optional_storage_base : __optional_destruct_base<_Tp> { using __base = __optional_destruct_base<_Tp>; using value_type = _Tp; using __base::__base; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool has_value() const noexcept { return this->__engaged_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type& __get() & noexcept { return this->__val_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const value_type& __get() const& noexcept { return this->__val_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type&& __get() && noexcept { return std::move(this->__val_); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const value_type&& __get() const&& noexcept { return std::move(this->__val_); } template <class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __construct(_Args&&... __args) { ((void)0); std::__construct_at(std::addressof(this->__val_), std::forward<_Args>(__args)...); this->__engaged_ = true; } template <class _That> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __construct_from(_That&& __opt) { if (__opt.has_value()) __construct(std::forward<_That>(__opt).__get()); } template <class _That> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __assign_from(_That&& __opt) { if (this->__engaged_ == __opt.has_value()) { if (this->__engaged_) this->__val_ = std::forward<_That>(__opt).__get(); } else { if (this->__engaged_) this->reset(); else __construct(std::forward<_That>(__opt).__get()); } } }; template <class _Tp> struct __optional_storage_base<_Tp, true> { using value_type = _Tp; using __raw_type = remove_reference_t<_Tp>; __raw_type* __value_; template <class _Up> static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __can_bind_reference() { using _RawUp = __libcpp_remove_reference_t<_Up>; using _UpPtr = _RawUp*; using _RawTp = __libcpp_remove_reference_t<_Tp>; using _TpPtr = _RawTp*; using _CheckLValueArg = integral_constant<bool, (is_lvalue_reference<_Up>::value && is_convertible<_UpPtr, _TpPtr>::value) || is_same<_RawUp, reference_wrapper<_RawTp>>::value || is_same<_RawUp, reference_wrapper<__remove_const_t<_RawTp>>>::value >; return (is_lvalue_reference<_Tp>::value && _CheckLValueArg::value) || (is_rvalue_reference<_Tp>::value && !is_lvalue_reference<_Up>::value && is_convertible<_UpPtr, _TpPtr>::value); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr __optional_storage_base() noexcept : __value_(nullptr) {} template <class _UArg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit __optional_storage_base(in_place_t, _UArg&& __uarg) : __value_(std::addressof(__uarg)) { static_assert(__can_bind_reference<_UArg>(), "Attempted to construct a reference element in tuple from a " "possible temporary"); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset() noexcept { __value_ = nullptr; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool has_value() const noexcept { return __value_ != nullptr; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type& __get() const& noexcept { return *__value_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type&& __get() const&& noexcept { return std::forward<value_type>(*__value_); } template <class _UArg> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __construct(_UArg&& __val) { ((void)0); static_assert(__can_bind_reference<_UArg>(), "Attempted to construct a reference element in tuple from a " "possible temporary"); __value_ = std::addressof(__val); } template <class _That> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __construct_from(_That&& __opt) { if (__opt.has_value()) __construct(std::forward<_That>(__opt).__get()); } template <class _That> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __assign_from(_That&& __opt) { if (has_value() == __opt.has_value()) { if (has_value()) *__value_ = std::forward<_That>(__opt).__get(); } else { if (has_value()) reset(); else __construct(std::forward<_That>(__opt).__get()); } } }; template <class _Tp, bool = is_trivially_copy_constructible<_Tp>::value> struct __optional_copy_base : __optional_storage_base<_Tp> { using __optional_storage_base<_Tp>::__optional_storage_base; }; template <class _Tp> struct __optional_copy_base<_Tp, false> : __optional_storage_base<_Tp> { using __optional_storage_base<_Tp>::__optional_storage_base; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_base() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_base(const __optional_copy_base& __opt) { this->__construct_from(__opt); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_base(__optional_copy_base&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_base& operator=(const __optional_copy_base&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_base& operator=(__optional_copy_base&&) = default; }; template <class _Tp, bool = is_trivially_move_constructible<_Tp>::value> struct __optional_move_base : __optional_copy_base<_Tp> { using __optional_copy_base<_Tp>::__optional_copy_base; }; template <class _Tp> struct __optional_move_base<_Tp, false> : __optional_copy_base<_Tp> { using value_type = _Tp; using __optional_copy_base<_Tp>::__optional_copy_base; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_base() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_base(const __optional_move_base&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_base(__optional_move_base&& __opt) noexcept(is_nothrow_move_constructible_v<value_type>) { this->__construct_from(std::move(__opt)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_base& operator=(const __optional_move_base&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_base& operator=(__optional_move_base&&) = default; }; template <class _Tp, bool = is_trivially_destructible<_Tp>::value && is_trivially_copy_constructible<_Tp>::value && is_trivially_copy_assignable<_Tp>::value> struct __optional_copy_assign_base : __optional_move_base<_Tp> { using __optional_move_base<_Tp>::__optional_move_base; }; template <class _Tp> struct __optional_copy_assign_base<_Tp, false> : __optional_move_base<_Tp> { using __optional_move_base<_Tp>::__optional_move_base; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_assign_base() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_assign_base(const __optional_copy_assign_base&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_assign_base(__optional_copy_assign_base&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_assign_base& operator=(const __optional_copy_assign_base& __opt) { this->__assign_from(__opt); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_copy_assign_base& operator=(__optional_copy_assign_base&&) = default; }; template <class _Tp, bool = is_trivially_destructible<_Tp>::value && is_trivially_move_constructible<_Tp>::value && is_trivially_move_assignable<_Tp>::value> struct __optional_move_assign_base : __optional_copy_assign_base<_Tp> { using __optional_copy_assign_base<_Tp>::__optional_copy_assign_base; }; template <class _Tp> struct __optional_move_assign_base<_Tp, false> : __optional_copy_assign_base<_Tp> { using value_type = _Tp; using __optional_copy_assign_base<_Tp>::__optional_copy_assign_base; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_assign_base() = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_assign_base(const __optional_move_assign_base& __opt) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_assign_base(__optional_move_assign_base&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_assign_base& operator=(const __optional_move_assign_base&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __optional_move_assign_base& operator=(__optional_move_assign_base&& __opt) noexcept( is_nothrow_move_assignable_v<value_type> && is_nothrow_move_constructible_v<value_type>) { this->__assign_from(std::move(__opt)); return *this; } }; template <class _Tp> using __optional_sfinae_ctor_base_t = __sfinae_ctor_base< is_copy_constructible<_Tp>::value, is_move_constructible<_Tp>::value >; template <class _Tp> using __optional_sfinae_assign_base_t = __sfinae_assign_base< (is_copy_constructible<_Tp>::value && is_copy_assignable<_Tp>::value), (is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value) >; template <class _Tp> class optional; # 575 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 template <class _Tp> struct __is_std_optional : false_type {}; template <class _Tp> struct __is_std_optional<optional<_Tp>> : true_type {}; template <class _Tp> class optional : private __optional_move_assign_base<_Tp>, private __optional_sfinae_ctor_base_t<_Tp>, private __optional_sfinae_assign_base_t<_Tp> { using __base = __optional_move_assign_base<_Tp>; public: using value_type = _Tp; private: static_assert(!is_same_v<__remove_cvref_t<value_type>, in_place_t>, "instantiation of optional with in_place_t is ill-formed"); static_assert(!is_same_v<__remove_cvref_t<value_type>, nullopt_t>, "instantiation of optional with nullopt_t is ill-formed"); static_assert(!is_reference_v<value_type>, "instantiation of optional with a reference type is ill-formed"); static_assert(is_destructible_v<value_type>, "instantiation of optional with a non-destructible type is ill-formed"); static_assert(!is_array_v<value_type>, "instantiation of optional with an array type is ill-formed"); struct _CheckOptionalArgsConstructor { template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr bool __enable_implicit() { return is_constructible_v<_Tp, _Up&&> && is_convertible_v<_Up&&, _Tp>; } template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr bool __enable_explicit() { return is_constructible_v<_Tp, _Up&&> && !is_convertible_v<_Up&&, _Tp>; } }; template <class _Up> using _CheckOptionalArgsCtor = _If< _IsNotSame<__remove_cvref_t<_Up>, in_place_t>::value && _IsNotSame<__remove_cvref_t<_Up>, optional>::value && (!is_same_v<remove_cv_t<_Tp>, bool> || !__is_std_optional<__remove_cvref_t<_Up>>::value), _CheckOptionalArgsConstructor, __check_tuple_constructor_fail >; template <class _QualUp> struct _CheckOptionalLikeConstructor { template <class _Up, class _Opt = optional<_Up>> using __check_constructible_from_opt = _Or< is_constructible<_Tp, _Opt&>, is_constructible<_Tp, _Opt const&>, is_constructible<_Tp, _Opt&&>, is_constructible<_Tp, _Opt const&&>, is_convertible<_Opt&, _Tp>, is_convertible<_Opt const&, _Tp>, is_convertible<_Opt&&, _Tp>, is_convertible<_Opt const&&, _Tp> >; template <class _Up, class _Opt = optional<_Up>> using __check_assignable_from_opt = _Or< is_assignable<_Tp&, _Opt&>, is_assignable<_Tp&, _Opt const&>, is_assignable<_Tp&, _Opt&&>, is_assignable<_Tp&, _Opt const&&> >; template <class _Up, class _QUp = _QualUp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr bool __enable_implicit() { return is_convertible<_QUp, _Tp>::value && (is_same_v<remove_cv_t<_Tp>, bool> || !__check_constructible_from_opt<_Up>::value); } template <class _Up, class _QUp = _QualUp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr bool __enable_explicit() { return !is_convertible<_QUp, _Tp>::value && (is_same_v<remove_cv_t<_Tp>, bool> || !__check_constructible_from_opt<_Up>::value); } template <class _Up, class _QUp = _QualUp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static constexpr bool __enable_assign() { return !__check_constructible_from_opt<_Up>::value && !__check_assignable_from_opt<_Up>::value; } }; template <class _Up, class _QualUp> using _CheckOptionalLikeCtor = _If< _And< _IsNotSame<_Up, _Tp>, is_constructible<_Tp, _QualUp> >::value, _CheckOptionalLikeConstructor<_QualUp>, __check_tuple_constructor_fail >; template <class _Up, class _QualUp> using _CheckOptionalLikeAssign = _If< _And< _IsNotSame<_Up, _Tp>, is_constructible<_Tp, _QualUp>, is_assignable<_Tp&, _QualUp> >::value, _CheckOptionalLikeConstructor<_QualUp>, __check_tuple_constructor_fail >; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional() noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional(const optional&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional(optional&&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional(nullopt_t) noexcept {} template < class _InPlaceT, class... _Args, class = enable_if_t< _And< _IsSame<_InPlaceT, in_place_t>, is_constructible<value_type, _Args...> >::value > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit optional(_InPlaceT, _Args&&... __args) : __base(in_place, std::forward<_Args>(__args)...) {} template <class _Up, class... _Args, class = enable_if_t< is_constructible_v<value_type, initializer_list<_Up>&, _Args...>> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit optional(in_place_t, initializer_list<_Up> __il, _Args&&... __args) : __base(in_place, __il, std::forward<_Args>(__args)...) {} template <class _Up = value_type, enable_if_t< _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional(_Up&& __v) : __base(in_place, std::forward<_Up>(__v)) {} template <class _Up, enable_if_t< _CheckOptionalArgsCtor<_Up>::template __enable_explicit<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit optional(_Up&& __v) : __base(in_place, std::forward<_Up>(__v)) {} template <class _Up, enable_if_t< _CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_implicit<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) optional(const optional<_Up>& __v) { this->__construct_from(__v); } template <class _Up, enable_if_t< _CheckOptionalLikeCtor<_Up, _Up const&>::template __enable_explicit<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit optional(const optional<_Up>& __v) { this->__construct_from(__v); } template <class _Up, enable_if_t< _CheckOptionalLikeCtor<_Up, _Up&&>::template __enable_implicit<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) optional(optional<_Up>&& __v) { this->__construct_from(std::move(__v)); } template <class _Up, enable_if_t< _CheckOptionalLikeCtor<_Up, _Up&&>::template __enable_explicit<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit optional(optional<_Up>&& __v) { this->__construct_from(std::move(__v)); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) optional& operator=(nullopt_t) noexcept { reset(); return *this; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional& operator=(const optional&) = default; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional& operator=(optional&&) = default; template < class _Up = value_type, class = enable_if_t< _And< _IsNotSame<__remove_cvref_t<_Up>, optional>, _Or< _IsNotSame<__remove_cvref_t<_Up>, value_type>, _Not<is_scalar<value_type>> >, is_constructible<value_type, _Up>, is_assignable<value_type&, _Up> >::value> > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) optional& operator=(_Up&& __v) { if (this->has_value()) this->__get() = std::forward<_Up>(__v); else this->__construct(std::forward<_Up>(__v)); return *this; } template <class _Up, enable_if_t< _CheckOptionalLikeAssign<_Up, _Up const&>::template __enable_assign<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) optional& operator=(const optional<_Up>& __v) { this->__assign_from(__v); return *this; } template <class _Up, enable_if_t< _CheckOptionalLikeCtor<_Up, _Up&&>::template __enable_assign<_Up>(), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) optional& operator=(optional<_Up>&& __v) { this->__assign_from(std::move(__v)); return *this; } template <class... _Args, class = enable_if_t< is_constructible_v<value_type, _Args...> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& emplace(_Args&&... __args) { reset(); this->__construct(std::forward<_Args>(__args)...); return this->__get(); } template <class _Up, class... _Args, class = enable_if_t< is_constructible_v<value_type, initializer_list<_Up>&, _Args...> > > __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) { reset(); this->__construct(__il, std::forward<_Args>(__args)...); return this->__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void swap(optional& __opt) noexcept(is_nothrow_move_constructible_v<value_type> && is_nothrow_swappable_v<value_type>) { if (this->has_value() == __opt.has_value()) { using std::swap; if (this->has_value()) swap(this->__get(), __opt.__get()); } else { if (this->has_value()) { __opt.__construct(std::move(this->__get())); reset(); } else { this->__construct(std::move(__opt.__get())); __opt.reset(); } } } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_pointer_t<value_type const> operator->() const { ((void)0); return std::addressof(this->__get()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr add_pointer_t<value_type> operator->() { ((void)0); return std::addressof(this->__get()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const value_type& operator*() const& noexcept { ((void)0); return this->__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type& operator*() & noexcept { ((void)0); return this->__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type&& operator*() && noexcept { ((void)0); return std::move(this->__get()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const value_type&& operator*() const&& noexcept { ((void)0); return std::move(this->__get()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr explicit operator bool() const noexcept { return has_value(); } using __base::__get; using __base::has_value; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type const& value() const& { if (!this->has_value()) __throw_bad_optional_access(); return this->__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type& value() & { if (!this->has_value()) __throw_bad_optional_access(); return this->__get(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type&& value() && { if (!this->has_value()) __throw_bad_optional_access(); return std::move(this->__get()); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type const&& value() const&& { if (!this->has_value()) __throw_bad_optional_access(); return std::move(this->__get()); } template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type value_or(_Up&& __v) const& { static_assert(is_copy_constructible_v<value_type>, "optional<T>::value_or: T must be copy constructible"); static_assert(is_convertible_v<_Up, value_type>, "optional<T>::value_or: U must be convertible to T"); return this->has_value() ? this->__get() : static_cast<value_type>(std::forward<_Up>(__v)); } template <class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr value_type value_or(_Up&& __v) && { static_assert(is_move_constructible_v<value_type>, "optional<T>::value_or: T must be move constructible"); static_assert(is_convertible_v<_Up, value_type>, "optional<T>::value_or: U must be convertible to T"); return this->has_value() ? std::move(this->__get()) : static_cast<value_type>(std::forward<_Up>(__v)); } # 975 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 using __base::reset; }; template <class _Tp> optional(_Tp) -> optional<_Tp>; template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() == std::declval<const _Up&>()), bool>, bool > operator==(const optional<_Tp>& __x, const optional<_Up>& __y) { if (static_cast<bool>(__x) != static_cast<bool>(__y)) return false; if (!static_cast<bool>(__x)) return true; return *__x == *__y; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() != std::declval<const _Up&>()), bool>, bool > operator!=(const optional<_Tp>& __x, const optional<_Up>& __y) { if (static_cast<bool>(__x) != static_cast<bool>(__y)) return true; if (!static_cast<bool>(__x)) return false; return *__x != *__y; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() < std::declval<const _Up&>()), bool>, bool > operator<(const optional<_Tp>& __x, const optional<_Up>& __y) { if (!static_cast<bool>(__y)) return false; if (!static_cast<bool>(__x)) return true; return *__x < *__y; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() > std::declval<const _Up&>()), bool>, bool > operator>(const optional<_Tp>& __x, const optional<_Up>& __y) { if (!static_cast<bool>(__x)) return false; if (!static_cast<bool>(__y)) return true; return *__x > *__y; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() <= std::declval<const _Up&>()), bool>, bool > operator<=(const optional<_Tp>& __x, const optional<_Up>& __y) { if (!static_cast<bool>(__x)) return true; if (!static_cast<bool>(__y)) return false; return *__x <= *__y; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() >= std::declval<const _Up&>()), bool>, bool > operator>=(const optional<_Tp>& __x, const optional<_Up>& __y) { if (!static_cast<bool>(__y)) return true; if (!static_cast<bool>(__x)) return false; return *__x >= *__y; } # 1069 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(const optional<_Tp>& __x, nullopt_t) noexcept { return !static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator==(nullopt_t, const optional<_Tp>& __x) noexcept { return !static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(const optional<_Tp>& __x, nullopt_t) noexcept { return static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator!=(nullopt_t, const optional<_Tp>& __x) noexcept { return static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(const optional<_Tp>&, nullopt_t) noexcept { return false; } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<(nullopt_t, const optional<_Tp>& __x) noexcept { return static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(const optional<_Tp>& __x, nullopt_t) noexcept { return !static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator<=(nullopt_t, const optional<_Tp>&) noexcept { return true; } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(const optional<_Tp>& __x, nullopt_t) noexcept { return static_cast<bool>(__x); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>(nullopt_t, const optional<_Tp>&) noexcept { return false; } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(const optional<_Tp>&, nullopt_t) noexcept { return true; } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator>=(nullopt_t, const optional<_Tp>& __x) noexcept { return !static_cast<bool>(__x); } # 1141 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() == std::declval<const _Up&>()), bool>, bool > operator==(const optional<_Tp>& __x, const _Up& __v) { return static_cast<bool>(__x) ? *__x == __v : false; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() == std::declval<const _Up&>()), bool>, bool > operator==(const _Tp& __v, const optional<_Up>& __x) { return static_cast<bool>(__x) ? __v == *__x : false; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() != std::declval<const _Up&>()), bool>, bool > operator!=(const optional<_Tp>& __x, const _Up& __v) { return static_cast<bool>(__x) ? *__x != __v : true; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() != std::declval<const _Up&>()), bool>, bool > operator!=(const _Tp& __v, const optional<_Up>& __x) { return static_cast<bool>(__x) ? __v != *__x : true; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() < std::declval<const _Up&>()), bool>, bool > operator<(const optional<_Tp>& __x, const _Up& __v) { return static_cast<bool>(__x) ? *__x < __v : true; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() < std::declval<const _Up&>()), bool>, bool > operator<(const _Tp& __v, const optional<_Up>& __x) { return static_cast<bool>(__x) ? __v < *__x : false; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() <= std::declval<const _Up&>()), bool>, bool > operator<=(const optional<_Tp>& __x, const _Up& __v) { return static_cast<bool>(__x) ? *__x <= __v : true; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() <= std::declval<const _Up&>()), bool>, bool > operator<=(const _Tp& __v, const optional<_Up>& __x) { return static_cast<bool>(__x) ? __v <= *__x : false; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() > std::declval<const _Up&>()), bool>, bool > operator>(const optional<_Tp>& __x, const _Up& __v) { return static_cast<bool>(__x) ? *__x > __v : false; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() > std::declval<const _Up&>()), bool>, bool > operator>(const _Tp& __v, const optional<_Up>& __x) { return static_cast<bool>(__x) ? __v > *__x : true; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() >= std::declval<const _Up&>()), bool>, bool > operator>=(const optional<_Tp>& __x, const _Up& __v) { return static_cast<bool>(__x) ? *__x >= __v : false; } template <class _Tp, class _Up> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr enable_if_t< is_convertible_v<decltype(std::declval<const _Tp&>() >= std::declval<const _Up&>()), bool>, bool > operator>=(const _Tp& __v, const optional<_Up>& __x) { return static_cast<bool>(__x) ? __v >= *__x : true; } # 1248 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/optional" 3 template <class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) enable_if_t< is_move_constructible_v<_Tp> && is_swappable_v<_Tp>, void > swap(optional<_Tp>& __x, optional<_Tp>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional<decay_t<_Tp>> make_optional(_Tp&& __v) { return optional<decay_t<_Tp>>(std::forward<_Tp>(__v)); } template <class _Tp, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional<_Tp> make_optional(_Args&&... __args) { return optional<_Tp>(in_place, std::forward<_Args>(__args)...); } template <class _Tp, class _Up, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr optional<_Tp> make_optional(initializer_list<_Up> __il, _Args&&... __args) { return optional<_Tp>(in_place, __il, std::forward<_Args>(__args)...); } template <class _Tp> struct hash< __enable_hash_helper<optional<_Tp>, remove_const_t<_Tp>> > { __attribute__((__deprecated__)) typedef optional<_Tp> argument_type; __attribute__((__deprecated__)) typedef size_t result_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) size_t operator()(const optional<_Tp>& __opt) const { return static_cast<bool>(__opt) ? hash<remove_const_t<_Tp>>()(*__opt) : 0; } }; }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/movable_box.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/movable_box.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/movable_box.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 207 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__ranges/movable_box.h" 3 }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Function> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) { for (; __first != __last; ++__first) __f(*__first); return __f; } # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each.h" 3 }} # 1811 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each_n.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/for_each_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Size, class _Function> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _InputIterator for_each_n(_InputIterator __first, _Size __orig_n, _Function __f) { typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; _IntegralSize __n = __orig_n; while (__n > 0) { __f(*__first); ++__first; --__n; } return __first; } }} # 1812 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/generate.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/generate.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Generator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { for (; __first != __last; ++__first) *__first = __gen(); } }} # 1813 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/generate_n.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/generate_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _OutputIterator, class _Size, class _Generator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen) { typedef decltype(std::__convert_to_integral(__orig_n)) _IntegralSize; _IntegralSize __n = __orig_n; for (; __n > 0; ++__first, (void)--__n) *__first = __gen(); return __first; } }} # 1814 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_found_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_found_result.h" 3 # 1816 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_fun_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_fun_result.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_fun_result.h" 3 }} # 1817 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_in_out_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_in_out_result.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_in_out_result.h" 3 }} # 1818 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_in_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_in_result.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_in_result.h" 3 }} # 1819 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_out_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_out_result.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 50 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/in_out_out_result.h" 3 }} # 1820 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/includes.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/includes.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Comp, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __includes( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Comp&& __comp, _Proj1&& __proj1, _Proj2&& __proj2) { for (; __first2 != __last2; ++__first1) { if (__first1 == __last1 || std::__invoke(__comp, std::__invoke(__proj2, *__first2), std::__invoke(__proj1, *__first1))) return false; if (!std::__invoke(__comp, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) ++__first2; } return true; } template <class _InputIterator1, class _InputIterator2, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { static_assert( __is_callable<_Compare, decltype(*__first1), decltype(*__first2)>::value, "Comparator has to be callable"); return std::__includes( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), static_cast<__comp_ref_type<_Compare> >(__comp), __identity(), __identity()); } template <class _InputIterator1, class _InputIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { return std::includes(std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __less<>()); } }} # 1822 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/move_backward.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/move_backward.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/move_backward.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _BidirectionalIterator1, class _Sentinel, class _BidirectionalIterator2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_BidirectionalIterator1, _BidirectionalIterator2> __move_backward(_BidirectionalIterator1 __first, _Sentinel __last, _BidirectionalIterator2 __result); template <class _AlgPolicy> struct __move_backward_loop { template <class _InIter, class _Sent, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _Sent __last, _OutIter __result) const { auto __last_iter = _IterOps<_AlgPolicy>::next(__first, __last); auto __original_last_iter = __last_iter; while (__first != __last_iter) { *--__result = _IterOps<_AlgPolicy>::__iter_move(--__last_iter); } return std::make_pair(std::move(__original_last_iter), std::move(__result)); } template <class _InIter, class _OutIter, __enable_if_t<__is_segmented_iterator<_InIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { using _Traits = __segmented_iterator_traits<_InIter>; auto __sfirst = _Traits::__segment(__first); auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { auto __iters = std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); return std::make_pair(__last, __iters.second); } __result = std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) .second; --__slast; while (__sfirst != __slast) { __result = std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__end(__slast), std::move(__result)) .second; --__slast; } __result = std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) .second; return std::make_pair(__last, std::move(__result)); } template <class _InIter, class _OutIter, __enable_if_t<__has_random_access_iterator_category<_InIter>::value && !__is_segmented_iterator<_InIter>::value && __is_segmented_iterator<_OutIter>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_InIter, _OutIter> operator()(_InIter __first, _InIter __last, _OutIter __result) const { using _Traits = __segmented_iterator_traits<_OutIter>; using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; if (__first == __last) return std::make_pair(__first, __result); auto __orig_last = __last; auto __local_last = _Traits::__local(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_first = _Traits::__begin(__segment_iterator); auto __size = std::min<_DiffT>(__local_last - __local_first, __last - __first); auto __iter = std::__move_backward<_AlgPolicy>(__last - __size, __last, __local_last).second; __last -= __size; if (__first == __last) return std::make_pair(std::move(__orig_last), _Traits::__compose(__segment_iterator, std::move(__iter))); __local_last = _Traits::__end(--__segment_iterator); } } }; struct __move_backward_trivial { template <class _In, class _Out, __enable_if_t<__can_lower_move_assignment_to_memmove<_In, _Out>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_In*, _Out*> operator()(_In* __first, _In* __last, _Out* __result) const { return std::__copy_backward_trivial_impl(__first, __last, __result); } }; template <class _AlgPolicy, class _BidirectionalIterator1, class _Sentinel, class _BidirectionalIterator2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_BidirectionalIterator1, _BidirectionalIterator2> __move_backward(_BidirectionalIterator1 __first, _Sentinel __last, _BidirectionalIterator2 __result) { static_assert(std::is_copy_constructible<_BidirectionalIterator1>::value && std::is_copy_constructible<_BidirectionalIterator1>::value, "Iterators must be copy constructible."); return std::__dispatch_copy_or_move<_AlgPolicy, __move_backward_loop<_AlgPolicy>, __move_backward_trivial>( std::move(__first), std::move(__last), std::move(__result)); } template <class _BidirectionalIterator1, class _BidirectionalIterator2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _BidirectionalIterator2 move_backward(_BidirectionalIterator1 __first, _BidirectionalIterator1 __last, _BidirectionalIterator2 __result) { return std::__move_backward<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__result)).second; } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/swap_ranges.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/swap_ranges.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _ForwardIterator1, class _Sentinel1, class _ForwardIterator2, class _Sentinel2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator1, _ForwardIterator2> __swap_ranges(_ForwardIterator1 __first1, _Sentinel1 __last1, _ForwardIterator2 __first2, _Sentinel2 __last2) { while (__first1 != __last1 && __first2 != __last2) { _IterOps<_AlgPolicy>::iter_swap(__first1, __first2); ++__first1; ++__first2; } return pair<_ForwardIterator1, _ForwardIterator2>(std::move(__first1), std::move(__first2)); } template <class _AlgPolicy, class _ForwardIterator1, class _Sentinel1, class _ForwardIterator2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator1, _ForwardIterator2> __swap_ranges(_ForwardIterator1 __first1, _Sentinel1 __last1, _ForwardIterator2 __first2) { while (__first1 != __last1) { _IterOps<_AlgPolicy>::iter_swap(__first1, __first2); ++__first1; ++__first2; } return pair<_ForwardIterator1, _ForwardIterator2>(std::move(__first1), std::move(__first2)); } template <class _ForwardIterator1, class _ForwardIterator2> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { return std::__swap_ranges<_ClassicAlgPolicy>(std::move(__first1), std::move(__last1), std::move(__first2)).second; } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator __rotate_left(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type value_type; using _Ops = _IterOps<_AlgPolicy>; value_type __tmp = _Ops::__iter_move(__first); _ForwardIterator __lm1 = std::__move<_AlgPolicy>(_Ops::next(__first), __last, __first).second; *__lm1 = std::move(__tmp); return __lm1; } template <class _AlgPolicy, class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _BidirectionalIterator __rotate_right(_BidirectionalIterator __first, _BidirectionalIterator __last) { typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; using _Ops = _IterOps<_AlgPolicy>; _BidirectionalIterator __lm1 = _Ops::prev(__last); value_type __tmp = _Ops::__iter_move(__lm1); _BidirectionalIterator __fp1 = std::__move_backward<_AlgPolicy>(__first, __lm1, std::move(__last)).second; *__first = std::move(__tmp); return __fp1; } template <class _AlgPolicy, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator __rotate_forward(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) { _ForwardIterator __i = __middle; while (true) { _IterOps<_AlgPolicy>::iter_swap(__first, __i); ++__first; if (++__i == __last) break; if (__first == __middle) __middle = __i; } _ForwardIterator __r = __first; if (__first != __middle) { __i = __middle; while (true) { _IterOps<_AlgPolicy>::iter_swap(__first, __i); ++__first; if (++__i == __last) { if (__first == __middle) break; __i = __middle; } else if (__first == __middle) __middle = __i; } } return __r; } template <typename _Integral> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Integral __algo_gcd(_Integral __x, _Integral __y) { do { _Integral __t = __x % __y; __x = __y; __y = __t; } while (__y); return __x; } template <class _AlgPolicy, typename _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _RandomAccessIterator __rotate_gcd(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; using _Ops = _IterOps<_AlgPolicy>; const difference_type __m1 = __middle - __first; const difference_type __m2 = _Ops::distance(__middle, __last); if (__m1 == __m2) { std::__swap_ranges<_AlgPolicy>(__first, __middle, __middle, __last); return __middle; } const difference_type __g = std::__algo_gcd(__m1, __m2); for (_RandomAccessIterator __p = __first + __g; __p != __first;) { value_type __t(_Ops::__iter_move(--__p)); _RandomAccessIterator __p1 = __p; _RandomAccessIterator __p2 = __p1 + __m1; do { *__p1 = _Ops::__iter_move(__p2); __p1 = __p2; const difference_type __d = _Ops::distance(__p2, __last); if (__m1 < __d) __p2 += __m1; else __p2 = __first + (__m1 - __d); } while (__p2 != __p); *__p1 = std::move(__t); } return __first + __m2; } template <class _AlgPolicy, class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator __rotate_impl(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, std::forward_iterator_tag) { typedef typename iterator_traits<_ForwardIterator>::value_type value_type; if (is_trivially_move_assignable<value_type>::value) { if (_IterOps<_AlgPolicy>::next(__first) == __middle) return std::__rotate_left<_AlgPolicy>(__first, __last); } return std::__rotate_forward<_AlgPolicy>(__first, __middle, __last); } template <class _AlgPolicy, class _BidirectionalIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _BidirectionalIterator __rotate_impl( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag) { typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; if (is_trivially_move_assignable<value_type>::value) { if (_IterOps<_AlgPolicy>::next(__first) == __middle) return std::__rotate_left<_AlgPolicy>(__first, __last); if (_IterOps<_AlgPolicy>::next(__middle) == __last) return std::__rotate_right<_AlgPolicy>(__first, __last); } return std::__rotate_forward<_AlgPolicy>(__first, __middle, __last); } template <class _AlgPolicy, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _RandomAccessIterator __rotate_impl( _RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag) { typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; if (is_trivially_move_assignable<value_type>::value) { if (_IterOps<_AlgPolicy>::next(__first) == __middle) return std::__rotate_left<_AlgPolicy>(__first, __last); if (_IterOps<_AlgPolicy>::next(__middle) == __last) return std::__rotate_right<_AlgPolicy>(__first, __last); return std::__rotate_gcd<_AlgPolicy>(__first, __middle, __last); } return std::__rotate_forward<_AlgPolicy>(__first, __middle, __last); } template <class _AlgPolicy, class _Iterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iterator, _Iterator> __rotate(_Iterator __first, _Iterator __middle, _Sentinel __last) { using _Ret = pair<_Iterator, _Iterator>; _Iterator __last_iter = _IterOps<_AlgPolicy>::next(__middle, __last); if (__first == __middle) return _Ret(__last_iter, __last_iter); if (__middle == __last) return _Ret(std::move(__first), std::move(__last_iter)); using _IterCategory = typename _IterOps<_AlgPolicy>::template __iterator_category<_Iterator>; auto __result = std::__rotate_impl<_AlgPolicy>(std::move(__first), std::move(__middle), __last_iter, _IterCategory()); return _Ret(std::move(__result), std::move(__last_iter)); } template <class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator rotate(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last) { return std::__rotate<_ClassicAlgPolicy>(std::move(__first), std::move(__middle), std::move(__last)).first; } }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/destruct_n.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__memory/destruct_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __destruct_n { private: size_t __size_; template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __process(_Tp* __p, false_type) noexcept { for (size_t __i = 0; __i < __size_; ++__i, ++__p) __p->~_Tp(); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __process(_Tp*, true_type) noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __incr(false_type) noexcept { ++__size_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __incr(true_type) noexcept {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __set(size_t __s, false_type) noexcept { __size_ = __s; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __set(size_t, true_type) noexcept {} public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __destruct_n(size_t __s) noexcept : __size_(__s) {} template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __incr() noexcept { __incr(integral_constant<bool, is_trivially_destructible<_Tp>::value>()); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __set(size_t __s, _Tp*) noexcept { __set(__s, integral_constant<bool, is_trivially_destructible<_Tp>::value>()); } template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void operator()(_Tp* __p) noexcept { __process(__p, integral_constant<bool, is_trivially_destructible<_Tp>::value>()); } }; }} # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 2 3 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Predicate> class __invert { private: _Predicate __p_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __invert() {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit __invert(_Predicate __p) : __p_(__p) {} template <class _T1> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _T1& __x) { return !__p_(__x); } template <class _T1, class _T2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool operator()(const _T1& __x, const _T2& __y) { return __p_(__y, __x); } }; template <class _AlgPolicy, class _Compare, class _InputIterator1, class _Sent1, class _InputIterator2, class _Sent2, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __half_inplace_merge( _InputIterator1 __first1, _Sent1 __last1, _InputIterator2 __first2, _Sent2 __last2, _OutputIterator __result, _Compare&& __comp) { for (; __first1 != __last1; ++__result) { if (__first2 == __last2) { std::__move<_AlgPolicy>(__first1, __last1, __result); return; } if (__comp(*__first2, *__first1)) { *__result = _IterOps<_AlgPolicy>::__iter_move(__first2); ++__first2; } else { *__result = _IterOps<_AlgPolicy>::__iter_move(__first1); ++__first1; } } } template <class _AlgPolicy, class _Compare, class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __buffered_inplace_merge( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare&& __comp, typename iterator_traits<_BidirectionalIterator>::difference_type __len1, typename iterator_traits<_BidirectionalIterator>::difference_type __len2, typename iterator_traits<_BidirectionalIterator>::value_type* __buff) { typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h2(__buff, __d); if (__len1 <= __len2) { value_type* __p = __buff; for (_BidirectionalIterator __i = __first; __i != __middle; __d.template __incr<value_type>(), (void)++__i, (void)++__p) ::new ((void*)__p) value_type(_IterOps<_AlgPolicy>::__iter_move(__i)); std::__half_inplace_merge<_AlgPolicy>(__buff, __p, __middle, __last, __first, __comp); } else { value_type* __p = __buff; for (_BidirectionalIterator __i = __middle; __i != __last; __d.template __incr<value_type>(), (void)++__i, (void)++__p) ::new ((void*)__p) value_type(_IterOps<_AlgPolicy>::__iter_move(__i)); typedef __unconstrained_reverse_iterator<_BidirectionalIterator> _RBi; typedef __unconstrained_reverse_iterator<value_type*> _Rv; typedef __invert<_Compare> _Inverted; std::__half_inplace_merge<_AlgPolicy>( _Rv(__p), _Rv(__buff), _RBi(__middle), _RBi(__first), _RBi(__last), _Inverted(__comp)); } } template <class _AlgPolicy, class _Compare, class _BidirectionalIterator> void __inplace_merge( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare&& __comp, typename iterator_traits<_BidirectionalIterator>::difference_type __len1, typename iterator_traits<_BidirectionalIterator>::difference_type __len2, typename iterator_traits<_BidirectionalIterator>::value_type* __buff, ptrdiff_t __buff_size) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type; while (true) { if (__len2 == 0) return; if (__len1 <= __buff_size || __len2 <= __buff_size) return std::__buffered_inplace_merge<_AlgPolicy>(__first, __middle, __last, __comp, __len1, __len2, __buff); for (; true; ++__first, (void)--__len1) { if (__len1 == 0) return; if (__comp(*__middle, *__first)) break; } # 159 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 3 _BidirectionalIterator __m1; _BidirectionalIterator __m2; difference_type __len11; difference_type __len21; if (__len1 < __len2) { __len21 = __len2 / 2; __m2 = __middle; _Ops::advance(__m2, __len21); __m1 = std::__upper_bound<_AlgPolicy>(__first, __middle, *__m2, __comp, std::__identity()); __len11 = _Ops::distance(__first, __m1); } else { if (__len1 == 1) { _Ops::iter_swap(__first, __middle); return; } __len11 = __len1 / 2; __m1 = __first; _Ops::advance(__m1, __len11); __m2 = std::lower_bound(__middle, __last, *__m1, __comp); __len21 = _Ops::distance(__middle, __m2); } difference_type __len12 = __len1 - __len11; difference_type __len22 = __len2 - __len21; __middle = std::__rotate<_AlgPolicy>(__m1, __middle, __m2).first; if (__len11 + __len21 < __len12 + __len22) { std::__inplace_merge<_AlgPolicy>(__first, __m1, __middle, __comp, __len11, __len21, __buff, __buff_size); __first = __middle; __middle = __m2; __len1 = __len12; __len2 = __len22; } else { std::__inplace_merge<_AlgPolicy>(__middle, __m2, __last, __comp, __len12, __len22, __buff, __buff_size); __last = __middle; __middle = __m1; __len1 = __len11; __len2 = __len21; } } } template <class _AlgPolicy, class _BidirectionalIterator, class _Compare> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __inplace_merge( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare&& __comp) { typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type; difference_type __len1 = _IterOps<_AlgPolicy>::distance(__first, __middle); difference_type __len2 = _IterOps<_AlgPolicy>::distance(__middle, __last); difference_type __buf_size = std::min(__len1, __len2); #pragma GCC diagnostic push # 215 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 215 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/inplace_merge.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" pair<value_type*, ptrdiff_t> __buf = std::get_temporary_buffer<value_type>(__buf_size); #pragma GCC diagnostic pop unique_ptr<value_type, __return_temporary_buffer> __h(__buf.first); return std::__inplace_merge<_AlgPolicy>( std::move(__first), std::move(__middle), std::move(__last), __comp, __len1, __len2, __buf.first, __buf.second); } template <class _BidirectionalIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void inplace_merge( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp) { std::__inplace_merge<_ClassicAlgPolicy>( std::move(__first), std::move(__middle), std::move(__last), static_cast<__comp_ref_type<_Compare> >(__comp)); } template <class _BidirectionalIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last) { std::inplace_merge(std::move(__first), std::move(__middle), std::move(__last), __less<>()); } }} # 1823 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_heap.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_heap_until.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_heap_until.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator __is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare&& __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; difference_type __len = __last - __first; difference_type __p = 0; difference_type __c = 1; _RandomAccessIterator __pp = __first; while (__c < __len) { _RandomAccessIterator __cp = __first + __c; if (__comp(*__pp, *__cp)) return __cp; ++__c; ++__cp; if (__c == __len) return __last; if (__comp(*__pp, *__cp)) return __cp; ++__p; ++__pp; __c = 2 * __p + 1; } return __last; } template <class _RandomAccessIterator, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { return std::__is_heap_until(__first, __last, static_cast<__comp_ref_type<_Compare> >(__comp)); } template <class _RandomAccessIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::__is_heap_until(__first, __last, __less<>()); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_heap.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_heap.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _RandomAccessIterator, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { return std::__is_heap_until(__first, __last, static_cast<__comp_ref_type<_Compare> >(__comp)) == __last; } template <class _RandomAccessIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::is_heap(__first, __last, __less<>()); } }} # 1824 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_partitioned.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_partitioned.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred) { for (; __first != __last; ++__first) if (!__pred(*__first)) break; if (__first == __last) return true; ++__first; for (; __first != __last; ++__first) if (__pred(*__first)) return false; return true; } }} # 1826 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_permutation.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_permutation.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_permutation.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Iter1, class _Sent1, class _Iter2, class _Sent2, class = void> struct _ConstTimeDistance : false_type {}; # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_permutation.h" 3 template <class _Iter1, class _Iter2> struct _ConstTimeDistance< _Iter1, _Iter1, _Iter2, _Iter2, __enable_if_t< is_same<typename iterator_traits<_Iter1>::iterator_category, random_access_iterator_tag>::value && is_same<typename iterator_traits<_Iter2>::iterator_category, random_access_iterator_tag>::value > > : true_type {}; template <class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Proj1, class _Proj2, class _Pred> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __is_permutation_impl( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred&& __pred, _Proj1&& __proj1, _Proj2&& __proj2) { using _D1 = __iter_diff_t<_Iter1>; for (auto __i = __first1; __i != __last1; ++__i) { auto __match = __first1; for (; __match != __i; ++__match) { if (std::__invoke(__pred, std::__invoke(__proj1, *__match), std::__invoke(__proj1, *__i))) break; } if (__match == __i) { _D1 __c2 = 0; for (auto __j = __first2; __j != __last2; ++__j) { if (std::__invoke(__pred, std::__invoke(__proj1, *__i), std::__invoke(__proj2, *__j))) ++__c2; } if (__c2 == 0) return false; _D1 __c1 = 1; for (auto __j = _IterOps<_AlgPolicy>::next(__i); __j != __last1; ++__j) { if (std::__invoke(__pred, std::__invoke(__proj1, *__i), std::__invoke(__proj1, *__j))) ++__c1; } if (__c1 != __c2) return false; } } return true; } template <class _AlgPolicy, class _ForwardIterator1, class _Sentinel1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __is_permutation( _ForwardIterator1 __first1, _Sentinel1 __last1, _ForwardIterator2 __first2, _BinaryPredicate&& __pred) { for (; __first1 != __last1; ++__first1, (void)++__first2) { if (!__pred(*__first1, *__first2)) break; } if (__first1 == __last1) return true; using _D1 = __iter_diff_t<_ForwardIterator1>; _D1 __l1 = _IterOps<_AlgPolicy>::distance(__first1, __last1); if (__l1 == _D1(1)) return false; auto __last2 = _IterOps<_AlgPolicy>::next(__first2, __l1); return std::__is_permutation_impl<_AlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __pred, __identity(), __identity()); } template <class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Proj1, class _Proj2, class _Pred> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __is_permutation( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred&& __pred, _Proj1&& __proj1, _Proj2&& __proj2, false_type) { while (__first1 != __last1 && __first2 != __last2) { if (!std::__invoke(__pred, std::__invoke(__proj1, *__first1), std::__invoke(__proj2, *__first2))) break; ++__first1; ++__first2; } if (__first1 == __last1) return __first2 == __last2; if (__first2 == __last2) return false; using _D1 = __iter_diff_t<_Iter1>; _D1 __l1 = _IterOps<_AlgPolicy>::distance(__first1, __last1); using _D2 = __iter_diff_t<_Iter2>; _D2 __l2 = _IterOps<_AlgPolicy>::distance(__first2, __last2); if (__l1 != __l2) return false; return std::__is_permutation_impl<_AlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __pred, __proj1, __proj2); } template <class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Proj1, class _Proj2, class _Pred> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __is_permutation( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred&& __pred, _Proj1&& __proj1, _Proj2&& __proj2, true_type) { if (std::distance(__first1, __last1) != std::distance(__first2, __last2)) return false; return std::__is_permutation<_AlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __pred, __proj1, __proj2, false_type()); } template <class _AlgPolicy, class _Iter1, class _Sent1, class _Iter2, class _Sent2, class _Proj1, class _Proj2, class _Pred> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __is_permutation( _Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2, _Pred&& __pred, _Proj1&& __proj1, _Proj2&& __proj2) { return std::__is_permutation<_AlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __pred, __proj1, __proj2, _ConstTimeDistance<_Iter1, _Sent1, _Iter2, _Sent2>()); } template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_permutation( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _BinaryPredicate __pred) { static_assert(__is_callable<_BinaryPredicate, decltype(*__first1), decltype(*__first2)>::value, "The predicate has to be callable"); return std::__is_permutation<_ClassicAlgPolicy>(std::move(__first1), std::move(__last1), std::move(__first2), __pred); } template <class _ForwardIterator1, class _ForwardIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { return std::is_permutation(__first1, __last1, __first2, __equal_to()); } template <class _ForwardIterator1, class _ForwardIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_permutation( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { return std::__is_permutation<_ClassicAlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __equal_to(), __identity(), __identity()); } template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_permutation( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred) { static_assert(__is_callable<_BinaryPredicate, decltype(*__first1), decltype(*__first2)>::value, "The predicate has to be callable"); return std::__is_permutation<_ClassicAlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), __pred, __identity(), __identity()); } }} # 1827 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_sorted.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_sorted.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_sorted_until.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_sorted_until.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { if (__first != __last) { _ForwardIterator __i = __first; while (++__i != __last) { if (__comp(*__i, *__first)) return __i; __first = __i; } } return __last; } template <class _ForwardIterator, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { return std::__is_sorted_until<__comp_ref_type<_Compare> >(__first, __last, __comp); } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) { return std::is_sorted_until(__first, __last, __less<>()); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_sorted.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/is_sorted.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { return std::__is_sorted_until<__comp_ref_type<_Compare> >(__first, __last, __comp) == __last; } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool is_sorted(_ForwardIterator __first, _ForwardIterator __last) { return std::is_sorted(__first, __last, __less<>()); } }} # 1828 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare, class _InputIterator1, class _InputIterator2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __lexicographical_compare( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { for (; __first2 != __last2; ++__first1, (void)++__first2) { if (__first1 == __last1 || __comp(*__first1, *__first2)) return true; if (__comp(*__first2, *__first1)) return false; } return false; } template <class _InputIterator1, class _InputIterator2, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool lexicographical_compare( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp) { return std::__lexicographical_compare<__comp_ref_type<_Compare> >(__first1, __last1, __first2, __last2, __comp); } template <class _InputIterator1, class _InputIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool lexicographical_compare( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { return std::lexicographical_compare(__first1, __last1, __first2, __last2, __less<>()); } }} # 1831 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 71 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/three_way_comp_ref_type.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 121 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/lexicographical_compare_three_way.h" 3 }} # 1832 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_heap.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sift_down.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sift_down.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sift_down.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __sift_down(_RandomAccessIterator __first, _Compare&& __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len, _RandomAccessIterator __start) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; difference_type __child = __start - __first; if (__len < 2 || (__len - 2) / 2 < __child) return; __child = 2 * __child + 1; _RandomAccessIterator __child_i = __first + __child; if ((__child + 1) < __len && __comp(*__child_i, *(__child_i + difference_type(1)))) { ++__child_i; ++__child; } if (__comp(*__child_i, *__start)) return; value_type __top(_Ops::__iter_move(__start)); do { *__start = _Ops::__iter_move(__child_i); __start = __child_i; if ((__len - 2) / 2 < __child) break; __child = 2 * __child + 1; __child_i = __first + __child; if ((__child + 1) < __len && __comp(*__child_i, *(__child_i + difference_type(1)))) { ++__child_i; ++__child; } } while (!__comp(*__child_i, __top)); *__start = std::move(__top); } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _RandomAccessIterator __floyd_sift_down( _RandomAccessIterator __first, _Compare&& __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len) { using difference_type = typename iterator_traits<_RandomAccessIterator>::difference_type; ((void)0); _RandomAccessIterator __hole = __first; _RandomAccessIterator __child_i = __first; difference_type __child = 0; while (true) { __child_i += difference_type(__child + 1); __child = 2 * __child + 1; if ((__child + 1) < __len && __comp(*__child_i, *(__child_i + difference_type(1)))) { ++__child_i; ++__child; } *__hole = _IterOps<_AlgPolicy>::__iter_move(__child_i); __hole = __child_i; if (__child > (__len - 2) / 2) return __hole; } } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_heap.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_heap.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare&& __comp) { __comp_ref_type<_Compare> __comp_ref = __comp; using difference_type = typename iterator_traits<_RandomAccessIterator>::difference_type; difference_type __n = __last - __first; if (__n > 1) { for (difference_type __start = (__n - 2) / 2; __start >= 0; --__start) { std::__sift_down<_AlgPolicy>(__first, __comp_ref, __n, __first + __start); } } } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { std::__make_heap<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { std::make_heap(std::move(__first), std::move(__last), __less<>()); } }} # 1834 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max_element.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max_element.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare, class _ForwardIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator __max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { static_assert( __has_forward_iterator_category<_ForwardIterator>::value, "std::max_element requires a ForwardIterator"); if (__first != __last) { _ForwardIterator __i = __first; while (++__i != __last) if (__comp(*__first, *__i)) __first = __i; } return __first; } template <class _ForwardIterator, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { return std::__max_element<__comp_ref_type<_Compare> >(__first, __last, __comp); } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { return std::max_element(__first, __last, __less<>()); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max.h" 2 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/max.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& max([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b, _Compare __comp) { return __comp(__a, __b) ? __b : __a; } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr const _Tp& max([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b) { return std::max(__a, __b, __less<>()); } template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp max(initializer_list<_Tp> __t, _Compare __comp) { return *std::__max_element<__comp_ref_type<_Compare> >(__t.begin(), __t.end(), __comp); } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp max(initializer_list<_Tp> __t) { return *std::max_element(__t.begin(), __t.end(), __less<>()); } }} # 1835 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/merge.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/merge.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator __merge( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { for (; __first1 != __last1; ++__result) { if (__first2 == __last2) return std::copy(__first1, __last1, __result); if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { *__result = *__first1; ++__first1; } } return std::copy(__first2, __last2, __result); } template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { return std::__merge<__comp_ref_type<_Compare> >(__first1, __last1, __first2, __last2, __result, __comp); } template <class _InputIterator1, class _InputIterator2, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator merge(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { return std::merge(__first1, __last1, __first2, __last2, __result, __less<>()); } }} # 1837 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_max_result.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_max_result.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_max_result.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/min_max_result.h" 3 }} # 1840 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/minmax.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/minmax.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/minmax_element.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/minmax_element.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Comp, class _Proj> class _MinmaxElementLessFunc { _Comp& __comp_; _Proj& __proj_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _MinmaxElementLessFunc(_Comp& __comp, _Proj& __proj) : __comp_(__comp), __proj_(__proj) {} template <class _Iter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool operator()(_Iter& __it1, _Iter& __it2) { return std::__invoke(__comp_, std::__invoke(__proj_, *__it1), std::__invoke(__proj_, *__it2)); } }; template <class _Iter, class _Sent, class _Proj, class _Comp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter, _Iter> __minmax_element_impl(_Iter __first, _Sent __last, _Comp& __comp, _Proj& __proj) { auto __less = _MinmaxElementLessFunc<_Comp, _Proj>(__comp, __proj); pair<_Iter, _Iter> __result(__first, __first); if (__first == __last || ++__first == __last) return __result; if (__less(__first, __result.first)) __result.first = __first; else __result.second = __first; while (++__first != __last) { _Iter __i = __first; if (++__first == __last) { if (__less(__i, __result.first)) __result.first = __i; else if (!__less(__i, __result.second)) __result.second = __i; return __result; } if (__less(__first, __i)) { if (__less(__first, __result.first)) __result.first = __first; if (!__less(__i, __result.second)) __result.second = __i; } else { if (__less(__i, __result.first)) __result.first = __i; if (!__less(__first, __result.second)) __result.second = __first; } } return __result; } template <class _ForwardIterator, class _Compare> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_ForwardIterator, _ForwardIterator> minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { static_assert( __has_forward_iterator_category<_ForwardIterator>::value, "std::minmax_element requires a ForwardIterator"); static_assert( __is_callable<_Compare, decltype(*__first), decltype(*__first)>::value, "The comparator has to be callable"); auto __proj = __identity(); return std::__minmax_element_impl(__first, __last, __comp, __proj); } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_ForwardIterator, _ForwardIterator> minmax_element(_ForwardIterator __first, _ForwardIterator __last) { return std::minmax_element(__first, __last, __less<>()); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/minmax.h" 2 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/minmax.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<const _Tp&, const _Tp&> minmax([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b, _Compare __comp) { return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a) : pair<const _Tp&, const _Tp&>(__a, __b); } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<const _Tp&, const _Tp&> minmax([[_Clang::__lifetimebound__]] const _Tp& __a, [[_Clang::__lifetimebound__]] const _Tp& __b) { return std::minmax(__a, __b, __less<>()); } template <class _Tp, class _Compare> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Tp, _Tp> minmax(initializer_list<_Tp> __t, _Compare __comp) { static_assert(__is_callable<_Compare, _Tp, _Tp>::value, "The comparator has to be callable"); __identity __proj; auto __ret = std::__minmax_element_impl(__t.begin(), __t.end(), __comp, __proj); return pair<_Tp, _Tp>(*__ret.first, *__ret.second); } template <class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Tp, _Tp> minmax(initializer_list<_Tp> __t) { return std::minmax(__t, __less<>()); } }} # 1841 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/mismatch.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/mismatch.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __pred) { for (; __first1 != __last1; ++__first1, (void)++__first2) if (!__pred(*__first1, *__first2)) break; return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } template <class _InputIterator1, class _InputIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { return std::mismatch(__first1, __last1, __first2, __equal_to()); } template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred) { for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void)++__first2) if (!__pred(*__first1, *__first2)) break; return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } template <class _InputIterator1, class _InputIterator2> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { return std::mismatch(__first1, __last1, __first2, __last2, __equal_to()); } }} # 1843 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/next_permutation.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/next_permutation.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/reverse.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/reverse.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _BidirectionalIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __reverse_impl(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag) { while (__first != __last) { if (__first == --__last) break; _IterOps<_AlgPolicy>::iter_swap(__first, __last); ++__first; } } template <class _AlgPolicy, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __reverse_impl(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { if (__first != __last) for (; __first < --__last; ++__first) _IterOps<_AlgPolicy>::iter_swap(__first, __last); } template <class _AlgPolicy, class _BidirectionalIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __reverse(_BidirectionalIterator __first, _Sentinel __last) { using _IterCategory = typename _IterOps<_AlgPolicy>::template __iterator_category<_BidirectionalIterator>; std::__reverse_impl<_AlgPolicy>(std::move(__first), std::move(__last), _IterCategory()); } template <class _BidirectionalIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) { std::__reverse<_ClassicAlgPolicy>(std::move(__first), std::move(__last)); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/next_permutation.h" 2 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/next_permutation.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _BidirectionalIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_BidirectionalIterator, bool> __next_permutation(_BidirectionalIterator __first, _Sentinel __last, _Compare&& __comp) { using _Result = pair<_BidirectionalIterator, bool>; _BidirectionalIterator __last_iter = _IterOps<_AlgPolicy>::next(__first, __last); _BidirectionalIterator __i = __last_iter; if (__first == __last || __first == --__i) return _Result(std::move(__last_iter), false); while (true) { _BidirectionalIterator __ip1 = __i; if (__comp(*--__i, *__ip1)) { _BidirectionalIterator __j = __last_iter; while (!__comp(*__i, *--__j)) ; _IterOps<_AlgPolicy>::iter_swap(__i, __j); std::__reverse<_AlgPolicy>(__ip1, __last_iter); return _Result(std::move(__last_iter), true); } if (__i == __first) { std::__reverse<_AlgPolicy>(__first, __last_iter); return _Result(std::move(__last_iter), false); } } } template <class _BidirectionalIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { return std::__next_permutation<_ClassicAlgPolicy>( std::move(__first), std::move(__last), static_cast<__comp_ref_type<_Compare> >(__comp)) .second; } template <class _BidirectionalIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { return std::next_permutation(__first, __last, __less<>()); } }} # 1846 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/none_of.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/none_of.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Predicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { for (; __first != __last; ++__first) if (__pred(*__first)) return false; return true; } }} # 1847 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/nth_element.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/nth_element.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort_heap.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pop_heap.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pop_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/push_heap.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/push_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/push_heap.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __sift_up(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare&& __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len) { using value_type = typename iterator_traits<_RandomAccessIterator>::value_type; if (__len > 1) { __len = (__len - 2) / 2; _RandomAccessIterator __ptr = __first + __len; if (__comp(*__ptr, *--__last)) { value_type __t(_IterOps<_AlgPolicy>::__iter_move(__last)); do { *__last = _IterOps<_AlgPolicy>::__iter_move(__ptr); __last = __ptr; if (__len == 0) break; __len = (__len - 1) / 2; __ptr = __first + __len; } while (__comp(*__ptr, __t)); *__last = std::move(__t); } } } template <class _AlgPolicy, class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare& __comp) { typename iterator_traits<_RandomAccessIterator>::difference_type __len = __last - __first; std::__sift_up<_AlgPolicy, __comp_ref_type<_Compare> >(std::move(__first), std::move(__last), __comp, __len); } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { static_assert(std::is_copy_constructible<_RandomAccessIterator>::value, "Iterators must be copy constructible."); static_assert(std::is_copy_assignable<_RandomAccessIterator>::value, "Iterators must be copy assignable."); std::__push_heap<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { std::push_heap(std::move(__first), std::move(__last), __less<>()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pop_heap.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pop_heap.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pop_heap.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare& __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len) { ((void)0); __comp_ref_type<_Compare> __comp_ref = __comp; using value_type = typename iterator_traits<_RandomAccessIterator>::value_type; if (__len > 1) { value_type __top = _IterOps<_AlgPolicy>::__iter_move(__first); _RandomAccessIterator __hole = std::__floyd_sift_down<_AlgPolicy>(__first, __comp_ref, __len); --__last; if (__hole == __last) { *__hole = std::move(__top); } else { *__hole = _IterOps<_AlgPolicy>::__iter_move(__last); ++__hole; *__last = std::move(__top); std::__sift_up<_AlgPolicy>(__first, __hole, __comp_ref, __hole - __first); } } } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { static_assert(std::is_copy_constructible<_RandomAccessIterator>::value, "Iterators must be copy constructible."); static_assert(std::is_copy_assignable<_RandomAccessIterator>::value, "Iterators must be copy assignable."); typename iterator_traits<_RandomAccessIterator>::difference_type __len = __last - __first; std::__pop_heap<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __comp, __len); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { std::pop_heap(std::move(__first), std::move(__last), __less<>()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort_heap.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _RandomAccessIterator, class _Comp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __check_strict_weak_ordering_sorted(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp& __comp) { # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__debug_utils/strict_weak_ordering_check.h" 3 (void)__first; (void)__last; (void)__comp; } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort_heap.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort_heap.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare&& __comp) { _RandomAccessIterator __saved_last = __last; __comp_ref_type<_Compare> __comp_ref = __comp; using difference_type = typename iterator_traits<_RandomAccessIterator>::difference_type; for (difference_type __n = __last - __first; __n > 1; --__last, (void)--__n) std::__pop_heap<_AlgPolicy>(__first, __last, __comp_ref, __n); std::__check_strict_weak_ordering_sorted(__first, __saved_last, __comp_ref); } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { static_assert(std::is_copy_constructible<_RandomAccessIterator>::value, "Iterators must be copy constructible."); static_assert(std::is_copy_assignable<_RandomAccessIterator>::value, "Iterators must be copy assignable."); std::__sort_heap<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { std::sort_heap(std::move(__first), std::move(__last), __less<>()); } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__debug_utils/randomize_range.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__debug_utils/randomize_range.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Iterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __debug_randomize_range(_Iterator __first, _Sentinel __last) { # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__debug_utils/randomize_range.h" 3 (void)__first; (void)__last; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator __partial_sort_impl( _RandomAccessIterator __first, _RandomAccessIterator __middle, _Sentinel __last, _Compare&& __comp) { if (__first == __middle) { return _IterOps<_AlgPolicy>::next(__middle, __last); } std::__make_heap<_AlgPolicy>(__first, __middle, __comp); typename iterator_traits<_RandomAccessIterator>::difference_type __len = __middle - __first; _RandomAccessIterator __i = __middle; for (; __i != __last; ++__i) { if (__comp(*__i, *__first)) { _IterOps<_AlgPolicy>::iter_swap(__i, __first); std::__sift_down<_AlgPolicy>(__first, __comp, __len, __first); } } std::__sort_heap<_AlgPolicy>(std::move(__first), std::move(__middle), __comp); return __i; } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator __partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _Sentinel __last, _Compare& __comp) { if (__first == __middle) return _IterOps<_AlgPolicy>::next(__middle, __last); std::__debug_randomize_range<_AlgPolicy>(__first, __last); auto __last_iter = std::__partial_sort_impl<_AlgPolicy>(__first, __middle, __last, static_cast<__comp_ref_type<_Compare> >(__comp)); std::__debug_randomize_range<_AlgPolicy>(__middle, __last); return __last_iter; } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void partial_sort( _RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp) { static_assert(std::is_copy_constructible<_RandomAccessIterator>::value, "Iterators must be copy constructible."); static_assert(std::is_copy_assignable<_RandomAccessIterator>::value, "Iterators must be copy assignable."); (void)std::__partial_sort<_ClassicAlgPolicy>(std::move(__first), std::move(__middle), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last) { std::partial_sort(__first, __middle, __last, __less<>()); } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/blsr.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/blsr.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned __libcpp_blsr(unsigned __x) noexcept { return __x ^ (__x & -__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned long __libcpp_blsr(unsigned long __x) noexcept { return __x ^ (__x & -__x); } inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned long long __libcpp_blsr(unsigned long long __x) noexcept { return __x ^ (__x & -__x); } }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countl.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countl.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countl.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_clz(unsigned __x) noexcept { return __builtin_clz(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_clz(unsigned long __x) noexcept { return __builtin_clzl(__x); } [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __libcpp_clz(unsigned long long __x) noexcept { return __builtin_clzll(__x); } # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countl.h" 3 template <class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr int __countl_zero(_Tp __t) noexcept { static_assert(__libcpp_is_unsigned_integer<_Tp>::value, "__countl_zero requires an unsigned integer type"); if (__t == 0) return numeric_limits<_Tp>::digits; if (sizeof(_Tp) <= sizeof(unsigned int)) return std::__libcpp_clz(static_cast<unsigned int>(__t)) - (numeric_limits<unsigned int>::digits - numeric_limits<_Tp>::digits); else if (sizeof(_Tp) <= sizeof(unsigned long)) return std::__libcpp_clz(static_cast<unsigned long>(__t)) - (numeric_limits<unsigned long>::digits - numeric_limits<_Tp>::digits); else if (sizeof(_Tp) <= sizeof(unsigned long long)) return std::__libcpp_clz(static_cast<unsigned long long>(__t)) - (numeric_limits<unsigned long long>::digits - numeric_limits<_Tp>::digits); else { int __ret = 0; int __iter = 0; const unsigned int __ulldigits = numeric_limits<unsigned long long>::digits; while (true) { __t = std::__rotl(__t, __ulldigits); if ((__iter = std::__countl_zero(static_cast<unsigned long long>(__t))) != __ulldigits) break; __ret += __iter; } return __ret + __iter; } } # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/countl.h" 3 }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 2 3 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr unsigned __sort3(_ForwardIterator __x, _ForwardIterator __y, _ForwardIterator __z, _Compare __c) { using _Ops = _IterOps<_AlgPolicy>; unsigned __r = 0; if (!__c(*__y, *__x)) { if (!__c(*__z, *__y)) return __r; _Ops::iter_swap(__y, __z); __r = 1; if (__c(*__y, *__x)) { _Ops::iter_swap(__x, __y); __r = 2; } return __r; } if (__c(*__z, *__y)) { _Ops::iter_swap(__x, __z); __r = 1; return __r; } _Ops::iter_swap(__x, __y); __r = 1; if (__c(*__z, *__y)) { _Ops::iter_swap(__y, __z); __r = 2; } return __r; } template <class _AlgPolicy, class _Compare, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort4(_ForwardIterator __x1, _ForwardIterator __x2, _ForwardIterator __x3, _ForwardIterator __x4, _Compare __c) { using _Ops = _IterOps<_AlgPolicy>; std::__sort3<_AlgPolicy, _Compare>(__x1, __x2, __x3, __c); if (__c(*__x4, *__x3)) { _Ops::iter_swap(__x3, __x4); if (__c(*__x3, *__x2)) { _Ops::iter_swap(__x2, __x3); if (__c(*__x2, *__x1)) { _Ops::iter_swap(__x1, __x2); } } } } template <class _AlgPolicy, class _Comp, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort5(_ForwardIterator __x1, _ForwardIterator __x2, _ForwardIterator __x3, _ForwardIterator __x4, _ForwardIterator __x5, _Comp __comp) { using _Ops = _IterOps<_AlgPolicy>; std::__sort4<_AlgPolicy, _Comp>(__x1, __x2, __x3, __x4, __comp); if (__comp(*__x5, *__x4)) { _Ops::iter_swap(__x4, __x5); if (__comp(*__x4, *__x3)) { _Ops::iter_swap(__x3, __x4); if (__comp(*__x3, *__x2)) { _Ops::iter_swap(__x2, __x3); if (__comp(*__x2, *__x1)) { _Ops::iter_swap(__x1, __x2); } } } } } template <class _Tp> struct __is_simple_comparator : false_type {}; template <> struct __is_simple_comparator<__less<>&> : true_type {}; template <class _Tp> struct __is_simple_comparator<less<_Tp>&> : true_type {}; template <class _Tp> struct __is_simple_comparator<greater<_Tp>&> : true_type {}; template <class _Compare, class _Iter, class _Tp = typename iterator_traits<_Iter>::value_type> using __use_branchless_sort = integral_constant<bool, __libcpp_is_contiguous_iterator<_Iter>::value && sizeof(_Tp) <= sizeof(void*) && is_arithmetic<_Tp>::value && __is_simple_comparator<_Compare>::value>; namespace __detail { enum { __block_size = sizeof(uint64_t) * 8 }; } template <class _Compare, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __cond_swap(_RandomAccessIterator __x, _RandomAccessIterator __y, _Compare __c) { using value_type = typename iterator_traits<_RandomAccessIterator>::value_type; bool __r = __c(*__x, *__y); value_type __tmp = __r ? *__x : *__y; *__y = __r ? *__y : *__x; *__x = __tmp; } template <class _Compare, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __partially_sorted_swap(_RandomAccessIterator __x, _RandomAccessIterator __y, _RandomAccessIterator __z, _Compare __c) { using value_type = typename iterator_traits<_RandomAccessIterator>::value_type; bool __r = __c(*__z, *__x); value_type __tmp = __r ? *__z : *__x; *__z = __r ? *__x : *__z; __r = __c(__tmp, *__y); *__x = __r ? *__x : *__y; *__y = __r ? *__y : __tmp; } template <class, class _Compare, class _RandomAccessIterator, __enable_if_t<__use_branchless_sort<_Compare, _RandomAccessIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort3_maybe_branchless( _RandomAccessIterator __x1, _RandomAccessIterator __x2, _RandomAccessIterator __x3, _Compare __c) { std::__cond_swap<_Compare>(__x2, __x3, __c); std::__partially_sorted_swap<_Compare>(__x1, __x2, __x3, __c); } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, __enable_if_t<!__use_branchless_sort<_Compare, _RandomAccessIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort3_maybe_branchless( _RandomAccessIterator __x1, _RandomAccessIterator __x2, _RandomAccessIterator __x3, _Compare __c) { std::__sort3<_AlgPolicy, _Compare>(__x1, __x2, __x3, __c); } template <class, class _Compare, class _RandomAccessIterator, __enable_if_t<__use_branchless_sort<_Compare, _RandomAccessIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort4_maybe_branchless( _RandomAccessIterator __x1, _RandomAccessIterator __x2, _RandomAccessIterator __x3, _RandomAccessIterator __x4, _Compare __c) { std::__cond_swap<_Compare>(__x1, __x3, __c); std::__cond_swap<_Compare>(__x2, __x4, __c); std::__cond_swap<_Compare>(__x1, __x2, __c); std::__cond_swap<_Compare>(__x3, __x4, __c); std::__cond_swap<_Compare>(__x2, __x3, __c); } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, __enable_if_t<!__use_branchless_sort<_Compare, _RandomAccessIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort4_maybe_branchless( _RandomAccessIterator __x1, _RandomAccessIterator __x2, _RandomAccessIterator __x3, _RandomAccessIterator __x4, _Compare __c) { std::__sort4<_AlgPolicy, _Compare>(__x1, __x2, __x3, __x4, __c); } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, __enable_if_t<__use_branchless_sort<_Compare, _RandomAccessIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort5_maybe_branchless( _RandomAccessIterator __x1, _RandomAccessIterator __x2, _RandomAccessIterator __x3, _RandomAccessIterator __x4, _RandomAccessIterator __x5, _Compare __c) { std::__cond_swap<_Compare>(__x1, __x2, __c); std::__cond_swap<_Compare>(__x4, __x5, __c); std::__partially_sorted_swap<_Compare>(__x3, __x4, __x5, __c); std::__cond_swap<_Compare>(__x2, __x5, __c); std::__partially_sorted_swap<_Compare>(__x1, __x3, __x4, __c); std::__partially_sorted_swap<_Compare>(__x2, __x3, __x4, __c); } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, __enable_if_t<!__use_branchless_sort<_Compare, _RandomAccessIterator>::value, int> = 0> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort5_maybe_branchless( _RandomAccessIterator __x1, _RandomAccessIterator __x2, _RandomAccessIterator __x3, _RandomAccessIterator __x4, _RandomAccessIterator __x5, _Compare __c) { std::__sort5<_AlgPolicy, _Compare, _RandomAccessIterator>( std::move(__x1), std::move(__x2), std::move(__x3), std::move(__x4), std::move(__x5), __c); } template <class _AlgPolicy, class _Compare, class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __selection_sort(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { _BidirectionalIterator __lm1 = __last; for (--__lm1; __first != __lm1; ++__first) { _BidirectionalIterator __i = std::__min_element<_Compare>(__first, __last, __comp); if (__i != __first) _IterOps<_AlgPolicy>::iter_swap(__first, __i); } } template <class _AlgPolicy, class _Compare, class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __insertion_sort(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; if (__first == __last) return; _BidirectionalIterator __i = __first; for (++__i; __i != __last; ++__i) { _BidirectionalIterator __j = __i; --__j; if (__comp(*__i, *__j)) { value_type __t(_Ops::__iter_move(__i)); _BidirectionalIterator __k = __j; __j = __i; do { *__j = _Ops::__iter_move(__k); __j = __k; } while (__j != __first && __comp(__t, *--__k)); *__j = std::move(__t); } } } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __insertion_sort_unguarded(_RandomAccessIterator const __first, _RandomAccessIterator __last, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; if (__first == __last) return; const _RandomAccessIterator __leftmost = __first - difference_type(1); (void)__leftmost; for (_RandomAccessIterator __i = __first + difference_type(1); __i != __last; ++__i) { _RandomAccessIterator __j = __i - difference_type(1); if (__comp(*__i, *__j)) { value_type __t(_Ops::__iter_move(__i)); _RandomAccessIterator __k = __j; __j = __i; do { *__j = _Ops::__iter_move(__k); __j = __k; ((void)0); } while (__comp(__t, *--__k)); *__j = std::move(__t); } } } template <class _AlgPolicy, class _Comp, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool __insertion_sort_incomplete(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; switch (__last - __first) { case 0: case 1: return true; case 2: if (__comp(*--__last, *__first)) _Ops::iter_swap(__first, __last); return true; case 3: std::__sort3_maybe_branchless<_AlgPolicy, _Comp>(__first, __first + difference_type(1), --__last, __comp); return true; case 4: std::__sort4_maybe_branchless<_AlgPolicy, _Comp>( __first, __first + difference_type(1), __first + difference_type(2), --__last, __comp); return true; case 5: std::__sort5_maybe_branchless<_AlgPolicy, _Comp>( __first, __first + difference_type(1), __first + difference_type(2), __first + difference_type(3), --__last, __comp); return true; } typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; _RandomAccessIterator __j = __first + difference_type(2); std::__sort3_maybe_branchless<_AlgPolicy, _Comp>(__first, __first + difference_type(1), __j, __comp); const unsigned __limit = 8; unsigned __count = 0; for (_RandomAccessIterator __i = __j + difference_type(1); __i != __last; ++__i) { if (__comp(*__i, *__j)) { value_type __t(_Ops::__iter_move(__i)); _RandomAccessIterator __k = __j; __j = __i; do { *__j = _Ops::__iter_move(__k); __j = __k; } while (__j != __first && __comp(__t, *--__k)); *__j = std::move(__t); if (++__count == __limit) return ++__i == __last; } __j = __i; } return true; } template <class _AlgPolicy, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __swap_bitmap_pos( _RandomAccessIterator __first, _RandomAccessIterator __last, uint64_t& __left_bitset, uint64_t& __right_bitset) { using _Ops = _IterOps<_AlgPolicy>; typedef typename std::iterator_traits<_RandomAccessIterator>::difference_type difference_type; while (__left_bitset != 0 && __right_bitset != 0) { difference_type __tz_left = __libcpp_ctz(__left_bitset); __left_bitset = __libcpp_blsr(__left_bitset); difference_type __tz_right = __libcpp_ctz(__right_bitset); __right_bitset = __libcpp_blsr(__right_bitset); _Ops::iter_swap(__first + __tz_left, __last - __tz_right); } } template <class _Compare, class _RandomAccessIterator, class _ValueType = typename iterator_traits<_RandomAccessIterator>::value_type> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __populate_left_bitset(_RandomAccessIterator __first, _Compare __comp, _ValueType& __pivot, uint64_t& __left_bitset) { _RandomAccessIterator __iter = __first; for (int __j = 0; __j < __detail::__block_size;) { bool __comp_result = !__comp(*__iter, __pivot); __left_bitset |= (static_cast<uint64_t>(__comp_result) << __j); __j++; ++__iter; } } template <class _Compare, class _RandomAccessIterator, class _ValueType = typename iterator_traits<_RandomAccessIterator>::value_type> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __populate_right_bitset(_RandomAccessIterator __lm1, _Compare __comp, _ValueType& __pivot, uint64_t& __right_bitset) { _RandomAccessIterator __iter = __lm1; for (int __j = 0; __j < __detail::__block_size;) { bool __comp_result = __comp(*__iter, __pivot); __right_bitset |= (static_cast<uint64_t>(__comp_result) << __j); __j++; --__iter; } } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, class _ValueType = typename iterator_traits<_RandomAccessIterator>::value_type> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __bitset_partition_partial_blocks( _RandomAccessIterator& __first, _RandomAccessIterator& __lm1, _Compare __comp, _ValueType& __pivot, uint64_t& __left_bitset, uint64_t& __right_bitset) { typedef typename std::iterator_traits<_RandomAccessIterator>::difference_type difference_type; difference_type __remaining_len = __lm1 - __first + 1; difference_type __l_size; difference_type __r_size; if (__left_bitset == 0 && __right_bitset == 0) { __l_size = __remaining_len / 2; __r_size = __remaining_len - __l_size; } else if (__left_bitset == 0) { __l_size = __remaining_len - __detail::__block_size; __r_size = __detail::__block_size; } else { __l_size = __detail::__block_size; __r_size = __remaining_len - __detail::__block_size; } if (__left_bitset == 0) { _RandomAccessIterator __iter = __first; for (int __j = 0; __j < __l_size; __j++) { bool __comp_result = !__comp(*__iter, __pivot); __left_bitset |= (static_cast<uint64_t>(__comp_result) << __j); ++__iter; } } if (__right_bitset == 0) { _RandomAccessIterator __iter = __lm1; for (int __j = 0; __j < __r_size; __j++) { bool __comp_result = __comp(*__iter, __pivot); __right_bitset |= (static_cast<uint64_t>(__comp_result) << __j); --__iter; } } std::__swap_bitmap_pos<_AlgPolicy, _RandomAccessIterator>(__first, __lm1, __left_bitset, __right_bitset); __first += (__left_bitset == 0) ? __l_size : 0; __lm1 -= (__right_bitset == 0) ? __r_size : 0; } template <class _AlgPolicy, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __swap_bitmap_pos_within( _RandomAccessIterator& __first, _RandomAccessIterator& __lm1, uint64_t& __left_bitset, uint64_t& __right_bitset) { using _Ops = _IterOps<_AlgPolicy>; typedef typename std::iterator_traits<_RandomAccessIterator>::difference_type difference_type; if (__left_bitset) { while (__left_bitset != 0) { difference_type __tz_left = __detail::__block_size - 1 - __libcpp_clz(__left_bitset); __left_bitset &= (static_cast<uint64_t>(1) << __tz_left) - 1; _RandomAccessIterator __it = __first + __tz_left; if (__it != __lm1) { _Ops::iter_swap(__it, __lm1); } --__lm1; } __first = __lm1 + difference_type(1); } else if (__right_bitset) { while (__right_bitset != 0) { difference_type __tz_right = __detail::__block_size - 1 - __libcpp_clz(__right_bitset); __right_bitset &= (static_cast<uint64_t>(1) << __tz_right) - 1; _RandomAccessIterator __it = __lm1 - __tz_right; if (__it != __first) { _Ops::iter_swap(__it, __first); } ++__first; } } } # 530 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 3 template <class _AlgPolicy, class _RandomAccessIterator, class _Compare> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) std::pair<_RandomAccessIterator, bool> __bitset_partition(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename std::iterator_traits<_RandomAccessIterator>::value_type value_type; typedef typename std::iterator_traits<_RandomAccessIterator>::difference_type difference_type; ((void)0); const _RandomAccessIterator __begin = __first; const _RandomAccessIterator __end = __last; (void)__end; value_type __pivot(_Ops::__iter_move(__first)); if (__comp(__pivot, *(__last - difference_type(1)))) { do { ++__first; ((void)0); } while (!__comp(__pivot, *__first)); } else { while (++__first < __last && !__comp(__pivot, *__first)) { } } if (__first < __last) { do { ((void)0); --__last; } while (__comp(__pivot, *__last)); } bool __already_partitioned = __first >= __last; if (!__already_partitioned) { _Ops::iter_swap(__first, __last); ++__first; } _RandomAccessIterator __lm1 = __last - difference_type(1); uint64_t __left_bitset = 0; uint64_t __right_bitset = 0; while (__lm1 - __first >= 2 * __detail::__block_size - 1) { if (__left_bitset == 0) std::__populate_left_bitset<_Compare>(__first, __comp, __pivot, __left_bitset); if (__right_bitset == 0) std::__populate_right_bitset<_Compare>(__lm1, __comp, __pivot, __right_bitset); std::__swap_bitmap_pos<_AlgPolicy, _RandomAccessIterator>(__first, __lm1, __left_bitset, __right_bitset); __first += (__left_bitset == 0) ? difference_type(__detail::__block_size) : difference_type(0); __lm1 -= (__right_bitset == 0) ? difference_type(__detail::__block_size) : difference_type(0); } std::__bitset_partition_partial_blocks<_AlgPolicy, _Compare>( __first, __lm1, __comp, __pivot, __left_bitset, __right_bitset); std::__swap_bitmap_pos_within<_AlgPolicy>(__first, __lm1, __left_bitset, __right_bitset); _RandomAccessIterator __pivot_pos = __first - difference_type(1); if (__begin != __pivot_pos) { *__begin = _Ops::__iter_move(__pivot_pos); } *__pivot_pos = std::move(__pivot); return std::make_pair(__pivot_pos, __already_partitioned); } template <class _AlgPolicy, class _RandomAccessIterator, class _Compare> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) std::pair<_RandomAccessIterator, bool> __partition_with_equals_on_right(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; typedef typename std::iterator_traits<_RandomAccessIterator>::value_type value_type; ((void)0); const _RandomAccessIterator __begin = __first; const _RandomAccessIterator __end = __last; (void)__end; value_type __pivot(_Ops::__iter_move(__first)); do { ++__first; ((void)0); } while (__comp(*__first, __pivot)); if (__begin == __first - difference_type(1)) { while (__first < __last && !__comp(*--__last, __pivot)) ; } else { do { ((void)0); --__last; } while (!__comp(*__last, __pivot)); } bool __already_partitioned = __first >= __last; while (__first < __last) { _Ops::iter_swap(__first, __last); do { ++__first; ((void)0); } while (__comp(*__first, __pivot)); do { ((void)0); --__last; } while (!__comp(*__last, __pivot)); } _RandomAccessIterator __pivot_pos = __first - difference_type(1); if (__begin != __pivot_pos) { *__begin = _Ops::__iter_move(__pivot_pos); } *__pivot_pos = std::move(__pivot); return std::make_pair(__pivot_pos, __already_partitioned); } template <class _AlgPolicy, class _RandomAccessIterator, class _Compare> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator __partition_with_equals_on_left(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; typedef typename std::iterator_traits<_RandomAccessIterator>::value_type value_type; _RandomAccessIterator __begin = __first; const _RandomAccessIterator __end = __last; (void)__end; value_type __pivot(_Ops::__iter_move(__first)); if (__comp(__pivot, *(__last - difference_type(1)))) { do { ++__first; ((void)0); } while (!__comp(__pivot, *__first)); } else { while (++__first < __last && !__comp(__pivot, *__first)) { } } if (__first < __last) { do { ((void)0); --__last; } while (__comp(__pivot, *__last)); } while (__first < __last) { _Ops::iter_swap(__first, __last); do { ++__first; ((void)0); } while (!__comp(__pivot, *__first)); do { ((void)0); --__last; } while (__comp(__pivot, *__last)); } _RandomAccessIterator __pivot_pos = __first - difference_type(1); if (__begin != __pivot_pos) { *__begin = _Ops::__iter_move(__pivot_pos); } *__pivot_pos = std::move(__pivot); return __first; } # 754 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 3 template <class _AlgPolicy, class _Compare, class _RandomAccessIterator, bool _UseBitSetPartition> void __introsort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __depth, bool __leftmost = true) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; using _Comp_ref = __comp_ref_type<_Compare>; constexpr difference_type __limit = 24; constexpr difference_type __ninther_threshold = 128; while (true) { difference_type __len = __last - __first; switch (__len) { case 0: case 1: return; case 2: if (__comp(*--__last, *__first)) _Ops::iter_swap(__first, __last); return; case 3: std::__sort3_maybe_branchless<_AlgPolicy, _Compare>(__first, __first + difference_type(1), --__last, __comp); return; case 4: std::__sort4_maybe_branchless<_AlgPolicy, _Compare>( __first, __first + difference_type(1), __first + difference_type(2), --__last, __comp); return; case 5: std::__sort5_maybe_branchless<_AlgPolicy, _Compare>( __first, __first + difference_type(1), __first + difference_type(2), __first + difference_type(3), --__last, __comp); return; } if (__len < __limit) { if (__leftmost) { std::__insertion_sort<_AlgPolicy, _Compare>(__first, __last, __comp); } else { std::__insertion_sort_unguarded<_AlgPolicy, _Compare>(__first, __last, __comp); } return; } if (__depth == 0) { std::__partial_sort<_AlgPolicy, _Compare>(__first, __last, __last, __comp); return; } --__depth; { difference_type __half_len = __len / 2; if (__len > __ninther_threshold) { std::__sort3<_AlgPolicy, _Compare>(__first, __first + __half_len, __last - difference_type(1), __comp); std::__sort3<_AlgPolicy, _Compare>( __first + difference_type(1), __first + (__half_len - 1), __last - difference_type(2), __comp); std::__sort3<_AlgPolicy, _Compare>( __first + difference_type(2), __first + (__half_len + 1), __last - difference_type(3), __comp); std::__sort3<_AlgPolicy, _Compare>( __first + (__half_len - 1), __first + __half_len, __first + (__half_len + 1), __comp); _Ops::iter_swap(__first, __first + __half_len); } else { std::__sort3<_AlgPolicy, _Compare>(__first + __half_len, __first, __last - difference_type(1), __comp); } } # 834 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 3 if (!__leftmost && !__comp(*(__first - difference_type(1)), *__first)) { __first = std::__partition_with_equals_on_left<_AlgPolicy, _RandomAccessIterator, _Comp_ref>( __first, __last, _Comp_ref(__comp)); continue; } auto __ret = _UseBitSetPartition ? std::__bitset_partition<_AlgPolicy, _RandomAccessIterator, _Compare>(__first, __last, __comp) : std::__partition_with_equals_on_right<_AlgPolicy, _RandomAccessIterator, _Compare>( __first, __last, __comp); _RandomAccessIterator __i = __ret.first; if (__ret.second) { bool __fs = std::__insertion_sort_incomplete<_AlgPolicy, _Compare>(__first, __i, __comp); if (std::__insertion_sort_incomplete<_AlgPolicy, _Compare>(__i + difference_type(1), __last, __comp)) { if (__fs) return; __last = __i; continue; } else { if (__fs) { __first = ++__i; continue; } } } std::__introsort<_AlgPolicy, _Compare, _RandomAccessIterator, _UseBitSetPartition>( __first, __i, __comp, __depth, __leftmost); __leftmost = false; __first = ++__i; } } template <typename _Number> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Number __log2i(_Number __n) { if (__n == 0) return 0; if (sizeof(__n) <= sizeof(unsigned)) return sizeof(unsigned) * 8 - 1 - __libcpp_clz(static_cast<unsigned>(__n)); if (sizeof(__n) <= sizeof(unsigned long)) return sizeof(unsigned long) * 8 - 1 - __libcpp_clz(static_cast<unsigned long>(__n)); if (sizeof(__n) <= sizeof(unsigned long long)) return sizeof(unsigned long long) * 8 - 1 - __libcpp_clz(static_cast<unsigned long long>(__n)); _Number __log2 = 0; while (__n > 1) { __log2++; __n >>= 1; } return __log2; } template <class _Comp, class _RandomAccessIterator> void __sort(_RandomAccessIterator, _RandomAccessIterator, _Comp); extern template __attribute__((__visibility__("default"))) void __sort<__less<char>&, char*>(char*, char*, __less<char>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<short>&, short*>(short*, short*, __less<short>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<int>&, int*>(int*, int*, __less<int>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<long>&, long*>(long*, long*, __less<long>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<long long>&, long long*>(long long*, long long*, __less<long long>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<unsigned long long>&, unsigned long long*>( unsigned long long*, unsigned long long*, __less<unsigned long long>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<float>&, float*>(float*, float*, __less<float>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<double>&, double*>(double*, double*, __less<double>&); extern template __attribute__((__visibility__("default"))) void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&); template <class _AlgPolicy, class _RandomAccessIterator, class _Comp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort_dispatch(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp& __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; difference_type __depth_limit = 2 * std::__log2i(__last - __first); std::__introsort<_AlgPolicy, _Comp&, _RandomAccessIterator, __use_branchless_sort<_Comp, _RandomAccessIterator>::value>(__first, __last, __comp, __depth_limit); } template <class _Type, class... _Options> using __is_any_of = _Or<is_same<_Type, _Options>...>; template <class _Type> using __sort_is_specialized_in_library = __is_any_of< _Type, char, wchar_t, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double>; template <class _AlgPolicy, class _Type, __enable_if_t<__sort_is_specialized_in_library<_Type>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort_dispatch(_Type* __first, _Type* __last, __less<>&) { __less<_Type> __comp; std::__sort<__less<_Type>&, _Type*>(__first, __last, __comp); } template <class _AlgPolicy, class _Type, __enable_if_t<__sort_is_specialized_in_library<_Type>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort_dispatch(_Type* __first, _Type* __last, less<_Type>&) { __less<_Type> __comp; std::__sort<__less<_Type>&, _Type*>(__first, __last, __comp); } template <class _AlgPolicy, class _Type, __enable_if_t<__sort_is_specialized_in_library<_Type>::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort_dispatch(_Type* __first, _Type* __last, less<>&) { __less<_Type> __comp; std::__sort<__less<_Type>&, _Type*>(__first, __last, __comp); } # 984 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sort.h" 3 template <class _AlgPolicy, class _RandomAccessIterator, class _Comp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __sort_impl(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp& __comp) { std::__debug_randomize_range<_AlgPolicy>(__first, __last); if (__libcpp_is_constant_evaluated()) { std::__partial_sort<_AlgPolicy>( std::__unwrap_iter(__first), std::__unwrap_iter(__last), std::__unwrap_iter(__last), __comp); } else { std::__sort_dispatch<_AlgPolicy>(std::__unwrap_iter(__first), std::__unwrap_iter(__last), __comp); } std::__check_strict_weak_ordering_sorted(std::__unwrap_iter(__first), std::__unwrap_iter(__last), __comp); } template <class _RandomAccessIterator, class _Comp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp __comp) { std::__sort_impl<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { std::sort(__first, __last, __less<>()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/nth_element.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/nth_element.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr bool __nth_element_find_guard( _RandomAccessIterator& __i, _RandomAccessIterator& __j, _RandomAccessIterator __m, _Compare __comp) { while (true) { if (__i == --__j) { return false; } if (__comp(*__j, *__m)) { return true; } } } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr void __nth_element( _RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; const difference_type __limit = 7; while (true) { if (__nth == __last) return; difference_type __len = __last - __first; switch (__len) { case 0: case 1: return; case 2: if (__comp(*--__last, *__first)) _Ops::iter_swap(__first, __last); return; case 3: { _RandomAccessIterator __m = __first; std::__sort3<_AlgPolicy, _Compare>(__first, ++__m, --__last, __comp); return; } } if (__len <= __limit) { std::__selection_sort<_AlgPolicy, _Compare>(__first, __last, __comp); return; } _RandomAccessIterator __m = __first + __len / 2; _RandomAccessIterator __lm1 = __last; unsigned __n_swaps = std::__sort3<_AlgPolicy, _Compare>(__first, __m, --__lm1, __comp); _RandomAccessIterator __i = __first; _RandomAccessIterator __j = __lm1; if (!__comp(*__i, *__m)) { if (std::__nth_element_find_guard<_Compare>(__i, __j, __m, __comp)) { _Ops::iter_swap(__i, __j); ++__n_swaps; } else { ++__i; __j = __last; if (!__comp(*__first, *--__j)) { while (true) { if (__i == __j) { return; } else if (__comp(*__first, *__i)) { _Ops::iter_swap(__i, __j); ++__n_swaps; ++__i; break; } ++__i; } } if (__i == __j) { return; } while (true) { while (!__comp(*__first, *__i)) { ++__i; ((void)0); } do { ((void)0); --__j; } while (__comp(*__first, *__j)); if (__i >= __j) break; _Ops::iter_swap(__i, __j); ++__n_swaps; ++__i; } if (__nth < __i) { return; } __first = __i; continue; } } ++__i; if (__i < __j) { while (true) { while (__comp(*__i, *__m)) { ++__i; ((void)0); } do { ((void)0); --__j; } while (!__comp(*__j, *__m)); if (__i >= __j) break; _Ops::iter_swap(__i, __j); ++__n_swaps; if (__m == __i) __m = __j; ++__i; } } if (__i != __m && __comp(*__m, *__i)) { _Ops::iter_swap(__i, __m); ++__n_swaps; } if (__nth == __i) return; if (__n_swaps == 0) { if (__nth < __i) { __j = __m = __first; while (true) { if (++__j == __i) { return; } if (__comp(*__j, *__m)) { break; } __m = __j; } } else { __j = __m = __i; while (true) { if (++__j == __last) { return; } if (__comp(*__j, *__m)) { break; } __m = __j; } } } if (__nth < __i) { __last = __i; } else { __first = ++__i; } } } template <class _AlgPolicy, class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __nth_element_impl( _RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare& __comp) { if (__nth == __last) return; std::__debug_randomize_range<_AlgPolicy>(__first, __last); std::__nth_element<_AlgPolicy, __comp_ref_type<_Compare> >(__first, __nth, __last, __comp); std::__debug_randomize_range<_AlgPolicy>(__first, __nth); if (__nth != __last) { std::__debug_randomize_range<_AlgPolicy>(++__nth, __last); } } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp) { std::__nth_element_impl<_ClassicAlgPolicy>(std::move(__first), std::move(__nth), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last) { std::nth_element(std::move(__first), std::move(__nth), std::move(__last), __less<>()); } }} # 1848 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort_copy.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort_copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_projected.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/make_projected.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Pred, class _Proj> struct _ProjectedPred { _Pred& __pred; _Proj& __proj; constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ProjectedPred(_Pred& __pred_arg, _Proj& __proj_arg) : __pred(__pred_arg), __proj(__proj_arg) {} template <class _Tp> typename __invoke_of<_Pred&, decltype(std::__invoke(std::declval<_Proj&>(), std::declval<_Tp>())) >:: type constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) operator()(_Tp&& __v) const { return std::__invoke(__pred, std::__invoke(__proj, std::forward<_Tp>(__v))); } template <class _T1, class _T2> typename __invoke_of<_Pred&, decltype(std::__invoke(std::declval<_Proj&>(), std::declval<_T1>())), decltype(std::__invoke(std::declval<_Proj&>(), std::declval<_T2>())) >::type constexpr __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) operator()(_T1&& __lhs, _T2&& __rhs) const { return std::__invoke( __pred, std::__invoke(__proj, std::forward<_T1>(__lhs)), std::__invoke(__proj, std::forward<_T2>(__rhs))); } }; template < class _Pred, class _Proj, __enable_if_t<!(!is_member_pointer<__decay_t<_Pred> >::value && __is_identity<__decay_t<_Proj> >::value), int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _ProjectedPred<_Pred, _Proj> __make_projected(_Pred& __pred, _Proj& __proj) { return _ProjectedPred<_Pred, _Proj>(__pred, __proj); } template < class _Pred, class _Proj, __enable_if_t<!is_member_pointer<__decay_t<_Pred> >::value && __is_identity<__decay_t<_Proj> >::value, int> = 0> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Pred& __make_projected(_Pred& __pred, _Proj&) { return __pred; } }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort_copy.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partial_sort_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _InputIterator, class _Sentinel1, class _RandomAccessIterator, class _Sentinel2, class _Proj1, class _Proj2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _RandomAccessIterator> __partial_sort_copy( _InputIterator __first, _Sentinel1 __last, _RandomAccessIterator __result_first, _Sentinel2 __result_last, _Compare&& __comp, _Proj1&& __proj1, _Proj2&& __proj2) { _RandomAccessIterator __r = __result_first; auto&& __projected_comp = std::__make_projected(__comp, __proj2); if (__r != __result_last) { for (; __first != __last && __r != __result_last; ++__first, (void)++__r) *__r = *__first; std::__make_heap<_AlgPolicy>(__result_first, __r, __projected_comp); typename iterator_traits<_RandomAccessIterator>::difference_type __len = __r - __result_first; for (; __first != __last; ++__first) if (std::__invoke(__comp, std::__invoke(__proj1, *__first), std::__invoke(__proj2, *__result_first))) { *__result_first = *__first; std::__sift_down<_AlgPolicy>(__result_first, __projected_comp, __len, __result_first); } std::__sort_heap<_AlgPolicy>(__result_first, __r, __projected_comp); } return pair<_InputIterator, _RandomAccessIterator>( _IterOps<_AlgPolicy>::next(std::move(__first), std::move(__last)), std::move(__r)); } template <class _InputIterator, class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator partial_sort_copy( _InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { static_assert( __is_callable<_Compare, decltype(*__first), decltype(*__result_first)>::value, "Comparator has to be callable"); auto __result = std::__partial_sort_copy<_ClassicAlgPolicy>( __first, __last, __result_first, __result_last, static_cast<__comp_ref_type<_Compare> >(__comp), __identity(), __identity()); return __result.second; } template <class _InputIterator, class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator partial_sort_copy( _InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) { return std::partial_sort_copy(__first, __last, __result_first, __result_last, __less<>()); } }} # 1850 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partition.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partition.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Predicate, class _AlgPolicy, class _ForwardIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator, _ForwardIterator> __partition_impl(_ForwardIterator __first, _Sentinel __last, _Predicate __pred, forward_iterator_tag) { while (true) { if (__first == __last) return std::make_pair(std::move(__first), std::move(__first)); if (!__pred(*__first)) break; ++__first; } _ForwardIterator __p = __first; while (++__p != __last) { if (__pred(*__p)) { _IterOps<_AlgPolicy>::iter_swap(__first, __p); ++__first; } } return std::make_pair(std::move(__first), std::move(__p)); } template <class _Predicate, class _AlgPolicy, class _BidirectionalIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_BidirectionalIterator, _BidirectionalIterator> __partition_impl(_BidirectionalIterator __first, _Sentinel __sentinel, _Predicate __pred, bidirectional_iterator_tag) { _BidirectionalIterator __original_last = _IterOps<_AlgPolicy>::next(__first, __sentinel); _BidirectionalIterator __last = __original_last; while (true) { while (true) { if (__first == __last) return std::make_pair(std::move(__first), std::move(__original_last)); if (!__pred(*__first)) break; ++__first; } do { if (__first == --__last) return std::make_pair(std::move(__first), std::move(__original_last)); } while (!__pred(*__last)); _IterOps<_AlgPolicy>::iter_swap(__first, __last); ++__first; } } template <class _AlgPolicy, class _ForwardIterator, class _Sentinel, class _Predicate, class _IterCategory> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator, _ForwardIterator> __partition(_ForwardIterator __first, _Sentinel __last, _Predicate&& __pred, _IterCategory __iter_category) { return std::__partition_impl<__remove_cvref_t<_Predicate>&, _AlgPolicy>( std::move(__first), std::move(__last), __pred, __iter_category); } template <class _ForwardIterator, class _Predicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { using _IterCategory = typename iterator_traits<_ForwardIterator>::iterator_category; auto __result = std::__partition<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __pred, _IterCategory()); return __result.first; } }} # 1851 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partition_copy.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partition_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator1, class _OutputIterator2, class _Predicate> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_OutputIterator1, _OutputIterator2> partition_copy( _InputIterator __first, _InputIterator __last, _OutputIterator1 __out_true, _OutputIterator2 __out_false, _Predicate __pred) { for (; __first != __last; ++__first) { if (__pred(*__first)) { *__out_true = *__first; ++__out_true; } else { *__out_false = *__first; ++__out_false; } } return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false); } }} # 1852 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partition_point.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/partition_point.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Predicate> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type; difference_type __len = std::distance(__first, __last); while (__len != 0) { difference_type __l2 = std::__half_positive(__len); _ForwardIterator __m = __first; std::advance(__m, __l2); if (__pred(*__m)) { __first = ++__m; __len -= __l2 + 1; } else __len = __l2; } return __first; } }} # 1853 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/prev_permutation.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/prev_permutation.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _BidirectionalIterator, class _Sentinel> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_BidirectionalIterator, bool> __prev_permutation(_BidirectionalIterator __first, _Sentinel __last, _Compare&& __comp) { using _Result = pair<_BidirectionalIterator, bool>; _BidirectionalIterator __last_iter = _IterOps<_AlgPolicy>::next(__first, __last); _BidirectionalIterator __i = __last_iter; if (__first == __last || __first == --__i) return _Result(std::move(__last_iter), false); while (true) { _BidirectionalIterator __ip1 = __i; if (__comp(*__ip1, *--__i)) { _BidirectionalIterator __j = __last_iter; while (!__comp(*--__j, *__i)) ; _IterOps<_AlgPolicy>::iter_swap(__i, __j); std::__reverse<_AlgPolicy>(__ip1, __last_iter); return _Result(std::move(__last_iter), true); } if (__i == __first) { std::__reverse<_AlgPolicy>(__first, __last_iter); return _Result(std::move(__last_iter), false); } } } template <class _BidirectionalIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp) { return std::__prev_permutation<_ClassicAlgPolicy>( std::move(__first), std::move(__last), static_cast<__comp_ref_type<_Compare> >(__comp)) .second; } template <class _BidirectionalIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) bool prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last) { return std::prev_permutation(__first, __last, __less<>()); } }} # 1855 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_any_all_none_of.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_any_all_none_of.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_find.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backend.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backend.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 1 3 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/any_of.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/any_of.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/backend.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/backend.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/thread.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/thread.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/empty.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__utility/empty.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __empty {}; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/thread.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/thread.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/thread.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/backend.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/backend.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { struct __cpu_backend_tag {}; inline constexpr size_t __lane_size = 64; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/any_of.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_execution_policy.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__type_traits/is_execution_policy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class> inline constexpr bool is_execution_policy_v = false; template <class> inline constexpr bool __is_unsequenced_execution_policy_impl = false; template <class _Tp> inline constexpr bool __is_unsequenced_execution_policy_v = __is_unsequenced_execution_policy_impl<__remove_cvref_t<_Tp>>; template <class> inline constexpr bool __is_parallel_execution_policy_impl = false; template <class _Tp> inline constexpr bool __is_parallel_execution_policy_v = __is_parallel_execution_policy_impl<__remove_cvref_t<_Tp>>; namespace execution { struct __disable_user_instantiations_tag { explicit __disable_user_instantiations_tag() = default; }; } template <class _ExecutionPolicy> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) auto __remove_parallel_policy(const _ExecutionPolicy& = _ExecutionPolicy{execution::__disable_user_instantiations_tag{}}); template <class _ExecutionPolicy> using __remove_parallel_policy_t = decltype(std::__remove_parallel_policy<_ExecutionPolicy>()); }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/any_of.h" 2 3 # 59 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/fill.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/fill.h" 3 # 61 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/find_if.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/find_if.h" 3 # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/for_each.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/for_each.h" 3 # 63 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/merge.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/merge.h" 3 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/stable_sort.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/stable_sort.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_sort.h" 1 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_sort.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Compare, class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __insertion_sort_move( _BidirectionalIterator __first1, _BidirectionalIterator __last1, typename iterator_traits<_BidirectionalIterator>::value_type* __first2, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; if (__first1 != __last1) { __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h(__first2, __d); value_type* __last2 = __first2; ::new ((void*)__last2) value_type(_Ops::__iter_move(__first1)); __d.template __incr<value_type>(); for (++__last2; ++__first1 != __last1; ++__last2) { value_type* __j2 = __last2; value_type* __i2 = __j2; if (__comp(*__first1, *--__i2)) { ::new ((void*)__j2) value_type(std::move(*__i2)); __d.template __incr<value_type>(); for (--__j2; __i2 != __first2 && __comp(*__first1, *--__i2); --__j2) *__j2 = std::move(*__i2); *__j2 = _Ops::__iter_move(__first1); } else { ::new ((void*)__j2) value_type(_Ops::__iter_move(__first1)); __d.template __incr<value_type>(); } } __h.release(); } } template <class _AlgPolicy, class _Compare, class _InputIterator1, class _InputIterator2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __merge_move_construct( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, typename iterator_traits<_InputIterator1>::value_type* __result, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_InputIterator1>::value_type value_type; __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h(__result, __d); for (; true; ++__result) { if (__first1 == __last1) { for (; __first2 != __last2; ++__first2, (void)++__result, __d.template __incr<value_type>()) ::new ((void*)__result) value_type(_Ops::__iter_move(__first2)); __h.release(); return; } if (__first2 == __last2) { for (; __first1 != __last1; ++__first1, (void)++__result, __d.template __incr<value_type>()) ::new ((void*)__result) value_type(_Ops::__iter_move(__first1)); __h.release(); return; } if (__comp(*__first2, *__first1)) { ::new ((void*)__result) value_type(_Ops::__iter_move(__first2)); __d.template __incr<value_type>(); ++__first2; } else { ::new ((void*)__result) value_type(_Ops::__iter_move(__first1)); __d.template __incr<value_type>(); ++__first1; } } } template <class _AlgPolicy, class _Compare, class _InputIterator1, class _InputIterator2, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __merge_move_assign( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { using _Ops = _IterOps<_AlgPolicy>; for (; __first1 != __last1; ++__result) { if (__first2 == __last2) { for (; __first1 != __last1; ++__first1, (void)++__result) *__result = _Ops::__iter_move(__first1); return; } if (__comp(*__first2, *__first1)) { *__result = _Ops::__iter_move(__first2); ++__first2; } else { *__result = _Ops::__iter_move(__first1); ++__first1; } } for (; __first2 != __last2; ++__first2, (void)++__result) *__result = _Ops::__iter_move(__first2); } template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> void __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len, typename iterator_traits<_RandomAccessIterator>::value_type* __buff, ptrdiff_t __buff_size); template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> void __stable_sort_move(_RandomAccessIterator __first1, _RandomAccessIterator __last1, _Compare __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len, typename iterator_traits<_RandomAccessIterator>::value_type* __first2) { using _Ops = _IterOps<_AlgPolicy>; typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; switch (__len) { case 0: return; case 1: ::new ((void*)__first2) value_type(_Ops::__iter_move(__first1)); return; case 2: __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h2(__first2, __d); if (__comp(*--__last1, *__first1)) { ::new ((void*)__first2) value_type(_Ops::__iter_move(__last1)); __d.template __incr<value_type>(); ++__first2; ::new ((void*)__first2) value_type(_Ops::__iter_move(__first1)); } else { ::new ((void*)__first2) value_type(_Ops::__iter_move(__first1)); __d.template __incr<value_type>(); ++__first2; ::new ((void*)__first2) value_type(_Ops::__iter_move(__last1)); } __h2.release(); return; } if (__len <= 8) { std::__insertion_sort_move<_AlgPolicy, _Compare>(__first1, __last1, __first2, __comp); return; } typename iterator_traits<_RandomAccessIterator>::difference_type __l2 = __len / 2; _RandomAccessIterator __m = __first1 + __l2; std::__stable_sort<_AlgPolicy, _Compare>(__first1, __m, __comp, __l2, __first2, __l2); std::__stable_sort<_AlgPolicy, _Compare>(__m, __last1, __comp, __len - __l2, __first2 + __l2, __len - __l2); std::__merge_move_construct<_AlgPolicy, _Compare>(__first1, __m, __m, __last1, __first2, __comp); } template <class _Tp> struct __stable_sort_switch { static const unsigned value = 128 * is_trivially_copy_assignable<_Tp>::value; }; template <class _AlgPolicy, class _Compare, class _RandomAccessIterator> void __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp, typename iterator_traits<_RandomAccessIterator>::difference_type __len, typename iterator_traits<_RandomAccessIterator>::value_type* __buff, ptrdiff_t __buff_size) { typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type; typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; switch (__len) { case 0: case 1: return; case 2: if (__comp(*--__last, *__first)) _IterOps<_AlgPolicy>::iter_swap(__first, __last); return; } if (__len <= static_cast<difference_type>(__stable_sort_switch<value_type>::value)) { std::__insertion_sort<_AlgPolicy, _Compare>(__first, __last, __comp); return; } typename iterator_traits<_RandomAccessIterator>::difference_type __l2 = __len / 2; _RandomAccessIterator __m = __first + __l2; if (__len <= __buff_size) { __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h2(__buff, __d); std::__stable_sort_move<_AlgPolicy, _Compare>(__first, __m, __comp, __l2, __buff); __d.__set(__l2, (value_type*)nullptr); std::__stable_sort_move<_AlgPolicy, _Compare>(__m, __last, __comp, __len - __l2, __buff + __l2); __d.__set(__len, (value_type*)nullptr); std::__merge_move_assign<_AlgPolicy, _Compare>( __buff, __buff + __l2, __buff + __l2, __buff + __len, __first, __comp); return; } std::__stable_sort<_AlgPolicy, _Compare>(__first, __m, __comp, __l2, __buff, __buff_size); std::__stable_sort<_AlgPolicy, _Compare>(__m, __last, __comp, __len - __l2, __buff, __buff_size); std::__inplace_merge<_AlgPolicy>(__first, __m, __last, __comp, __l2, __len - __l2, __buff, __buff_size); } template <class _AlgPolicy, class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void __stable_sort_impl(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare& __comp) { using value_type = typename iterator_traits<_RandomAccessIterator>::value_type; using difference_type = typename iterator_traits<_RandomAccessIterator>::difference_type; difference_type __len = __last - __first; pair<value_type*, ptrdiff_t> __buf(0, 0); unique_ptr<value_type, __return_temporary_buffer> __h; if (__len > static_cast<difference_type>(__stable_sort_switch<value_type>::value)) { #pragma GCC diagnostic push # 245 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_sort.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 245 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_sort.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" __buf = std::get_temporary_buffer<value_type>(__len); #pragma GCC diagnostic pop __h.reset(__buf.first); } std::__stable_sort<_AlgPolicy, __comp_ref_type<_Compare> >(__first, __last, __comp, __len, __buf.first, __buf.second); std::__check_strict_weak_ordering_sorted(__first, __last, __comp); } template <class _RandomAccessIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { std::__stable_sort_impl<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __comp); } template <class _RandomAccessIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { std::stable_sort(__first, __last, __less<>()); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/stable_sort.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/stable_sort.h" 3 # 65 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/transform.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/transform.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator, class _UnaryOperation> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __op) { for (; __first != __last; ++__first, (void)++__result) *__result = __op(*__first); return __result; } template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _BinaryOperation> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator transform( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) { for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) *__result = __binary_op(*__first1, *__first2); return __result; } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform.h" 3 # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform_reduce.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform_reduce.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__numeric/transform_reduce.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__numeric/transform_reduce.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _Tp, class _BinaryOp, class _UnaryOp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp transform_reduce(_InputIterator __first, _InputIterator __last, _Tp __init, _BinaryOp __b, _UnaryOp __u) { for (; __first != __last; ++__first) __init = __b(std::move(__init), __u(*__first)); return __init; } template <class _InputIterator1, class _InputIterator2, class _Tp, class _BinaryOp1, class _BinaryOp2> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp transform_reduce( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init, _BinaryOp1 __b1, _BinaryOp2 __b2) { for (; __first1 != __last1; ++__first1, (void)++__first2) __init = __b1(std::move(__init), __b2(*__first1, *__first2)); return __init; } template <class _InputIterator1, class _InputIterator2, class _Tp> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _Tp transform_reduce(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _Tp __init) { return std::transform_reduce(__first1, __last1, __first2, std::move(__init), std::plus<>(), std::multiplies<>()); } }} # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform_reduce.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backends/transform_reduce.h" 3 # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h" 2 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backend.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/execution" 1 3 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/execution" 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backend.h" 2 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_backend.h" 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_find.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_frontend_dispatch.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_frontend_dispatch.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _SpecializedImpl, class _GenericImpl, class... _Args> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) decltype(auto) __pstl_frontend_dispatch(_SpecializedImpl __specialized_impl, _GenericImpl __generic_impl, _Args&&... __args) { if constexpr (__is_callable<_SpecializedImpl, _Args...>::value) { return __specialized_impl(std::forward<_Args>(__args)...); } else { return __generic_impl(std::forward<_Args>(__args)...); } } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_find.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/cpp17_iterator_concepts.h" 1 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__iterator/cpp17_iterator_concepts.h" 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_find.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_find.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_any_all_none_of.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_any_all_none_of.h" 3 # 1856 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_copy.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_transform.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_transform.h" 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_copy.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_copy.h" 3 # 1857 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_count.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_count.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_for_each.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_for_each.h" 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_count.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__numeric/pstl_transform_reduce.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__numeric/pstl_transform_reduce.h" 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_count.h" 2 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_count.h" 3 # 1858 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_equal.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_equal.h" 3 # 1859 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_fill.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_fill.h" 3 # 1860 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_generate.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_generate.h" 3 # 1863 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_is_partitioned.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_is_partitioned.h" 3 # 1864 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_merge.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_merge.h" 3 # 1865 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_move.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_move.h" 3 # 1866 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_replace.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_replace.h" 3 # 1867 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_rotate_copy.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_rotate_copy.h" 3 # 1868 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_sort.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_sort.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_stable_sort.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_stable_sort.h" 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_sort.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/pstl_sort.h" 3 # 1869 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_adjacent_find.h" 2 3 # 1873 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_all_of.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_all_of.h" 3 # 1874 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_any_of.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_any_of.h" 3 # 1875 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_binary_search.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_binary_search.h" 3 # 1876 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_clamp.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_clamp.h" 3 # 1877 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_contains.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_contains.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_if.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_if.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_contains.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_contains.h" 3 # 1878 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy.h" 3 # 1879 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_backward.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_backward.h" 3 # 1880 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_if.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_if.h" 3 # 1881 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_n.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 74 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_copy_n.h" 3 }} # 1882 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_count.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_count.h" 3 # 1883 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_count_if.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_count_if.h" 3 # 1884 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_ends_with.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_ends_with.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_equal.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_equal.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_ends_with.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_starts_with.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_starts_with.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_mismatch.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_mismatch.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_mismatch.h" 3 }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_starts_with.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_starts_with.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_ends_with.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_ends_with.h" 3 # 1885 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_equal_range.h" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_equal_range.h" 3 # 1887 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_fill.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_fill.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_fill_n.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_fill_n.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_fill.h" 2 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_fill.h" 3 # 1888 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_end.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_end.h" 3 # 1891 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_first_of.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_first_of.h" 3 # 1892 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_if_not.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_find_if_not.h" 3 # 1894 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_for_each.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_for_each.h" 3 # 1895 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_for_each_n.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_for_each_n.h" 3 # 1896 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_generate.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_generate.h" 3 # 1897 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_generate_n.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_generate_n.h" 3 # 1898 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_includes.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_includes.h" 3 # 1899 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h" 1 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_inplace_merge.h" 3 # 1900 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_heap.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_heap.h" 3 # 1901 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_heap_until.h" 3 # 1902 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_partitioned.h" 3 # 1903 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_permutation.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_permutation.h" 3 # 1904 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_sorted.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_sorted.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_sorted_until.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_sorted.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_is_sorted.h" 3 # 1905 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_lexicographical_compare.h" 3 # 1907 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_lower_bound.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_lower_bound.h" 3 # 1908 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_make_heap.h" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_make_heap.h" 3 # 1909 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_max.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_max.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_min_element.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_min_element.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_max.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_max.h" 3 # 1910 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_max_element.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_max_element.h" 3 # 1911 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_merge.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_merge.h" 3 # 1912 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_min.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_min.h" 3 # 1913 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_minmax.h" 1 3 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_minmax.h" 3 # 1915 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_minmax_element.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_minmax_element.h" 3 # 1916 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_move.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_move.h" 3 # 1918 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_move_backward.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_move_backward.h" 3 # 1919 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_next_permutation.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_next_permutation.h" 3 # 1920 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_none_of.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_none_of.h" 3 # 1921 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_nth_element.h" 1 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_nth_element.h" 3 # 1922 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partial_sort.h" 1 3 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partial_sort.h" 3 # 1923 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h" 1 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partial_sort_copy.h" 3 # 1924 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partition.h" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partition.h" 3 # 1925 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partition_copy.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partition_copy.h" 3 # 1926 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partition_point.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_partition_point.h" 3 # 1927 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_pop_heap.h" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_pop_heap.h" 3 # 1928 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_prev_permutation.h" 3 # 1929 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_push_heap.h" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_push_heap.h" 3 # 1930 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_if.h" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_if.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove.h" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove.h" 3 # 1931 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove_copy_if.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove_copy_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator, class _Predicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred) { for (; __first != __last; ++__first) { if (!__pred(*__first)) { *__result = *__first; ++__result; } } return __result; } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h" 2 3 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy_if.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_remove_copy.h" 3 # 1932 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_if.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_if.h" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace.h" 3 # 1935 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_copy.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_copy_if.h" 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_copy.h" 2 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_replace_copy.h" 3 # 1936 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_reverse.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_reverse.h" 3 # 1939 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_reverse_copy.h" 3 # 1940 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_rotate.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_rotate.h" 3 # 1941 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_rotate_copy.h" 3 # 1942 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sample.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sample.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sample.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sample.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_int_distribution.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_int_distribution.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/is_valid.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/is_valid.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class> struct __libcpp_random_is_valid_realtype : false_type {}; template <> struct __libcpp_random_is_valid_realtype<float> : true_type {}; template <> struct __libcpp_random_is_valid_realtype<double> : true_type {}; template <> struct __libcpp_random_is_valid_realtype<long double> : true_type {}; template <class> struct __libcpp_random_is_valid_inttype : false_type {}; template <> struct __libcpp_random_is_valid_inttype<int8_t> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<short> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<int> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<long> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<long long> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<uint8_t> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<unsigned short> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<unsigned int> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<unsigned long> : true_type {}; template <> struct __libcpp_random_is_valid_inttype<unsigned long long> : true_type {}; # 84 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/is_valid.h" 3 template <class, class = void> struct __libcpp_random_is_valid_urng : false_type {}; template <class _Gp> struct __libcpp_random_is_valid_urng< _Gp, __enable_if_t< is_unsigned<typename _Gp::result_type>::value && _IsSame<decltype(std::declval<_Gp&>()()), typename _Gp::result_type>::value > > : true_type {}; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_int_distribution.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/log2.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/log2.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _UIntType, _UIntType _Xp, size_t _Rp> struct __log2_imp; template <unsigned long long _Xp, size_t _Rp> struct __log2_imp<unsigned long long, _Xp, _Rp> { static const size_t value = _Xp & ((unsigned long long)(1) << _Rp) ? _Rp : __log2_imp<unsigned long long, _Xp, _Rp - 1>::value; }; template <unsigned long long _Xp> struct __log2_imp<unsigned long long, _Xp, 0> { static const size_t value = 0; }; template <size_t _Rp> struct __log2_imp<unsigned long long, 0, _Rp> { static const size_t value = _Rp + 1; }; # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/log2.h" 3 template <class _UIntType, _UIntType _Xp> struct __log2 { static const size_t value = __log2_imp< unsigned long long, _Xp, sizeof(_UIntType) * 8 - 1>::value; }; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_int_distribution.h" 2 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_int_distribution.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_int_distribution.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Engine, class _UIntType> class __independent_bits_engine { public: typedef _UIntType result_type; private: typedef typename _Engine::result_type _Engine_result_type; typedef __conditional_t<sizeof(_Engine_result_type) <= sizeof(result_type), result_type, _Engine_result_type> _Working_result_type; _Engine& __e_; size_t __w_; size_t __w0_; size_t __n_; size_t __n0_; _Working_result_type __y0_; _Working_result_type __y1_; _Engine_result_type __mask0_; _Engine_result_type __mask1_; static constexpr const _Working_result_type _Rp = _Engine::max() - _Engine::min() + _Working_result_type(1); static constexpr const size_t __m = __log2<_Working_result_type, _Rp>::value; static constexpr const size_t _WDt = numeric_limits<_Working_result_type>::digits; static constexpr const size_t _EDt = numeric_limits<_Engine_result_type>::digits; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __independent_bits_engine(_Engine& __e, size_t __w); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type operator()() { return __eval(integral_constant<bool, _Rp != 0>()); } private: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type __eval(false_type); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type __eval(true_type); }; template <class _Engine, class _UIntType> __independent_bits_engine<_Engine, _UIntType>::__independent_bits_engine(_Engine& __e, size_t __w) : __e_(__e), __w_(__w) { __n_ = __w_ / __m + (__w_ % __m != 0); __w0_ = __w_ / __n_; if (_Rp == 0) __y0_ = _Rp; else if (__w0_ < _WDt) __y0_ = (_Rp >> __w0_) << __w0_; else __y0_ = 0; if (_Rp - __y0_ > __y0_ / __n_) { ++__n_; __w0_ = __w_ / __n_; if (__w0_ < _WDt) __y0_ = (_Rp >> __w0_) << __w0_; else __y0_ = 0; } __n0_ = __n_ - __w_ % __n_; if (__w0_ < _WDt - 1) __y1_ = (_Rp >> (__w0_ + 1)) << (__w0_ + 1); else __y1_ = 0; __mask0_ = __w0_ > 0 ? _Engine_result_type(~0) >> (_EDt - __w0_) : _Engine_result_type(0); __mask1_ = __w0_ < _EDt - 1 ? _Engine_result_type(~0) >> (_EDt - (__w0_ + 1)) : _Engine_result_type(~0); } template <class _Engine, class _UIntType> inline _UIntType __independent_bits_engine<_Engine, _UIntType>::__eval(false_type) { return static_cast<result_type>(__e_() & __mask0_); } template <class _Engine, class _UIntType> _UIntType __independent_bits_engine<_Engine, _UIntType>::__eval(true_type) { const size_t __w_rt = numeric_limits<result_type>::digits; result_type __sp = 0; for (size_t __k = 0; __k < __n0_; ++__k) { _Engine_result_type __u; do { __u = __e_() - _Engine::min(); } while (__u >= __y0_); if (__w0_ < __w_rt) __sp <<= __w0_; else __sp = 0; __sp += __u & __mask0_; } for (size_t __k = __n0_; __k < __n_; ++__k) { _Engine_result_type __u; do { __u = __e_() - _Engine::min(); } while (__u >= __y1_); if (__w0_ < __w_rt - 1) __sp <<= __w0_ + 1; else __sp = 0; __sp += __u & __mask1_; } return __sp; } template <class _IntType = int> class uniform_int_distribution { static_assert(__libcpp_random_is_valid_inttype<_IntType>::value, "IntType must be a supported integer type"); public: typedef _IntType result_type; class param_type { result_type __a_; result_type __b_; public: typedef uniform_int_distribution distribution_type; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit param_type(result_type __a = 0, result_type __b = numeric_limits<result_type>::max()) : __a_(__a), __b_(__b) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type a() const { return __a_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type b() const { return __b_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) friend bool operator==(const param_type& __x, const param_type& __y) { return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) friend bool operator!=(const param_type& __x, const param_type& __y) { return !(__x == __y); } }; private: param_type __p_; public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) uniform_int_distribution() : uniform_int_distribution(0) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit uniform_int_distribution( result_type __a, result_type __b = numeric_limits<result_type>::max()) : __p_(param_type(__a, __b)) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) explicit uniform_int_distribution(const param_type& __p) : __p_(__p) {} __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void reset() {} template <class _URNG> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type operator()(_URNG& __g) { return (*this)(__g, __p_); } template <class _URNG> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type operator()(_URNG& __g, const param_type& __p); __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type a() const { return __p_.a(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type b() const { return __p_.b(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) param_type param() const { return __p_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void param(const param_type& __p) { __p_ = __p; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type min() const { return a(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type max() const { return b(); } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) friend bool operator==(const uniform_int_distribution& __x, const uniform_int_distribution& __y) { return __x.__p_ == __y.__p_; } __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) friend bool operator!=(const uniform_int_distribution& __x, const uniform_int_distribution& __y) { return !(__x == __y); } }; template <class _IntType> template <class _URNG> typename uniform_int_distribution<_IntType>::result_type uniform_int_distribution<_IntType>::operator()( _URNG& __g, const param_type& __p) __attribute__((__no_sanitize__("unsigned-integer-overflow"))) { static_assert(__libcpp_random_is_valid_urng<_URNG>::value, ""); typedef __conditional_t<sizeof(result_type) <= sizeof(uint32_t), uint32_t, __make_unsigned_t<result_type> > _UIntType; const _UIntType __rp = _UIntType(__p.b()) - _UIntType(__p.a()) + _UIntType(1); if (__rp == 1) return __p.a(); const size_t __dt = numeric_limits<_UIntType>::digits; typedef __independent_bits_engine<_URNG, _UIntType> _Eng; if (__rp == 0) return static_cast<result_type>(_Eng(__g, __dt)()); size_t __w = __dt - std::__countl_zero(__rp) - 1; if ((__rp & (numeric_limits<_UIntType>::max() >> (__dt - __w))) != 0) ++__w; _Eng __e(__g, __w); _UIntType __u; do { __u = __e(); } while (__u >= __rp); return static_cast<result_type>(__u + __p.a()); } template <class _CharT, class _Traits, class _IT> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const uniform_int_distribution<_IT>& __x) { __save_flags<_CharT, _Traits> __lx(__os); typedef basic_ostream<_CharT, _Traits> _Ostream; __os.flags(_Ostream::dec | _Ostream::left); _CharT __sp = __os.widen(' '); __os.fill(__sp); return __os << __x.a() << __sp << __x.b(); } template <class _CharT, class _Traits, class _IT> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, uniform_int_distribution<_IT>& __x) { typedef uniform_int_distribution<_IT> _Eng; typedef typename _Eng::result_type result_type; typedef typename _Eng::param_type param_type; __save_flags<_CharT, _Traits> __lx(__is); typedef basic_istream<_CharT, _Traits> _Istream; __is.flags(_Istream::dec | _Istream::skipws); result_type __a; result_type __b; __is >> __a >> __b; if (!__is.fail()) __x.param(param_type(__a, __b)); return __is; } }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sample.h" 2 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sample.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/sample.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _PopulationIterator, class _PopulationSentinel, class _SampleIterator, class _Distance, class _UniformRandomNumberGenerator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _SampleIterator __sample( _PopulationIterator __first, _PopulationSentinel __last, _SampleIterator __output_iter, _Distance __n, _UniformRandomNumberGenerator& __g, input_iterator_tag) { _Distance __k = 0; for (; __first != __last && __k < __n; ++__first, (void)++__k) __output_iter[__k] = *__first; _Distance __sz = __k; for (; __first != __last; ++__first, (void)++__k) { _Distance __r = uniform_int_distribution<_Distance>(0, __k)(__g); if (__r < __sz) __output_iter[__r] = *__first; } return __output_iter + std::min(__n, __k); } template <class _AlgPolicy, class _PopulationIterator, class _PopulationSentinel, class _SampleIterator, class _Distance, class _UniformRandomNumberGenerator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _SampleIterator __sample( _PopulationIterator __first, _PopulationSentinel __last, _SampleIterator __output_iter, _Distance __n, _UniformRandomNumberGenerator& __g, forward_iterator_tag) { _Distance __unsampled_sz = _IterOps<_AlgPolicy>::distance(__first, __last); for (__n = std::min(__n, __unsampled_sz); __n != 0; ++__first) { _Distance __r = uniform_int_distribution<_Distance>(0, --__unsampled_sz)(__g); if (__r < __n) { *__output_iter++ = *__first; --__n; } } return __output_iter; } template <class _AlgPolicy, class _PopulationIterator, class _PopulationSentinel, class _SampleIterator, class _Distance, class _UniformRandomNumberGenerator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _SampleIterator __sample( _PopulationIterator __first, _PopulationSentinel __last, _SampleIterator __output_iter, _Distance __n, _UniformRandomNumberGenerator& __g) { ((void)0); using _PopIterCategory = typename _IterOps<_AlgPolicy>::template __iterator_category<_PopulationIterator>; using _Difference = typename _IterOps<_AlgPolicy>::template __difference_type<_PopulationIterator>; using _CommonType = typename common_type<_Distance, _Difference>::type; return std::__sample<_AlgPolicy>( std::move(__first), std::move(__last), std::move(__output_iter), _CommonType(__n), __g, _PopIterCategory()); } template <class _PopulationIterator, class _SampleIterator, class _Distance, class _UniformRandomNumberGenerator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _SampleIterator sample(_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __output_iter, _Distance __n, _UniformRandomNumberGenerator&& __g) { static_assert(__has_forward_iterator_category<_PopulationIterator>::value || __has_random_access_iterator_category<_SampleIterator>::value, "SampleIterator must meet the requirements of RandomAccessIterator"); return std::__sample<_ClassicAlgPolicy>(std::move(__first), std::move(__last), std::move(__output_iter), __n, __g); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sample.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/uniform_random_bit_generator_adaptor.h" 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sample.h" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_random_bit_generator.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_random_bit_generator.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_random_bit_generator.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__random/uniform_random_bit_generator.h" 3 }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sample.h" 2 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sample.h" 3 # 1943 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_search.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_search.h" 3 # 1944 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_search_n.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_search_n.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/search_n.h" 1 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/search_n.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Pred, class _Iter, class _Sent, class _SizeT, class _Type, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter, _Iter> __search_n_forward_impl( _Iter __first, _Sent __last, _SizeT __count, const _Type& __value, _Pred& __pred, _Proj& __proj) { if (__count <= 0) return std::make_pair(__first, __first); while (true) { while (true) { if (__first == __last) { _IterOps<_AlgPolicy>::__advance_to(__first, __last); return std::make_pair(__first, __first); } if (std::__invoke(__pred, std::__invoke(__proj, *__first), __value)) break; ++__first; } _Iter __m = __first; _SizeT __c(0); while (true) { if (++__c == __count) return std::make_pair(__first, ++__m); if (++__m == __last) { _IterOps<_AlgPolicy>::__advance_to(__first, __last); return std::make_pair(__first, __first); } if (!std::__invoke(__pred, std::__invoke(__proj, *__m), __value)) { __first = __m; ++__first; break; } } } } template <class _AlgPolicy, class _Pred, class _Iter, class _Sent, class _SizeT, class _Type, class _Proj, class _DiffT> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr std::pair<_Iter, _Iter> __search_n_random_access_impl( _Iter __first, _Sent __last, _SizeT __count, const _Type& __value, _Pred& __pred, _Proj& __proj, _DiffT __size1) { using difference_type = typename iterator_traits<_Iter>::difference_type; if (__count == 0) return std::make_pair(__first, __first); if (__size1 < static_cast<_DiffT>(__count)) { _IterOps<_AlgPolicy>::__advance_to(__first, __last); return std::make_pair(__first, __first); } const auto __s = __first + __size1 - difference_type(__count - 1); while (true) { while (true) { if (__first >= __s) { _IterOps<_AlgPolicy>::__advance_to(__first, __last); return std::make_pair(__first, __first); } if (std::__invoke(__pred, std::__invoke(__proj, *__first), __value)) break; ++__first; } auto __m = __first; _SizeT __c(0); while (true) { if (++__c == __count) return std::make_pair(__first, __first + _DiffT(__count)); ++__m; if (!std::__invoke(__pred, std::__invoke(__proj, *__m), __value)) { __first = __m; ++__first; break; } } } } template <class _Iter, class _Sent, class _DiffT, class _Type, class _Pred, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter, _Iter> __search_n_impl( _Iter __first, _Sent __last, _DiffT __count, const _Type& __value, _Pred& __pred, _Proj& __proj, __enable_if_t<__has_random_access_iterator_category<_Iter>::value>* = nullptr) { return std::__search_n_random_access_impl<_ClassicAlgPolicy>( __first, __last, __count, __value, __pred, __proj, __last - __first); } template <class _Iter1, class _Sent1, class _DiffT, class _Type, class _Pred, class _Proj> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr pair<_Iter1, _Iter1> __search_n_impl( _Iter1 __first, _Sent1 __last, _DiffT __count, const _Type& __value, _Pred& __pred, _Proj& __proj, __enable_if_t<__has_forward_iterator_category<_Iter1>::value && !__has_random_access_iterator_category<_Iter1>::value>* = nullptr) { return std::__search_n_forward_impl<_ClassicAlgPolicy>(__first, __last, __count, __value, __pred, __proj); } template <class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator search_n( _ForwardIterator __first, _ForwardIterator __last, _Size __count, const _Tp& __value, _BinaryPredicate __pred) { static_assert( __is_callable<_BinaryPredicate, decltype(*__first), const _Tp&>::value, "BinaryPredicate has to be callable"); auto __proj = __identity(); return std::__search_n_impl(__first, __last, std::__convert_to_integral(__count), __value, __pred, __proj).first; } template <class _ForwardIterator, class _Size, class _Tp> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator search_n(_ForwardIterator __first, _ForwardIterator __last, _Size __count, const _Tp& __value) { return std::search_n(__first, __last, std::__convert_to_integral(__count), __value, __equal_to()); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_search_n.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_search_n.h" 3 # 1945 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_difference.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_difference.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_difference.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_difference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Comp, class _InIter1, class _Sent1, class _InIter2, class _Sent2, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<__remove_cvref_t<_InIter1>, __remove_cvref_t<_OutIter> > __set_difference( _InIter1&& __first1, _Sent1&& __last1, _InIter2&& __first2, _Sent2&& __last2, _OutIter&& __result, _Comp&& __comp) { while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__first1; ++__result; } else if (__comp(*__first2, *__first1)) { ++__first2; } else { ++__first1; ++__first2; } } return std::__copy<_AlgPolicy>(std::move(__first1), std::move(__last1), std::move(__result)); } template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { return std::__set_difference<_ClassicAlgPolicy, __comp_ref_type<_Compare> >( __first1, __last1, __first2, __last2, __result, __comp) .second; } template <class _InputIterator1, class _InputIterator2, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { return std::__set_difference<_ClassicAlgPolicy>(__first1, __last1, __first2, __last2, __result, __less<>()).second; } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_difference.h" 2 3 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_difference.h" 3 # 1946 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_intersection.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_intersection.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_intersection.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_intersection.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InIter1, class _InIter2, class _OutIter> struct __set_intersection_result { _InIter1 __in1_; _InIter2 __in2_; _OutIter __out_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __set_intersection_result(_InIter1&& __in_iter1, _InIter2&& __in_iter2, _OutIter&& __out_iter) : __in1_(std::move(__in_iter1)), __in2_(std::move(__in_iter2)), __out_(std::move(__out_iter)) {} }; template <class _AlgPolicy, class _Compare, class _InIter1, class _Sent1, class _InIter2, class _Sent2, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __set_intersection_result<_InIter1, _InIter2, _OutIter> __set_intersection( _InIter1 __first1, _Sent1 __last1, _InIter2 __first2, _Sent2 __last2, _OutIter __result, _Compare&& __comp) { while (__first1 != __last1 && __first2 != __last2) { if (__comp(*__first1, *__first2)) ++__first1; else { if (!__comp(*__first2, *__first1)) { *__result = *__first1; ++__result; ++__first1; } ++__first2; } } return __set_intersection_result<_InIter1, _InIter2, _OutIter>( _IterOps<_AlgPolicy>::next(std::move(__first1), std::move(__last1)), _IterOps<_AlgPolicy>::next(std::move(__first2), std::move(__last2)), std::move(__result)); } template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_intersection( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { return std::__set_intersection<_ClassicAlgPolicy, __comp_ref_type<_Compare> >( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), std::move(__result), __comp) .__out_; } template <class _InputIterator1, class _InputIterator2, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_intersection( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { return std::__set_intersection<_ClassicAlgPolicy>( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), std::move(__result), __less<>()) .__out_; } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_intersection.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_intersection.h" 3 # 1947 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_symmetric_difference.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_symmetric_difference.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InIter1, class _InIter2, class _OutIter> struct __set_symmetric_difference_result { _InIter1 __in1_; _InIter2 __in2_; _OutIter __out_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __set_symmetric_difference_result(_InIter1&& __in_iter1, _InIter2&& __in_iter2, _OutIter&& __out_iter) : __in1_(std::move(__in_iter1)), __in2_(std::move(__in_iter2)), __out_(std::move(__out_iter)) {} }; template <class _AlgPolicy, class _Compare, class _InIter1, class _Sent1, class _InIter2, class _Sent2, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __set_symmetric_difference_result<_InIter1, _InIter2, _OutIter> __set_symmetric_difference( _InIter1 __first1, _Sent1 __last1, _InIter2 __first2, _Sent2 __last2, _OutIter __result, _Compare&& __comp) { while (__first1 != __last1) { if (__first2 == __last2) { auto __ret1 = std::__copy<_AlgPolicy>(std::move(__first1), std::move(__last1), std::move(__result)); return __set_symmetric_difference_result<_InIter1, _InIter2, _OutIter>( std::move(__ret1.first), std::move(__first2), std::move((__ret1.second))); } if (__comp(*__first1, *__first2)) { *__result = *__first1; ++__result; ++__first1; } else { if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__result; } else { ++__first1; } ++__first2; } } auto __ret2 = std::__copy<_AlgPolicy>(std::move(__first2), std::move(__last2), std::move(__result)); return __set_symmetric_difference_result<_InIter1, _InIter2, _OutIter>( std::move(__first1), std::move(__ret2.first), std::move((__ret2.second))); } template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_symmetric_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { return std::__set_symmetric_difference<_ClassicAlgPolicy, __comp_ref_type<_Compare> >( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), std::move(__result), __comp) .__out_; } template <class _InputIterator1, class _InputIterator2, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_symmetric_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { return std::set_symmetric_difference( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), std::move(__result), __less<>()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h" 2 3 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_symmetric_difference.h" 3 # 1948 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_union.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_union.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_union.h" 1 3 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/set_union.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InIter1, class _InIter2, class _OutIter> struct __set_union_result { _InIter1 __in1_; _InIter2 __in2_; _OutIter __out_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __set_union_result(_InIter1&& __in_iter1, _InIter2&& __in_iter2, _OutIter&& __out_iter) : __in1_(std::move(__in_iter1)), __in2_(std::move(__in_iter2)), __out_(std::move(__out_iter)) {} }; template <class _AlgPolicy, class _Compare, class _InIter1, class _Sent1, class _InIter2, class _Sent2, class _OutIter> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __set_union_result<_InIter1, _InIter2, _OutIter> __set_union( _InIter1 __first1, _Sent1 __last1, _InIter2 __first2, _Sent2 __last2, _OutIter __result, _Compare&& __comp) { for (; __first1 != __last1; ++__result) { if (__first2 == __last2) { auto __ret1 = std::__copy<_AlgPolicy>(std::move(__first1), std::move(__last1), std::move(__result)); return __set_union_result<_InIter1, _InIter2, _OutIter>( std::move(__ret1.first), std::move(__first2), std::move((__ret1.second))); } if (__comp(*__first2, *__first1)) { *__result = *__first2; ++__first2; } else { if (!__comp(*__first1, *__first2)) { ++__first2; } *__result = *__first1; ++__first1; } } auto __ret2 = std::__copy<_AlgPolicy>(std::move(__first2), std::move(__last2), std::move(__result)); return __set_union_result<_InIter1, _InIter2, _OutIter>( std::move(__first1), std::move(__ret2.first), std::move((__ret2.second))); } template <class _InputIterator1, class _InputIterator2, class _OutputIterator, class _Compare> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_union( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp) { return std::__set_union<_ClassicAlgPolicy, __comp_ref_type<_Compare> >( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), std::move(__result), __comp) .__out_; } template <class _InputIterator1, class _InputIterator2, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator set_union( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result) { return std::set_union( std::move(__first1), std::move(__last1), std::move(__first2), std::move(__last2), std::move(__result), __less<>()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_union.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_set_union.h" 3 # 1949 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_shuffle.h" 1 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_shuffle.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shuffle.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shuffle.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shuffle.h" 2 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { class __attribute__((__visibility__("default"))) __libcpp_debug_randomizer { public: __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) __libcpp_debug_randomizer() { __state_ = __seed(); __inc_ = __state_ + 0xda3e39cb94b95bdbULL; __inc_ = (__inc_ << 1) | 1; } typedef uint_fast32_t result_type; static const result_type _Min = 0; static const result_type _Max = 0xFFFFFFFF; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) result_type operator()() { uint_fast64_t __oldstate = __state_; __state_ = __oldstate * 6364136223846793005ULL + __inc_; return __oldstate >> 32; } static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr result_type min() { return _Min; } static __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr result_type max() { return _Max; } private: uint_fast64_t __state_; uint_fast64_t __inc_; __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) static uint_fast64_t __seed() { static char __x; return reinterpret_cast<uintptr_t>(&__x); } }; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shuffle.h" 3 template <class _AlgPolicy, class _RandomAccessIterator, class _Sentinel, class _UniformRandomNumberGenerator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _RandomAccessIterator __shuffle(_RandomAccessIterator __first, _Sentinel __last_sentinel, _UniformRandomNumberGenerator&& __g) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; typedef uniform_int_distribution<ptrdiff_t> _Dp; typedef typename _Dp::param_type _Pp; auto __original_last = _IterOps<_AlgPolicy>::next(__first, __last_sentinel); auto __last = __original_last; difference_type __d = __last - __first; if (__d > 1) { _Dp __uid; for (--__last, (void)--__d; __first < __last; ++__first, (void)--__d) { difference_type __i = __uid(__g, _Pp(0, __d)); if (__i != difference_type(0)) _IterOps<_AlgPolicy>::iter_swap(__first, __first + __i); } } return __original_last; } template <class _RandomAccessIterator, class _UniformRandomNumberGenerator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last, _UniformRandomNumberGenerator&& __g) { (void)std::__shuffle<_ClassicAlgPolicy>( std::move(__first), std::move(__last), std::forward<_UniformRandomNumberGenerator>(__g)); } }} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_shuffle.h" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_shuffle.h" 3 # 1950 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sort.h" 1 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sort.h" 3 # 1951 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sort_heap.h" 1 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_sort_heap.h" 3 # 1952 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_stable_partition.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_stable_partition.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_partition.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_partition.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Predicate, class _ForwardIterator, class _Distance, class _Pair> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __stable_partition_impl( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pair __p, forward_iterator_tag __fit) { using _Ops = _IterOps<_AlgPolicy>; if (__len == 1) return __first; if (__len == 2) { _ForwardIterator __m = __first; if (__pred(*++__m)) { _Ops::iter_swap(__first, __m); return __m; } return __first; } if (__len <= __p.second) { typedef typename iterator_traits<_ForwardIterator>::value_type value_type; __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h(__p.first, __d); value_type* __t = __p.first; ::new ((void*)__t) value_type(_Ops::__iter_move(__first)); __d.template __incr<value_type>(); ++__t; _ForwardIterator __i = __first; while (++__i != __last) { if (__pred(*__i)) { *__first = _Ops::__iter_move(__i); ++__first; } else { ::new ((void*)__t) value_type(_Ops::__iter_move(__i)); __d.template __incr<value_type>(); ++__t; } } __i = __first; for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, (void)++__i) *__i = _Ops::__iter_move(__t2); return __first; } _ForwardIterator __m = __first; _Distance __len2 = __len / 2; _Ops::advance(__m, __len2); _ForwardIterator __first_false = std::__stable_partition_impl<_AlgPolicy, _Predicate&>(__first, __m, __pred, __len2, __p, __fit); _ForwardIterator __m1 = __m; _ForwardIterator __second_false = __last; _Distance __len_half = __len - __len2; while (__pred(*__m1)) { if (++__m1 == __last) goto __second_half_done; --__len_half; } __second_false = std::__stable_partition_impl<_AlgPolicy, _Predicate&>(__m1, __last, __pred, __len_half, __p, __fit); __second_half_done: return std::__rotate<_AlgPolicy>(__first_false, __m, __second_false).first; } template <class _AlgPolicy, class _Predicate, class _ForwardIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __stable_partition_impl(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag) { typedef typename iterator_traits<_ForwardIterator>::difference_type difference_type; typedef typename iterator_traits<_ForwardIterator>::value_type value_type; const difference_type __alloc_limit = 3; while (true) { if (__first == __last) return __first; if (!__pred(*__first)) break; ++__first; } difference_type __len = _IterOps<_AlgPolicy>::distance(__first, __last); pair<value_type*, ptrdiff_t> __p(0, 0); unique_ptr<value_type, __return_temporary_buffer> __h; if (__len >= __alloc_limit) { #pragma GCC diagnostic push # 136 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_partition.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 136 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_partition.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" __p = std::get_temporary_buffer<value_type>(__len); #pragma GCC diagnostic pop __h.reset(__p.first); } return std::__stable_partition_impl<_AlgPolicy, _Predicate&>( std::move(__first), std::move(__last), __pred, __len, __p, forward_iterator_tag()); } template <class _AlgPolicy, class _Predicate, class _BidirectionalIterator, class _Distance, class _Pair> _BidirectionalIterator __stable_partition_impl( _BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, _Distance __len, _Pair __p, bidirectional_iterator_tag __bit) { using _Ops = _IterOps<_AlgPolicy>; if (__len == 2) { _Ops::iter_swap(__first, __last); return __last; } if (__len == 3) { _BidirectionalIterator __m = __first; if (__pred(*++__m)) { _Ops::iter_swap(__first, __m); _Ops::iter_swap(__m, __last); return __last; } _Ops::iter_swap(__m, __last); _Ops::iter_swap(__first, __m); return __m; } if (__len <= __p.second) { typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; __destruct_n __d(0); unique_ptr<value_type, __destruct_n&> __h(__p.first, __d); value_type* __t = __p.first; ::new ((void*)__t) value_type(_Ops::__iter_move(__first)); __d.template __incr<value_type>(); ++__t; _BidirectionalIterator __i = __first; while (++__i != __last) { if (__pred(*__i)) { *__first = _Ops::__iter_move(__i); ++__first; } else { ::new ((void*)__t) value_type(_Ops::__iter_move(__i)); __d.template __incr<value_type>(); ++__t; } } *__first = _Ops::__iter_move(__i); __i = ++__first; for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, (void)++__i) *__i = _Ops::__iter_move(__t2); return __first; } _BidirectionalIterator __m = __first; _Distance __len2 = __len / 2; _Ops::advance(__m, __len2); _BidirectionalIterator __m1 = __m; _BidirectionalIterator __first_false = __first; _Distance __len_half = __len2; while (!__pred(*--__m1)) { if (__m1 == __first) goto __first_half_done; --__len_half; } __first_false = std::__stable_partition_impl<_AlgPolicy, _Predicate&>(__first, __m1, __pred, __len_half, __p, __bit); __first_half_done: __m1 = __m; _BidirectionalIterator __second_false = __last; ++__second_false; __len_half = __len - __len2; while (__pred(*__m1)) { if (++__m1 == __last) goto __second_half_done; --__len_half; } __second_false = std::__stable_partition_impl<_AlgPolicy, _Predicate&>(__m1, __last, __pred, __len_half, __p, __bit); __second_half_done: return std::__rotate<_AlgPolicy>(__first_false, __m, __second_false).first; } template <class _AlgPolicy, class _Predicate, class _BidirectionalIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _BidirectionalIterator __stable_partition_impl( _BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag) { typedef typename iterator_traits<_BidirectionalIterator>::difference_type difference_type; typedef typename iterator_traits<_BidirectionalIterator>::value_type value_type; const difference_type __alloc_limit = 4; while (true) { if (__first == __last) return __first; if (!__pred(*__first)) break; ++__first; } do { if (__first == --__last) return __first; } while (!__pred(*__last)); difference_type __len = _IterOps<_AlgPolicy>::distance(__first, __last) + 1; pair<value_type*, ptrdiff_t> __p(0, 0); unique_ptr<value_type, __return_temporary_buffer> __h; if (__len >= __alloc_limit) { #pragma GCC diagnostic push # 276 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_partition.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated" # 276 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/stable_partition.h" 3 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" __p = std::get_temporary_buffer<value_type>(__len); #pragma GCC diagnostic pop __h.reset(__p.first); } return std::__stable_partition_impl<_AlgPolicy, _Predicate&>( std::move(__first), std::move(__last), __pred, __len, __p, bidirectional_iterator_tag()); } template <class _AlgPolicy, class _Predicate, class _ForwardIterator, class _IterCategory> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator __stable_partition( _ForwardIterator __first, _ForwardIterator __last, _Predicate&& __pred, _IterCategory __iter_category) { return std::__stable_partition_impl<_AlgPolicy, __remove_cvref_t<_Predicate>&>( std::move(__first), std::move(__last), __pred, __iter_category); } template <class _ForwardIterator, class _Predicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { using _IterCategory = typename iterator_traits<_ForwardIterator>::iterator_category; return std::__stable_partition<_ClassicAlgPolicy, _Predicate&>( std::move(__first), std::move(__last), __pred, _IterCategory()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_stable_partition.h" 2 3 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_stable_partition.h" 3 # 1953 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_stable_sort.h" 1 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_stable_sort.h" 3 # 1954 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h" 1 3 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_swap_ranges.h" 3 # 1956 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_transform.h" 1 3 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_transform.h" 3 # 1957 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique.h" 1 3 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unique.h" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unique.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _AlgPolicy, class _Iter, class _Sent, class _BinaryPredicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) std::pair<_Iter, _Iter> __unique(_Iter __first, _Sent __last, _BinaryPredicate&& __pred) { __first = std::__adjacent_find(__first, __last, __pred); if (__first != __last) { _Iter __i = __first; for (++__i; ++__i != __last;) if (!__pred(*__first, *__i)) *++__first = _IterOps<_AlgPolicy>::__iter_move(__i); ++__first; return std::pair<_Iter, _Iter>(std::move(__first), std::move(__i)); } return std::pair<_Iter, _Iter>(__first, __first); } template <class _ForwardIterator, class _BinaryPredicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred) { return std::__unique<_ClassicAlgPolicy>(std::move(__first), std::move(__last), __pred).first; } template <class _ForwardIterator> [[__nodiscard__]] inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator unique(_ForwardIterator __first, _ForwardIterator __last) { return std::unique(__first, __last, __equal_to()); } }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique.h" 2 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique.h" 3 # 1958 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique_copy.h" 1 3 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique_copy.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unique_copy.h" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/unique_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { namespace __unique_copy_tags { struct __reread_from_input_tag {}; struct __reread_from_output_tag {}; struct __read_from_tmp_value_tag {}; } template <class _AlgPolicy, class _BinaryPredicate, class _InputIterator, class _Sent, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _OutputIterator> __unique_copy(_InputIterator __first, _Sent __last, _OutputIterator __result, _BinaryPredicate&& __pred, __unique_copy_tags::__read_from_tmp_value_tag) { if (__first != __last) { typename _IterOps<_AlgPolicy>::template __value_type<_InputIterator> __t(*__first); *__result = __t; ++__result; while (++__first != __last) { if (!__pred(__t, *__first)) { __t = *__first; *__result = __t; ++__result; } } } return pair<_InputIterator, _OutputIterator>(std::move(__first), std::move(__result)); } template <class _AlgPolicy, class _BinaryPredicate, class _ForwardIterator, class _Sent, class _OutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_ForwardIterator, _OutputIterator> __unique_copy(_ForwardIterator __first, _Sent __last, _OutputIterator __result, _BinaryPredicate&& __pred, __unique_copy_tags::__reread_from_input_tag) { if (__first != __last) { _ForwardIterator __i = __first; *__result = *__i; ++__result; while (++__first != __last) { if (!__pred(*__i, *__first)) { *__result = *__first; ++__result; __i = __first; } } } return pair<_ForwardIterator, _OutputIterator>(std::move(__first), std::move(__result)); } template <class _AlgPolicy, class _BinaryPredicate, class _InputIterator, class _Sent, class _InputAndOutputIterator> __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) pair<_InputIterator, _InputAndOutputIterator> __unique_copy(_InputIterator __first, _Sent __last, _InputAndOutputIterator __result, _BinaryPredicate&& __pred, __unique_copy_tags::__reread_from_output_tag) { if (__first != __last) { *__result = *__first; while (++__first != __last) if (!__pred(*__result, *__first)) *++__result = *__first; ++__result; } return pair<_InputIterator, _InputAndOutputIterator>(std::move(__first), std::move(__result)); } template <class _InputIterator, class _OutputIterator, class _BinaryPredicate> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __pred) { using __algo_tag = __conditional_t< is_base_of<forward_iterator_tag, typename iterator_traits<_InputIterator>::iterator_category>::value, __unique_copy_tags::__reread_from_input_tag, __conditional_t< is_base_of<forward_iterator_tag, typename iterator_traits<_OutputIterator>::iterator_category>::value && is_same< typename iterator_traits<_InputIterator>::value_type, typename iterator_traits<_OutputIterator>::value_type>::value, __unique_copy_tags::__reread_from_output_tag, __unique_copy_tags::__read_from_tmp_value_tag> >; return std::__unique_copy<_ClassicAlgPolicy>( std::move(__first), std::move(__last), std::move(__result), __pred, __algo_tag()) .second; } template <class _InputIterator, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result) { return std::unique_copy(std::move(__first), std::move(__last), std::move(__result), __equal_to()); } }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique_copy.h" 2 3 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_unique_copy.h" 3 # 1959 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_upper_bound.h" 1 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/ranges_upper_bound.h" 3 # 1960 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { __first = std::find(__first, __last, __value); if (__first != __last) { _ForwardIterator __i = __first; while (++__i != __last) { if (!(*__i == __value)) { *__first = std::move(*__i); ++__first; } } } return __first; } }} # 1961 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove_copy.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value) { for (; __first != __last; ++__first) { if (!(*__first == __value)) { *__result = *__first; ++__result; } } return __result; } }} # 1962 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove_if.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/remove_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Predicate> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _ForwardIterator remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { __first = std::find_if<_ForwardIterator, _Predicate&>(__first, __last, __pred); if (__first != __last) { _ForwardIterator __i = __first; while (++__i != __last) { if (!__pred(*__i)) { *__first = std::move(*__i); ++__first; } } } return __first; } }} # 1964 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value) { for (; __first != __last; ++__first) if (*__first == __old_value) *__first = __new_value; } }} # 1965 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace_copy.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator replace_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __old_value, const _Tp& __new_value) { for (; __first != __last; ++__first, (void)++__result) if (*__first == __old_value) *__result = __new_value; else *__result = *__first; return __result; } }} # 1966 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace_copy_if.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace_copy_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _InputIterator, class _OutputIterator, class _Predicate, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator replace_copy_if( _InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value) { for (; __first != __last; ++__first, (void)++__result) if (__pred(*__first)) *__result = __new_value; else *__result = *__first; return __result; } }} # 1967 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace_if.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/replace_if.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _Predicate, class _Tp> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) void replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value) { for (; __first != __last; ++__first) if (__pred(*__first)) *__first = __new_value; } }} # 1968 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/reverse_copy.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/reverse_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _BidirectionalIterator, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result) { for (; __first != __last; ++__result) *__result = *--__last; return __result; } }} # 1970 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate_copy.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/rotate_copy.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _ForwardIterator, class _OutputIterator> inline __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) _OutputIterator rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result) { return std::copy(__first, __middle, std::copy(__middle, __last, __result)); } }} # 1972 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shift_left.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shift_left.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shift_left.h" 3 }} # 1980 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shift_right.h" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shift_right.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__algorithm/shift_right.h" 3 }} # 1981 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 2001 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 1 3 # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_ceil.h" 1 3 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_ceil.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { template <class _Tp> [[__nodiscard__]] __attribute__((__visibility__("hidden"))) __attribute__((__exclude_from_explicit_instantiation__)) __attribute__((__abi_tag__("ne180000"))) constexpr _Tp __bit_ceil(_Tp __t) noexcept { if (__t < 2) return 1; const unsigned __n = numeric_limits<_Tp>::digits - std::__countl_zero((_Tp)(__t - 1u)); ((void)0); if constexpr (sizeof(_Tp) >= sizeof(unsigned)) return _Tp{1} << __n; else { const unsigned __extra = numeric_limits<unsigned>::digits - numeric_limits<_Tp>::digits; const unsigned __ret_val = 1u << (__n + __extra); return (_Tp)(__ret_val >> __extra); } } # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_ceil.h" 3 }} # 67 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_floor.h" 1 3 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_floor.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_log2.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_log2.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_log2.h" 3 }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_floor.h" 2 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_floor.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_floor.h" 3 }} # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_width.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/bit_width.h" 3 # 70 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/byteswap.h" 1 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/byteswap.h" 3 namespace __attribute__((__type_visibility__("default"))) std { inline namespace __ndk1 { # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/byteswap.h" 3 }} # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/endian.h" 1 3 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/endian.h" 3 # 75 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/has_single_bit.h" 1 3 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/has_single_bit.h" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__undef_macros" 1 3 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/__bit/has_single_bit.h" 2 3 # 76 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 2 3 # 83 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/bit" 3 # 2006 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/algorithm" 2 3 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/swap.hpp" 2 namespace boost_swap_impl { template<class T> void swap_impl(T& left, T& right) { using namespace std; swap(left,right); } template<class T, std::size_t N> void swap_impl(T (& left)[N], T (& right)[N]) { for (std::size_t i = 0; i < N; ++i) { ::boost_swap_impl::swap_impl(left[i], right[i]); } } } namespace boost { template<class T1, class T2> void swap(T1& left, T2& right) { ::boost_swap_impl::swap_impl(left, right); } } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/swap.hpp" 2 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/iterator.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/iterator.hpp" namespace boost { namespace detail { using std::iterator_traits; using std::distance; # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/iterator.hpp" } } # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/throw_exception.hpp" 1 # 5 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/throw_exception.hpp" 3 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/throw_exception.hpp" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/exception/exception.hpp" 1 3 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/exception/exception.hpp" 3 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/exception/exception.hpp" 3 namespace boost { template <class T> class shared_ptr; }; namespace boost { namespace exception_detail { using boost::shared_ptr; } } namespace boost { namespace exception_detail { template <class T> class refcount_ptr { public: refcount_ptr(): px_(0) { } ~refcount_ptr() { release(); } refcount_ptr( refcount_ptr const & x ): px_(x.px_) { add_ref(); } refcount_ptr & operator=( refcount_ptr const & x ) { adopt(x.px_); return *this; } void adopt( T * px ) { release(); px_=px; add_ref(); } T * get() const { return px_; } private: T * px_; void add_ref() { if( px_ ) px_->add_ref(); } void release() { if( px_ && px_->release() ) px_=0; } }; } template <class Tag,class T> class error_info; typedef error_info<struct throw_function_,char const *> throw_function; typedef error_info<struct throw_file_,char const *> throw_file; typedef error_info<struct throw_line_,int> throw_line; template <> class error_info<throw_function_,char const *> { public: typedef char const * value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template <> class error_info<throw_file_,char const *> { public: typedef char const * value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; template <> class error_info<throw_line_,int> { public: typedef int value_type; value_type v_; explicit error_info( value_type v ): v_(v) { } }; #pragma GCC visibility push (default) class exception; #pragma GCC visibility pop namespace exception_detail { class error_info_base; struct type_info_; struct error_info_container { virtual char const * diagnostic_information( char const * ) const = 0; virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0; virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0; virtual void add_ref() const = 0; virtual bool release() const = 0; virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0; protected: ~error_info_container() throw() { } }; template <class> struct get_info; template <> struct get_info<throw_function>; template <> struct get_info<throw_file>; template <> struct get_info<throw_line>; template <class> struct set_info_rv; template <> struct set_info_rv<throw_function>; template <> struct set_info_rv<throw_file>; template <> struct set_info_rv<throw_line>; char const * get_diagnostic_information( exception const &, char const * ); void copy_boost_exception( exception *, exception const * ); template <class E,class Tag,class T> E const & set_info( E const &, error_info<Tag,T> const & ); template <class E> E const & set_info( E const &, throw_function const & ); template <class E> E const & set_info( E const &, throw_file const & ); template <class E> E const & set_info( E const &, throw_line const & ); } #pragma GCC visibility push (default) class exception { public: template <class Tag> void set( typename Tag::type const & ); template <class Tag> typename Tag::type const * get() const; protected: exception(): throw_function_(0), throw_file_(0), throw_line_(-1) { } # 254 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/exception/exception.hpp" 3 virtual ~exception() throw() = 0 ; private: template <class E> friend E const & exception_detail::set_info( E const &, throw_function const & ); template <class E> friend E const & exception_detail::set_info( E const &, throw_file const & ); template <class E> friend E const & exception_detail::set_info( E const &, throw_line const & ); template <class E,class Tag,class T> friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & ); friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); template <class> friend struct exception_detail::get_info; friend struct exception_detail::get_info<throw_function>; friend struct exception_detail::get_info<throw_file>; friend struct exception_detail::get_info<throw_line>; template <class> friend struct exception_detail::set_info_rv; friend struct exception_detail::set_info_rv<throw_function>; friend struct exception_detail::set_info_rv<throw_file>; friend struct exception_detail::set_info_rv<throw_line>; friend void exception_detail::copy_boost_exception( exception *, exception const * ); mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_; mutable char const * throw_function_; mutable char const * throw_file_; mutable int throw_line_; }; #pragma GCC visibility pop inline exception:: ~exception() throw() { } namespace exception_detail { template <class E> E const & set_info( E const & x, throw_function const & y ) { x.throw_function_=y.v_; return x; } template <class E> E const & set_info( E const & x, throw_file const & y ) { x.throw_file_=y.v_; return x; } template <class E> E const & set_info( E const & x, throw_line const & y ) { x.throw_line_=y.v_; return x; } } namespace exception_detail { #pragma GCC visibility push (default) template <class T> struct error_info_injector: public T, public exception { explicit error_info_injector( T const & x ): T(x) { } ~error_info_injector() throw() { } }; #pragma GCC visibility pop struct large_size { char c[256]; }; large_size dispatch_boost_exception( exception const * ); struct small_size { }; small_size dispatch_boost_exception( void const * ); template <class,int> struct enable_error_info_helper; template <class T> struct enable_error_info_helper<T,sizeof(large_size)> { typedef T type; }; template <class T> struct enable_error_info_helper<T,sizeof(small_size)> { typedef error_info_injector<T> type; }; template <class T> struct enable_error_info_return_type { typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception(static_cast<T *>(0)))>::type type; }; } template <class T> inline typename exception_detail::enable_error_info_return_type<T>::type enable_error_info( T const & x ) { typedef typename exception_detail::enable_error_info_return_type<T>::type rt; return rt(x); } namespace exception_detail { #pragma GCC visibility push (default) class clone_base { public: virtual clone_base const * clone() const = 0; virtual void rethrow() const = 0; virtual ~clone_base() throw() { } }; #pragma GCC visibility pop inline void copy_boost_exception( exception * a, exception const * b ) { refcount_ptr<error_info_container> data; if( error_info_container * d=b->data_.get() ) data = d->clone(); a->throw_file_ = b->throw_file_; a->throw_line_ = b->throw_line_; a->throw_function_ = b->throw_function_; a->data_ = data; } inline void copy_boost_exception( void *, void const * ) { } #pragma GCC visibility push (default) template <class T> class clone_impl: public T, public virtual clone_base { struct clone_tag { }; clone_impl( clone_impl const & x, clone_tag ): T(x) { copy_boost_exception(this,&x); } public: explicit clone_impl( T const & x ): T(x) { copy_boost_exception(this,&x); } ~clone_impl() throw() { } private: clone_base const * clone() const { return new clone_impl(*this,clone_tag()); } void rethrow() const { throw*this; } }; } #pragma GCC visibility pop template <class T> inline exception_detail::clone_impl<T> enable_current_exception( T const & x ) { return exception_detail::clone_impl<T>(x); } } # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/throw_exception.hpp" 2 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/current_function.hpp" 1 3 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/current_function.hpp" 3 namespace boost { namespace detail { inline void current_function_helper() { # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/current_function.hpp" 3 } } } # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/throw_exception.hpp" 2 3 namespace boost { inline void throw_exception_assert_compatibility( std::exception const & ) { } template<class E> __attribute__ ((__noreturn__)) inline void throw_exception( E const & e ) { throw_exception_assert_compatibility(e); throw enable_current_exception(enable_error_info(e)); } namespace exception_detail { template <class E> __attribute__ ((__noreturn__)) void throw_exception_( E const & x, char const * current_function, char const * file, int line ) { boost::throw_exception( set_info( set_info( set_info( enable_error_info(x), throw_function(current_function)), throw_file(file)), throw_line(line))); } } } # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" 2 namespace boost { template<class T, std::size_t N> class array { public: T elems[N]; public: typedef T value_type; typedef T* iterator; typedef const T* const_iterator; typedef T& reference; typedef const T& const_reference; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; iterator begin() { return elems; } const_iterator begin() const { return elems; } const_iterator cbegin() const { return elems; } iterator end() { return elems+N; } const_iterator end() const { return elems+N; } const_iterator cend() const { return elems+N; } typedef std::reverse_iterator<iterator> reverse_iterator; typedef std::reverse_iterator<const_iterator> const_reverse_iterator; # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } reference operator[](size_type i) { return (((i < N)&&("out of range")) ? (static_cast<void>(0)) : __assert2("/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp", 118, __PRETTY_FUNCTION__, "(i < N)&&(\"out of range\")")), elems[i]; } const_reference operator[](size_type i) const { return (((i < N)&&("out of range")) ? (static_cast<void>(0)) : __assert2("/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp", 123, __PRETTY_FUNCTION__, "(i < N)&&(\"out of range\")")), elems[i]; } reference at(size_type i) { return rangecheck(i), elems[i]; } const_reference at(size_type i) const { return rangecheck(i), elems[i]; } reference front() { return elems[0]; } constexpr const_reference front() const { return elems[0]; } reference back() { return elems[N-1]; } constexpr const_reference back() const { return elems[N-1]; } static constexpr size_type size() { return N; } static constexpr bool empty() { return false; } static constexpr size_type max_size() { return N; } enum { static_size = N }; void swap (array<T,N>& y) { for (size_type i = 0; i < N; ++i) boost::swap(elems[i],y.elems[i]); } const T* data() const { return elems; } T* data() { return elems; } T* c_array() { return elems; } template <typename T2> array<T,N>& operator= (const array<T2,N>& rhs) { std::copy(rhs.begin(),rhs.end(), begin()); return *this; } void assign (const T& value) { fill ( value ); } void fill (const T& value) { std::fill_n(begin(),size(),value); } static constexpr bool rangecheck (size_type i) { return i > size() ? boost::throw_exception(std::out_of_range ("array<>: index out of range")), true : true; } }; template< class T > class array< T, 0 > { public: typedef T value_type; typedef T* iterator; typedef const T* const_iterator; typedef T& reference; typedef const T& const_reference; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; iterator begin() { return iterator( reinterpret_cast< T * >( this ) ); } const_iterator begin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); } const_iterator cbegin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); } iterator end() { return begin(); } const_iterator end() const { return begin(); } const_iterator cend() const { return cbegin(); } typedef std::reverse_iterator<iterator> reverse_iterator; typedef std::reverse_iterator<const_iterator> const_reverse_iterator; # 228 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } reference operator[](size_type ) { return failed_rangecheck(); } const_reference operator[](size_type ) const { return failed_rangecheck(); } reference at(size_type ) { return failed_rangecheck(); } const_reference at(size_type ) const { return failed_rangecheck(); } reference front() { return failed_rangecheck(); } constexpr const_reference front() const { return failed_rangecheck(); } reference back() { return failed_rangecheck(); } constexpr const_reference back() const { return failed_rangecheck(); } static constexpr size_type size() { return 0; } static constexpr bool empty() { return true; } static constexpr size_type max_size() { return 0; } enum { static_size = 0 }; void swap (array<T,0>& ) { } const T* data() const { return 0; } T* data() { return 0; } T* c_array() { return 0; } template <typename T2> array<T,0>& operator= (const array<T2,0>& ) { return *this; } void assign (const T& value) { fill ( value ); } void fill (const T& ) {} static reference failed_rangecheck () { std::out_of_range e("attempt to access element of an empty array"); boost::throw_exception(e); static T placeholder; return placeholder; } }; template<class T, std::size_t N> bool operator== (const array<T,N>& x, const array<T,N>& y) { return std::equal(x.begin(), x.end(), y.begin()); } template<class T, std::size_t N> bool operator< (const array<T,N>& x, const array<T,N>& y) { return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end()); } template<class T, std::size_t N> bool operator!= (const array<T,N>& x, const array<T,N>& y) { return !(x==y); } template<class T, std::size_t N> bool operator> (const array<T,N>& x, const array<T,N>& y) { return y<x; } template<class T, std::size_t N> bool operator<= (const array<T,N>& x, const array<T,N>& y) { return !(y<x); } template<class T, std::size_t N> bool operator>= (const array<T,N>& x, const array<T,N>& y) { return !(x<y); } template<class T, std::size_t N> inline void swap (array<T,N>& x, array<T,N>& y) { x.swap(y); } # 382 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" template <typename T, std::size_t N> T(&get_c_array(boost::array<T,N>& arg))[N] { return arg.elems; } template <typename T, std::size_t N> const T(&get_c_array(const boost::array<T,N>& arg))[N] { return arg.elems; } # 414 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/array.hpp" template <class It> std::size_t hash_range(It, It); template<class T, std::size_t N> std::size_t hash_value(const array<T,N>& arr) { return boost::hash_range(arr.begin(), arr.end()); } template <size_t Idx, typename T, size_t N> T &get(boost::array<T,N> &arr) noexcept { static_assert(Idx < N, "boost::get<>(boost::array &) index out of range"); return arr[Idx]; } template <size_t Idx, typename T, size_t N> const T &get(const boost::array<T,N> &arr) noexcept { static_assert(Idx < N, "boost::get<>(const boost::array &) index out of range"); return arr[Idx]; } } namespace std { template <size_t Idx, typename T, size_t N> T &get(boost::array<T,N> &arr) noexcept { static_assert(Idx < N, "std::get<>(boost::array &) index out of range"); return arr[Idx]; } template <size_t Idx, typename T, size_t N> const T &get(const boost::array<T,N> &arr) noexcept { static_assert(Idx < N, "std::get<>(const boost::array &) index out of range"); return arr[Idx]; } } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/cstdint.hpp" 1 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/cstdint.hpp" 3 # 114 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/cstdint.hpp" 3 namespace boost { using ::int8_t; using ::int_least8_t; using ::int_fast8_t; using ::uint8_t; using ::uint_least8_t; using ::uint_fast8_t; using ::int16_t; using ::int_least16_t; using ::int_fast16_t; using ::uint16_t; using ::uint_least16_t; using ::uint_fast16_t; using ::int32_t; using ::int_least32_t; using ::int_fast32_t; using ::uint32_t; using ::uint_least32_t; using ::uint_fast32_t; using ::int64_t; using ::int_least64_t; using ::int_fast64_t; using ::uint64_t; using ::uint_least64_t; using ::uint_fast64_t; using ::intmax_t; using ::uintmax_t; } # 387 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/cstdint.hpp" 3 namespace boost { using ::intptr_t; using ::uintptr_t; } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/noncopyable.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/noncopyable.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/noncopyable.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/noncopyable.hpp" namespace boost { namespace noncopyable_ { class noncopyable { protected: constexpr noncopyable() = default; ~noncopyable() = default; noncopyable( const noncopyable& ) = delete; noncopyable& operator=( const noncopyable& ) = delete; }; } typedef noncopyable_::noncopyable noncopyable; } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/noncopyable.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/align_up.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/align_up.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_up.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_up.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/is_alignment.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/is_alignment.hpp" namespace boost { namespace alignment { namespace detail { constexpr inline bool is_alignment(std::size_t value) noexcept { return (value > 0) && ((value & (value - 1)) == 0); } } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_up.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" 1 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 1 3 4 # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 3 4 extern "C" { void __assert(const char* _Nonnull __file, int __line, const char* _Nonnull __msg) __attribute__((__noreturn__)); void __assert2(const char* _Nonnull __file, int __line, const char* _Nonnull __function, const char* _Nonnull __msg) __attribute__((__noreturn__)); } # 59 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/assert.hpp" 2 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_up.hpp" 2 namespace boost { namespace alignment { inline void* align_up(void* ptr, std::size_t alignment) noexcept { ((detail::is_alignment(alignment)) ? (static_cast<void>(0)) : __assert2("/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_up.hpp", 20, __PRETTY_FUNCTION__, "detail::is_alignment(alignment)")); return reinterpret_cast<void*>(~(alignment - 1) & (reinterpret_cast<std::size_t>(ptr) + alignment - 1)); } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/align_up.hpp" 2 namespace boost { namespace alignment { constexpr inline std::size_t align_up(std::size_t value, std::size_t alignment) noexcept { return (value + alignment - 1) & ~(alignment - 1); } } } # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/is_alignment_constant.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/is_alignment_constant.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/integral_constant.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/integral_constant.hpp" namespace boost { namespace alignment { namespace detail { using std::integral_constant; # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/integral_constant.hpp" } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/is_alignment_constant.hpp" 2 namespace boost { namespace alignment { namespace detail { template<std::size_t N> struct is_alignment_constant : integral_constant<bool, (N > 0) && ((N & (N - 1)) == 0)> { }; } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/max_align.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/max_align.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/max_size.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/max_size.hpp" namespace boost { namespace alignment { namespace detail { template<std::size_t A, std::size_t B> struct max_size : integral_constant<std::size_t, (A > B) ? A : B> { }; } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/max_align.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/element_type.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/element_type.hpp" namespace boost { namespace alignment { namespace detail { using std::remove_reference; using std::remove_all_extents; using std::remove_cv; # 81 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/element_type.hpp" template<class T> struct element_type { typedef typename remove_cv<typename remove_all_extents<typename remove_reference<T>::type>::type>::type type; }; } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of_forward.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of_forward.hpp" namespace boost { namespace alignment { template<class T> struct alignment_of; } } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/alignment_of.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/alignment_of.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/min_size.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/min_size.hpp" namespace boost { namespace alignment { namespace detail { template<std::size_t A, std::size_t B> struct min_size : integral_constant<std::size_t, (A < B) ? A : B> { }; } } } # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/alignment_of.hpp" 2 namespace boost { namespace alignment { namespace detail { template<class T> struct offset_value { char value; T object; }; template<class T> struct alignment_of : min_size<sizeof(T), sizeof(offset_value<T>) - sizeof(T)> { }; } } } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of.hpp" 2 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/alignment_of.hpp" namespace boost { namespace alignment { template<class T> struct alignment_of : detail::alignment_of<typename detail::element_type<T>::type>::type { }; template<class T> constexpr std::size_t alignment_of_v = alignment_of<T>::value; } } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/max_align.hpp" 2 namespace boost { namespace alignment { namespace detail { template<class A, class B> struct max_align : max_size<alignment_of<A>::value, alignment_of<B>::value> { }; } } } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/align.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/align.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_cxx11.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/detail/align_cxx11.hpp" namespace boost { namespace alignment { using std::align; } } # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/align.hpp" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor_forward.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor_forward.hpp" namespace boost { namespace alignment { template<class Allocator, std::size_t Alignment = 1> class aligned_allocator_adaptor; } } # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/pointer_traits.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/pointer_traits.hpp" namespace boost { template<class T> struct pointer_traits : std::pointer_traits<T> { template<class U> struct rebind_to { typedef typename std::pointer_traits<T>::template rebind<U> type; }; }; template<class T> struct pointer_traits<T*> : std::pointer_traits<T*> { template<class U> struct rebind_to { typedef U* type; }; }; # 182 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/pointer_traits.hpp" template<class T> constexpr inline T* to_address(T* v) noexcept { return v; } namespace detail { template<class T> inline T* ptr_address(T* v, int) noexcept { return v; } template<class T> inline auto ptr_address(const T& v, int) noexcept -> decltype(boost::pointer_traits<T>::to_address(v)) { return boost::pointer_traits<T>::to_address(v); } template<class T> inline auto ptr_address(const T& v, long) noexcept { return boost::detail::ptr_address(v.operator->(), 0); } } template<class T> inline auto to_address(const T& v) noexcept { return boost::detail::ptr_address(v, 0); } # 231 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/pointer_traits.hpp" } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" 2 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/align/aligned_allocator_adaptor.hpp" namespace boost { namespace alignment { template<class Allocator, std::size_t Alignment> class aligned_allocator_adaptor : public Allocator { static_assert(detail::is_alignment_constant<Alignment>::value, "detail::is_alignment_constant<Alignment>::value"); typedef std::allocator_traits<Allocator> traits; typedef typename traits::template rebind_alloc<char> char_alloc; typedef typename traits::template rebind_traits<char> char_traits; typedef typename char_traits::pointer char_ptr; public: typedef typename Allocator::value_type value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef void* void_pointer; typedef const void* const_void_pointer; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; private: enum { min_align = detail::max_size<Alignment, detail::max_align<value_type, char_ptr>::value>::value }; public: template<class U> struct rebind { typedef aligned_allocator_adaptor<typename traits::template rebind_alloc<U>, Alignment> other; }; aligned_allocator_adaptor() = default; template<class A> explicit aligned_allocator_adaptor(A&& alloc) noexcept : Allocator(std::forward<A>(alloc)) { } template<class U> aligned_allocator_adaptor(const aligned_allocator_adaptor<U, Alignment>& other) noexcept : Allocator(other.base()) { } Allocator& base() noexcept { return static_cast<Allocator&>(*this); } const Allocator& base() const noexcept { return static_cast<const Allocator&>(*this); } pointer allocate(size_type size) { std::size_t s = size * sizeof(value_type); std::size_t n = s + min_align - 1; char_alloc a(base()); char_ptr p = a.allocate(sizeof p + n); void* r = boost::to_address(p) + sizeof p; (void)align(min_align, s, r, n); ::new(static_cast<void*>(static_cast<char_ptr*>(r) - 1)) char_ptr(p); return static_cast<pointer>(r); } pointer allocate(size_type size, const_void_pointer hint) { std::size_t s = size * sizeof(value_type); std::size_t n = s + min_align - 1; char_ptr h = char_ptr(); if (hint) { h = *(static_cast<const char_ptr*>(hint) - 1); } char_alloc a(base()); char_ptr p = char_traits::allocate(a, sizeof p + n, h); void* r = boost::to_address(p) + sizeof p; (void)align(min_align, s, r, n); ::new(static_cast<void*>(static_cast<char_ptr*>(r) - 1)) char_ptr(p); return static_cast<pointer>(r); } void deallocate(pointer ptr, size_type size) { char_ptr* p = reinterpret_cast<char_ptr*>(ptr) - 1; char_ptr r = *p; p->~char_ptr(); char_alloc a(base()); a.deallocate(r, sizeof r + size * sizeof(value_type) + min_align - 1); } }; template<class A, class B, std::size_t Alignment> inline bool operator==(const aligned_allocator_adaptor<A, Alignment>& a, const aligned_allocator_adaptor<B, Alignment>& b) noexcept { return a.base() == b.base(); } template<class A, class B, std::size_t Alignment> inline bool operator!=(const aligned_allocator_adaptor<A, Alignment>& a, const aligned_allocator_adaptor<B, Alignment>& b) noexcept { return !(a == b); } } } # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/parameter.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/parameter.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/policies.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/policies.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/template_keyword.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/and.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/and.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/use_preprocessed.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/and.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/nested_type_wknd.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/nested_type_wknd.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct nested_type_wknd : T::type { }; }}} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/and.hpp" 2 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/and.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/compiler.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/stringize.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/and.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/and.hpp" namespace boost { namespace mpl { namespace aux { template< bool C_, typename T1, typename T2, typename T3, typename T4 > struct and_impl : false_ { }; template< typename T1, typename T2, typename T3, typename T4 > struct and_impl< true,T1,T2,T3,T4 > : and_impl< ::boost::mpl::aux::nested_type_wknd<T1>::value , T2, T3, T4 , true_ > { }; template<> struct and_impl< true , true_, true_, true_, true_ > : true_ { }; } template< typename T1 = na , typename T2 = na , typename T3 = true_, typename T4 = true_, typename T5 = true_ > struct and_ : aux::and_impl< ::boost::mpl::aux::nested_type_wknd<T1>::value , T2, T3, T4, T5 > { }; template<> struct and_< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : and_< T1 , T2 > { }; }; template< typename Tag > struct lambda< and_< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef and_< na , na > result_; typedef and_< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< and_< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< and_< na , na > > : int_<-1> { }; } }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/and.hpp" 2 # 9 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/template_keyword.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/not.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/not.hpp" namespace boost { namespace mpl { namespace aux { template< long C_ > struct not_impl : bool_<!C_> { }; } template< typename T = na > struct not_ : aux::not_impl< ::boost::mpl::aux::nested_type_wknd<T>::value > { }; template<> struct not_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : not_< T1 > { }; }; template< typename Tag > struct lambda< not_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef not_< na > result_; typedef not_< na > type; }; namespace aux { template< typename T1 > struct template_arity< not_< T1 > > : int_<1> { }; template<> struct template_arity< not_< na > > : int_<-1> { }; } }} # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/template_keyword.hpp" 2 namespace boost { namespace parameter { namespace aux { struct template_keyword_tag {}; template <class T, class U> struct is_pointer_convertible : is_convertible<T*, U*> {}; template <class T> struct is_template_keyword : mpl::and_< mpl::not_<is_reference<T> > , is_pointer_convertible<T, template_keyword_tag> > {}; } template <class Tag, class T> struct template_keyword : aux::template_keyword_tag { typedef Tag key_type; typedef T value_type; typedef value_type reference; }; }} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/policies.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_t.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_t.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_t_fwd.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_t_fwd.hpp" namespace mpl_ { template< std::size_t N > struct size_t; } namespace boost { namespace mpl { using ::mpl_::size_t; } } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_t.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" 1 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< std::size_t N > struct size_t { static const std::size_t value = N; typedef size_t type; typedef std::size_t value_type; typedef integral_c_tag tag; # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" typedef mpl_::size_t< static_cast<std::size_t>((value + 1)) > next; typedef mpl_::size_t< static_cast<std::size_t>((value - 1)) > prior; constexpr operator std::size_t() const { return static_cast<std::size_t>(this->value); } }; template< std::size_t N > std::size_t const mpl_::size_t< N >::value; } # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_t.hpp" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/policies.hpp" 2 namespace boost { namespace lockfree { namespace tag { struct allocator ; } namespace tag { struct fixed_sized; } namespace tag { struct capacity; } # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/policies.hpp" template <bool IsFixedSized> struct fixed_sized: boost::parameter::template_keyword<tag::fixed_sized, boost::mpl::bool_<IsFixedSized> > {}; template <size_t Size> struct capacity: boost::parameter::template_keyword<tag::capacity, boost::mpl::size_t<Size> > {}; template <class Alloc> struct allocator: boost::parameter::template_keyword<tag::allocator, Alloc> {}; } } # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/parameter.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/is_xxx.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/enum_params.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/enum_params.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_params.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/enum_params.hpp" 2 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/detail/is_xxx.hpp" 2 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind_fwd.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind_fwd.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/bind.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind_fwd.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp" namespace boost { namespace mpl { template< typename F, typename T1 = na, typename T2 = na, typename T3 = na , typename T4 = na, typename T5 = na > struct bind; template< typename F > struct bind0; template< typename F, typename T1 > struct bind1; template< typename F, typename T1, typename T2 > struct bind2; template< typename F, typename T1, typename T2, typename T3 > struct bind3; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct bind4; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct bind5; }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind_fwd.hpp" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg_fwd.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg_fwd.hpp" namespace mpl_ { template< int N > struct arg; } namespace boost { namespace mpl { using ::mpl_::arg; } } # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_assert.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_assert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/yes_no.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/yes_no.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/arrays.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/yes_no.hpp" 2 namespace boost { namespace mpl { namespace aux { typedef char (&no_tag)[1]; typedef char (&yes_tag)[2]; template< bool C_ > struct yes_no_tag { typedef no_tag type; }; template<> struct yes_no_tag<true> { typedef yes_tag type; }; template< long n > struct weighted_tag { typedef char (&type)[n]; }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/yes_no.hpp" }}} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/gpu.hpp" 1 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/pp_counter.hpp" 1 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" 2 # 66 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" namespace mpl_ { struct failed {}; # 79 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" template< bool C > struct assert { typedef void* type; }; template<> struct assert<false> { typedef assert type; }; template< bool C > int assertion_failed( typename assert<C>::type ); template< bool C > struct assertion { static int failed( assert<false> ); }; template<> struct assertion<true> { static int failed( void* ); }; struct assert_ { template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {}; static assert_ const arg; enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal }; }; # 127 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ ); boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ ); boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ ); boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ ); boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ ); boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ ); template< assert_::relations r, long x, long y > struct assert_relation {}; # 171 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" template< bool > struct assert_arg_pred_impl { typedef int type; }; template<> struct assert_arg_pred_impl<true> { typedef void* type; }; template< typename P > struct assert_arg_pred { typedef typename P::type p_type; typedef typename assert_arg_pred_impl< p_type::value >::type type; }; template< typename P > struct assert_arg_pred_not { typedef typename P::type p_type; enum { p = !p_type::value }; typedef typename assert_arg_pred_impl<p>::type type; }; template< typename Pred > failed ************ (Pred::************ assert_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type ) ); template< typename Pred > failed ************ (boost::mpl::not_<Pred>::************ assert_not_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type ) ); template< typename Pred > assert<false> assert_arg( void (*)(Pred), typename assert_arg_pred_not<Pred>::type ); template< typename Pred > assert<false> assert_not_arg( void (*)(Pred), typename assert_arg_pred<Pred>::type ); # 257 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/assert.hpp" } # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/na_assert.hpp" 2 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/arity_spec.hpp" 1 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/arg_typedef.hpp" 1 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/arg.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/arg.hpp" namespace mpl_ { template<> struct arg< -1 > { static const int value = -1; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U1 type; enum { mpl_assertion_in_line_27 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) }; }; }; template<> struct arg<1> { static const int value = 1; typedef arg<2> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U1 type; enum { mpl_assertion_in_line_45 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) }; }; }; template<> struct arg<2> { static const int value = 2; typedef arg<3> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U2 type; enum { mpl_assertion_in_line_63 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) }; }; }; template<> struct arg<3> { static const int value = 3; typedef arg<4> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U3 type; enum { mpl_assertion_in_line_81 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) }; }; }; template<> struct arg<4> { static const int value = 4; typedef arg<5> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U4 type; enum { mpl_assertion_in_line_99 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) }; }; }; template<> struct arg<5> { static const int value = 5; typedef arg<6> next; template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { typedef U5 type; enum { mpl_assertion_in_line_117 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (boost::mpl::is_na<type>))0, 1 ) ) ) }; }; }; } # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" 2 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp" namespace mpl_ { typedef arg< -1 > _; } namespace boost { namespace mpl { using ::mpl_::_; namespace placeholders { using mpl_::_; } }} namespace mpl_ { typedef arg<1> _1; } namespace boost { namespace mpl { using ::mpl_::_1; namespace placeholders { using mpl_::_1; } }} namespace mpl_ { typedef arg<2> _2; } namespace boost { namespace mpl { using ::mpl_::_2; namespace placeholders { using mpl_::_2; } }} namespace mpl_ { typedef arg<3> _3; } namespace boost { namespace mpl { using ::mpl_::_3; namespace placeholders { using mpl_::_3; } }} namespace mpl_ { typedef arg<4> _4; } namespace boost { namespace mpl { using ::mpl_::_4; namespace placeholders { using mpl_::_4; } }} namespace mpl_ { typedef arg<5> _5; } namespace boost { namespace mpl { using ::mpl_::_5; namespace placeholders { using mpl_::_5; } }} namespace mpl_ { typedef arg<6> _6; } namespace boost { namespace mpl { using ::mpl_::_6; namespace placeholders { using mpl_::_6; } }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/next.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/next.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/next_prior.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/next_prior.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/common_name_wknd.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/next_prior.hpp" 2 namespace boost { namespace mpl { template< typename T = na > struct next { typedef typename T::next type; }; template< typename T = na > struct prior { typedef typename T::prior type; }; template<> struct next< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : next< T1 > { }; }; template< typename Tag > struct lambda< next< na > , Tag , int_<-1> > { typedef false_ is_le; typedef next< na > result_; typedef next< na > type; }; namespace aux { template< typename T1 > struct template_arity< next< T1 > > : int_<1> { }; template<> struct template_arity< next< na > > : int_<-1> { }; } template<> struct prior< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : prior< T1 > { }; }; template< typename Tag > struct lambda< prior< na > , Tag , int_<-1> > { typedef false_ is_le; typedef prior< na > result_; typedef prior< na > type; }; namespace aux { template< typename T1 > struct template_arity< prior< T1 > > : int_<1> { }; template<> struct template_arity< prior< na > > : int_<-1> { }; } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/next.hpp" 2 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/protect.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/protect.hpp" namespace boost { namespace mpl { template< typename T = na , int not_le_ = 0 > struct protect : T { typedef protect type; }; # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/protect.hpp" template<> struct protect< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : protect< T1 > { }; }; namespace aux { template< typename T1 > struct template_arity< protect< T1 > > : int_<1> { }; template<> struct template_arity< protect< na > > : int_<-1> { }; } }} # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_apply.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_apply.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/type_wrapper.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/type_wrapper.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > struct type_wrapper { typedef T type; }; template< typename T > struct wrapped_type; template< typename T > struct wrapped_type< type_wrapper<T> > { typedef T type; }; }}} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/has_xxx.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/msvc_typename.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/array/elem.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/array/elem.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/array/data.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/array/elem.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/array/size.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/array/elem.hpp" 2 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_trailing_params.hpp" 1 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_xxx.hpp" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_apply.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/has_apply.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_apply.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_<false> > struct has_apply { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::apply>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; }; }}} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_never_true.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp" namespace boost { namespace mpl { template< typename F , typename has_apply_ = typename aux::has_apply<F>::type > struct apply_wrap0 : F::template apply< > { }; template< typename F > struct apply_wrap0< F,true_ > : F::apply { }; template< typename F, typename T1 > struct apply_wrap1 : F::template apply<T1> { }; template< typename F, typename T1, typename T2 > struct apply_wrap2 : F::template apply< T1,T2 > { }; template< typename F, typename T1, typename T2, typename T3 > struct apply_wrap3 : F::template apply< T1,T2,T3 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply_wrap4 : F::template apply< T1,T2,T3,T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply_wrap5 : F::template apply< T1,T2,T3,T4,T5 > { }; }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" 2 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 2 # 50 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/bind.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/bind.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg { typedef T type; }; template< typename T , typename Arg > struct replace_unnamed_arg { typedef Arg next; typedef T type; }; template< typename Arg > struct replace_unnamed_arg< arg< -1 >, Arg > { typedef typename Arg::next next; typedef Arg type; }; template< int N, typename U1, typename U2, typename U3, typename U4, typename U5 > struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 > { typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > { typedef bind< F,T1,T2,T3,T4,T5 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } template< typename F > struct bind0 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; public: typedef typename apply_wrap0< f_ >::type type; }; }; namespace aux { template< typename F, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg< bind0<F>, U1, U2, U3, U4, U5 > { typedef bind0<F> f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 > struct template_arity< bind0< T1> > : int_<1> { }; } template< typename F > struct bind< F,na,na,na,na,na > : bind0<F> { }; template< typename F, typename T1 > struct bind1 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; public: typedef typename apply_wrap1< f_ , typename t1::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename U1, typename U2, typename U3 , typename U4, typename U5 > struct resolve_bind_arg< bind1< F,T1 >, U1, U2, U3, U4, U5 > { typedef bind1< F,T1 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 > struct template_arity< bind1< T1 , T2> > : int_<2> { }; } template< typename F, typename T1 > struct bind< F,T1,na,na,na,na > : bind1< F,T1 > { }; template< typename F, typename T1, typename T2 > struct bind2 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; public: typedef typename apply_wrap2< f_ , typename t1::type, typename t2::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename U1, typename U2 , typename U3, typename U4, typename U5 > struct resolve_bind_arg< bind2< F,T1,T2 >, U1, U2, U3, U4, U5 > { typedef bind2< F,T1,T2 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< bind2< T1 , T2 , T3> > : int_<3> { }; } template< typename F, typename T1, typename T2 > struct bind< F,T1,T2,na,na,na > : bind2< F,T1,T2 > { }; template< typename F, typename T1, typename T2, typename T3 > struct bind3 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; public: typedef typename apply_wrap3< f_ , typename t1::type, typename t2::type, typename t3::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename T3, typename U1 , typename U2, typename U3, typename U4, typename U5 > struct resolve_bind_arg< bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 > { typedef bind3< F,T1,T2,T3 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 > struct template_arity< bind3< T1 , T2 , T3 , T4> > : int_<4> { }; } template< typename F, typename T1, typename T2, typename T3 > struct bind< F,T1,T2,T3,na,na > : bind3< F,T1,T2,T3 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct bind4 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef aux::replace_unnamed_arg< T4,n4 > r4; typedef typename r4::type a4; typedef typename r4::next n5; typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; public: typedef typename apply_wrap4< f_ , typename t1::type, typename t2::type, typename t3::type , typename t4::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename T3, typename T4 , typename U1, typename U2, typename U3, typename U4, typename U5 > struct resolve_bind_arg< bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 > { typedef bind4< F,T1,T2,T3,T4 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< bind4< T1 , T2 , T3 , T4 , T5> > : int_<5> { }; } template< typename F, typename T1, typename T2, typename T3, typename T4 > struct bind< F,T1,T2,T3,T4,na > : bind4< F,T1,T2,T3,T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct bind5 { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; typedef typename r0::type a0; typedef typename r0::next n1; typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef aux::replace_unnamed_arg< T4,n4 > r4; typedef typename r4::type a4; typedef typename r4::next n5; typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; typedef aux::replace_unnamed_arg< T5,n5 > r5; typedef typename r5::type a5; typedef typename r5::next n6; typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; public: typedef typename apply_wrap5< f_ , typename t1::type, typename t2::type, typename t3::type , typename t4::type, typename t5::type >::type type; }; }; namespace aux { template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5, typename U1, typename U2, typename U3, typename U4 , typename U5 > struct resolve_bind_arg< bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > { typedef bind5< F,T1,T2,T3,T4,T5 > f_; typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; }; } namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct template_arity< bind5< T1 , T2 , T3 , T4 , T5 , T6> > : int_<6> { }; } template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct bind : bind5< F,T1,T2,T3,T4,T5 > { }; template< template< typename T1, typename T2, typename T3 > class F, typename Tag > struct quote3; template< typename T1, typename T2, typename T3 > struct if_; template< typename Tag, typename T1, typename T2, typename T3 > struct bind3< quote3< if_,Tag > , T1, T2, T3 > { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef mpl::arg<1> n1; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef typename if_< typename t1::type , t2, t3 >::type f_; public: typedef typename f_::type type; }; }; template< template< typename T1, typename T2, typename T3 > class F, typename Tag > struct quote3; template< typename T1, typename T2, typename T3 > struct eval_if; template< typename Tag, typename T1, typename T2, typename T3 > struct bind3< quote3< eval_if,Tag > , T1, T2, T3 > { template< typename U1 = na, typename U2 = na, typename U3 = na , typename U4 = na, typename U5 = na > struct apply { private: typedef mpl::arg<1> n1; typedef aux::replace_unnamed_arg< T1,n1 > r1; typedef typename r1::type a1; typedef typename r1::next n2; typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; typedef aux::replace_unnamed_arg< T2,n2 > r2; typedef typename r2::type a2; typedef typename r2::next n3; typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; typedef aux::replace_unnamed_arg< T3,n3 > r3; typedef typename r3::type a3; typedef typename r3::next n4; typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; typedef typename eval_if< typename t1::type , t2, t3 >::type f_; public: typedef typename f_::type type; }; }; }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/bind_fwd.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/void.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/void.hpp" namespace mpl_ { struct void_ { typedef void_ type; }; } namespace boost { namespace mpl { template< typename T > struct is_void_ : false_ { }; template<> struct is_void_<void_> : true_ { }; template< typename T > struct is_not_void_ : true_ { }; template<> struct is_not_void_<void_> : false_ { }; template<> struct is_void_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_void_< T1 > { }; }; template< typename Tag > struct lambda< is_void_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_void_< na > result_; typedef is_void_< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_void_< T1 > > : int_<1> { }; template<> struct template_arity< is_void_< na > > : int_<-1> { }; } template<> struct is_not_void_< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : is_not_void_< T1 > { }; }; template< typename Tag > struct lambda< is_not_void_< na > , Tag , int_<-1> > { typedef false_ is_le; typedef is_not_void_< na > result_; typedef is_not_void_< na > type; }; namespace aux { template< typename T1 > struct template_arity< is_not_void_< T1 > > : int_<1> { }; template<> struct template_arity< is_not_void_< na > > : int_<-1> { }; } }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_type.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_type.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_<true> > struct has_type { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::type>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; }; }}} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/bcc.hpp" 1 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" 2 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/quote.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/quote.hpp" namespace boost { namespace mpl { template< typename T, bool has_type_ > struct quote_impl { typedef typename T::type type; }; template< typename T > struct quote_impl< T,false > { typedef T type; }; template< template< typename P1 > class F , typename Tag = void_ > struct quote1 { template< typename U1 > struct apply : quote_impl< F<U1> , aux::has_type< F<U1> >::value > { }; }; template< template< typename P1, typename P2 > class F , typename Tag = void_ > struct quote2 { template< typename U1, typename U2 > struct apply : quote_impl< F< U1,U2 > , aux::has_type< F< U1,U2 > >::value > { }; }; template< template< typename P1, typename P2, typename P3 > class F , typename Tag = void_ > struct quote3 { template< typename U1, typename U2, typename U3 > struct apply : quote_impl< F< U1,U2,U3 > , aux::has_type< F< U1,U2,U3 > >::value > { }; }; template< template< typename P1, typename P2, typename P3, typename P4 > class F , typename Tag = void_ > struct quote4 { template< typename U1, typename U2, typename U3, typename U4 > struct apply : quote_impl< F< U1,U2,U3,U4 > , aux::has_type< F< U1,U2,U3,U4 > >::value > { }; }; template< template< typename P1, typename P2, typename P3, typename P4 , typename P5 > class F , typename Tag = void_ > struct quote5 { template< typename U1, typename U2, typename U3, typename U4 , typename U5 > struct apply : quote_impl< F< U1,U2,U3,U4,U5 > , aux::has_type< F< U1,U2,U3,U4,U5 > >::value > { }; }; }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/quote.hpp" 2 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 1 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/template_arity.hpp" 1 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/template_arity.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp" namespace boost { namespace mpl { namespace aux { template< int N > struct arity_tag { typedef char (&type)[N + 1]; }; template< int C1, int C2, int C3, int C4, int C5, int C6 > struct max_arity { static const int value = ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) ); }; arity_tag<0>::type arity_helper(...); template< template< typename P1 > class F , typename T1 > typename arity_tag<1>::type arity_helper(type_wrapper< F<T1> >, arity_tag<1>); template< template< typename P1, typename P2 > class F , typename T1, typename T2 > typename arity_tag<2>::type arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>); template< template< typename P1, typename P2, typename P3 > class F , typename T1, typename T2, typename T3 > typename arity_tag<3>::type arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>); template< template< typename P1, typename P2, typename P3, typename P4 > class F , typename T1, typename T2, typename T3, typename T4 > typename arity_tag<4>::type arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>); template< template< typename P1, typename P2, typename P3, typename P4 , typename P5 > class F , typename T1, typename T2, typename T3, typename T4, typename T5 > typename arity_tag<5>::type arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>); template< template< typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6 > class F , typename T1, typename T2, typename T3, typename T4, typename T5 , typename T6 > typename arity_tag<6>::type arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>); template< typename F, int N > struct template_arity_impl { static const int value = sizeof(::boost::mpl::aux::arity_helper(type_wrapper<F>(), arity_tag<N>())) - 1; }; template< typename F > struct template_arity { static const int value = ( max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value ); typedef mpl::int_<value> type; }; }}} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/template_arity.hpp" 2 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" 2 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp" namespace boost { namespace mpl { namespace aux { template< bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false , bool C5 = false > struct lambda_or : true_ { }; template<> struct lambda_or< false,false,false,false,false > : false_ { }; } template< typename T , typename Tag , typename Arity > struct lambda { typedef false_ is_le; typedef T result_; typedef T type; }; template< typename T > struct is_lambda_expression : lambda<T>::is_le { }; template< int N, typename Tag > struct lambda< arg<N>,Tag, int_< -1 > > { typedef true_ is_le; typedef mpl::arg<N> result_; typedef mpl::protect<result_> type; }; template< typename F , typename Tag > struct lambda< bind0<F> , Tag , int_<1> > { typedef false_ is_le; typedef bind0< F > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1 > class F , typename L1 > struct le_result1 { typedef F< typename L1::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1 > class F , typename L1 > struct le_result1< true_,Tag,F,L1 > { typedef bind1< quote1< F,Tag > , typename L1::result_ > result_; typedef mpl::protect<result_> type; }; } template< template< typename P1 > class F , typename T1 , typename Tag > struct lambda< F<T1> , Tag , int_<1> > { typedef lambda< T1,Tag > l1; typedef typename l1::is_le is_le1; typedef typename aux::lambda_or< is_le1::value >::type is_le; typedef aux::le_result1< is_le, Tag, F, l1 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1 , typename Tag > struct lambda< bind1< F,T1 > , Tag , int_<2> > { typedef false_ is_le; typedef bind1< F , T1 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2 > class F , typename L1, typename L2 > struct le_result2 { typedef F< typename L1::type, typename L2::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2 > class F , typename L1, typename L2 > struct le_result2< true_,Tag,F,L1,L2 > { typedef bind2< quote2< F,Tag > , typename L1::result_, typename L2::result_ > result_; typedef mpl::protect<result_> type; }; } template< template< typename P1, typename P2 > class F , typename T1, typename T2 , typename Tag > struct lambda< F< T1,T2 > , Tag , int_<2> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename aux::lambda_or< is_le1::value, is_le2::value >::type is_le; typedef aux::le_result2< is_le, Tag, F, l1, l2 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2 , typename Tag > struct lambda< bind2< F,T1,T2 > , Tag , int_<3> > { typedef false_ is_le; typedef bind2< F , T1, T2 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2, typename P3 > class F , typename L1, typename L2, typename L3 > struct le_result3 { typedef F< typename L1::type, typename L2::type, typename L3::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2, typename P3 > class F , typename L1, typename L2, typename L3 > struct le_result3< true_,Tag,F,L1,L2,L3 > { typedef bind3< quote3< F,Tag > , typename L1::result_, typename L2::result_, typename L3::result_ > result_; typedef mpl::protect<result_> type; }; } template< template< typename P1, typename P2, typename P3 > class F , typename T1, typename T2, typename T3 , typename Tag > struct lambda< F< T1,T2,T3 > , Tag , int_<3> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef lambda< T3,Tag > l3; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename l3::is_le is_le3; typedef typename aux::lambda_or< is_le1::value, is_le2::value, is_le3::value >::type is_le; typedef aux::le_result3< is_le, Tag, F, l1, l2, l3 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2, typename T3 , typename Tag > struct lambda< bind3< F,T1,T2,T3 > , Tag , int_<4> > { typedef false_ is_le; typedef bind3< F , T1, T2, T3 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2, typename P3, typename P4 > class F , typename L1, typename L2, typename L3, typename L4 > struct le_result4 { typedef F< typename L1::type, typename L2::type, typename L3::type , typename L4::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2, typename P3, typename P4 > class F , typename L1, typename L2, typename L3, typename L4 > struct le_result4< true_,Tag,F,L1,L2,L3,L4 > { typedef bind4< quote4< F,Tag > , typename L1::result_, typename L2::result_, typename L3::result_ , typename L4::result_ > result_; typedef mpl::protect<result_> type; }; } template< template< typename P1, typename P2, typename P3, typename P4 > class F , typename T1, typename T2, typename T3, typename T4 , typename Tag > struct lambda< F< T1,T2,T3,T4 > , Tag , int_<4> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef lambda< T3,Tag > l3; typedef lambda< T4,Tag > l4; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename l3::is_le is_le3; typedef typename l4::is_le is_le4; typedef typename aux::lambda_or< is_le1::value, is_le2::value, is_le3::value, is_le4::value >::type is_le; typedef aux::le_result4< is_le, Tag, F, l1, l2, l3, l4 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename Tag > struct lambda< bind4< F,T1,T2,T3,T4 > , Tag , int_<5> > { typedef false_ is_le; typedef bind4< F , T1, T2, T3, T4 > result_; typedef result_ type; }; namespace aux { template< typename IsLE, typename Tag , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F , typename L1, typename L2, typename L3, typename L4, typename L5 > struct le_result5 { typedef F< typename L1::type, typename L2::type, typename L3::type , typename L4::type, typename L5::type > result_; typedef result_ type; }; template< typename Tag , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F , typename L1, typename L2, typename L3, typename L4, typename L5 > struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > { typedef bind5< quote5< F,Tag > , typename L1::result_, typename L2::result_, typename L3::result_ , typename L4::result_, typename L5::result_ > result_; typedef mpl::protect<result_> type; }; } template< template< typename P1, typename P2, typename P3, typename P4 , typename P5 > class F , typename T1, typename T2, typename T3, typename T4, typename T5 , typename Tag > struct lambda< F< T1,T2,T3,T4,T5 > , Tag , int_<5> > { typedef lambda< T1,Tag > l1; typedef lambda< T2,Tag > l2; typedef lambda< T3,Tag > l3; typedef lambda< T4,Tag > l4; typedef lambda< T5,Tag > l5; typedef typename l1::is_le is_le1; typedef typename l2::is_le is_le2; typedef typename l3::is_le is_le3; typedef typename l4::is_le is_le4; typedef typename l5::is_le is_le5; typedef typename aux::lambda_or< is_le1::value, is_le2::value, is_le3::value, is_le4::value , is_le5::value >::type is_le; typedef aux::le_result5< is_le, Tag, F, l1, l2, l3, l4, l5 > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 , typename Tag > struct lambda< bind5< F,T1,T2,T3,T4,T5 > , Tag , int_<6> > { typedef false_ is_le; typedef bind5< F , T1, T2, T3, T4, T5 > result_; typedef result_ type; }; template< typename T, typename Tag > struct lambda< mpl::protect<T>,Tag, int_<1> > { typedef false_ is_le; typedef mpl::protect<T> result_; typedef result_ type; }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 , typename Tag > struct lambda< bind< F,T1,T2,T3,T4,T5 > , Tag , int_<6> > { typedef false_ is_le; typedef bind< F,T1,T2,T3,T4,T5 > result_; typedef result_ type; }; template< typename F , typename Tag1 , typename Tag2 , typename Arity > struct lambda< lambda< F,Tag1,Arity > , Tag2 , int_<3> > { typedef lambda< F,Tag2 > l1; typedef lambda< Tag1,Tag2 > l2; typedef typename l1::is_le is_le; typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_; typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; template<> struct lambda< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : lambda< T1 , T2 > { }; }; template< typename Tag > struct lambda< lambda< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef lambda< na , na > result_; typedef lambda< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< lambda< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< lambda< na , na > > : int_<-1> { }; } }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/full_lambda.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/lambda.hpp" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_fwd.hpp" 1 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_fwd.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp" namespace boost { namespace mpl { template< typename F, typename T1 = na, typename T2 = na, typename T3 = na , typename T4 = na, typename T5 = na > struct apply; template< typename F > struct apply0; template< typename F, typename T1 > struct apply1; template< typename F, typename T1, typename T2 > struct apply2; template< typename F, typename T1, typename T2, typename T3 > struct apply3; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply4; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply5; }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_fwd.hpp" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" 1 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 2 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/apply.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/apply.hpp" namespace boost { namespace mpl { template< typename F > struct apply0 : apply_wrap0< typename lambda<F>::type > { }; template< typename F > struct apply< F,na,na,na,na,na > : apply0<F> { }; template< typename F, typename T1 > struct apply1 : apply_wrap1< typename lambda<F>::type , T1 > { }; template< typename F, typename T1 > struct apply< F,T1,na,na,na,na > : apply1< F,T1 > { }; template< typename F, typename T1, typename T2 > struct apply2 : apply_wrap2< typename lambda<F>::type , T1, T2 > { }; template< typename F, typename T1, typename T2 > struct apply< F,T1,T2,na,na,na > : apply2< F,T1,T2 > { }; template< typename F, typename T1, typename T2, typename T3 > struct apply3 : apply_wrap3< typename lambda<F>::type , T1, T2, T3 > { }; template< typename F, typename T1, typename T2, typename T3 > struct apply< F,T1,T2,T3,na,na > : apply3< F,T1,T2,T3 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply4 : apply_wrap4< typename lambda<F>::type , T1, T2, T3, T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 > struct apply< F,T1,T2,T3,T4,na > : apply4< F,T1,T2,T3,T4 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply5 : apply_wrap5< typename lambda<F>::type , T1, T2, T3, T4, T5 > { }; template< typename F, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct apply : apply5< F,T1,T2,T3,T4,T5 > { }; }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/always.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/always.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessor/default_params.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/always.hpp" 2 namespace boost { namespace mpl { template< typename Value > struct always { template< typename T1 = na , typename T2 = na , typename T3 = na , typename T4 = na , typename T5 = na > struct apply { typedef Value type; }; }; }} # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/or.hpp" 1 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/or.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/or.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/or.hpp" namespace boost { namespace mpl { namespace aux { template< bool C_, typename T1, typename T2, typename T3, typename T4 > struct or_impl : true_ { }; template< typename T1, typename T2, typename T3, typename T4 > struct or_impl< false,T1,T2,T3,T4 > : or_impl< ::boost::mpl::aux::nested_type_wknd<T1>::value , T2, T3, T4 , false_ > { }; template<> struct or_impl< false , false_, false_, false_, false_ > : false_ { }; } template< typename T1 = na , typename T2 = na , typename T3 = false_, typename T4 = false_, typename T5 = false_ > struct or_ : aux::or_impl< ::boost::mpl::aux::nested_type_wknd<T1>::value , T2, T3, T4, T5 > { }; template<> struct or_< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : or_< T1 , T2 > { }; }; template< typename Tag > struct lambda< or_< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef or_< na , na > result_; typedef or_< na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct template_arity< or_< T1 , T2 , T3 , T4 , T5 > > : int_<5> { }; template<> struct template_arity< or_< na , na > > : int_<-1> { }; } }} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/or.hpp" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/identity.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/identity.hpp" namespace boost { namespace mpl { template< typename T = na > struct identity { typedef T type; }; template< typename T = na > struct make_identity { typedef identity<T> type; }; template<> struct identity< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : identity< T1 > { }; }; template< typename Tag > struct lambda< identity< na > , Tag , int_<-1> > { typedef false_ is_le; typedef identity< na > result_; typedef identity< na > type; }; namespace aux { template< typename T1 > struct template_arity< identity< T1 > > : int_<1> { }; template<> struct template_arity< identity< na > > : int_<-1> { }; } template<> struct make_identity< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : make_identity< T1 > { }; }; template< typename Tag > struct lambda< make_identity< na > , Tag , int_<-1> > { typedef false_ is_le; typedef make_identity< na > result_; typedef make_identity< na > type; }; namespace aux { template< typename T1 > struct template_arity< make_identity< T1 > > : int_<1> { }; template<> struct template_arity< make_identity< na > > : int_<-1> { }; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/eval_if.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/eval_if.hpp" namespace boost { namespace mpl { template< typename C = na , typename F1 = na , typename F2 = na > struct eval_if { typedef typename if_<C,F1,F2>::type f_; typedef typename f_::type type; }; template< bool C , typename F1 , typename F2 > struct eval_if_c { typedef typename if_c<C,F1,F2>::type f_; typedef typename f_::type type; }; template<> struct eval_if< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : eval_if< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< eval_if< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef eval_if< na , na , na > result_; typedef eval_if< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< eval_if< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< eval_if< na , na , na > > : int_<-1> { }; } }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/pair.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/pair.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_eti_base.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_eti_base.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/is_msvc_eti_arg.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/is_msvc_eti_arg.hpp" namespace boost { namespace mpl { namespace aux { # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/is_msvc_eti_arg.hpp" }}} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_eti_base.hpp" 2 namespace boost { namespace mpl { namespace aux { # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_eti_base.hpp" template< typename T > struct msvc_eti_base : T { msvc_eti_base(); typedef T type; }; template<> struct msvc_eti_base<int> { typedef msvc_eti_base type; typedef msvc_eti_base first; typedef msvc_eti_base second; typedef msvc_eti_base tag; enum { value = 0 }; }; }}} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/pair.hpp" 2 namespace boost { namespace mpl { template< typename T1 = na , typename T2 = na > struct pair { typedef pair type; typedef T1 first; typedef T2 second; }; template< typename P = na > struct first { typedef typename P::first type; }; template< typename P = na > struct second { typedef typename P::second type; }; template<> struct pair< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : pair< T1 , T2 > { }; }; template< typename Tag > struct lambda< pair< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef pair< na , na > result_; typedef pair< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< pair< T1 , T2 > > : int_<2> { }; template<> struct template_arity< pair< na , na > > : int_<-1> { }; } template<> struct first< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : first< T1 > { }; }; template< typename Tag > struct lambda< first< na > , Tag , int_<-1> > { typedef false_ is_le; typedef first< na > result_; typedef first< na > type; }; namespace aux { template< typename T1 > struct template_arity< first< T1 > > : int_<1> { }; template<> struct template_arity< first< na > > : int_<-1> { }; } template<> struct second< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : second< T1 > { }; }; template< typename Tag > struct lambda< second< na > , Tag , int_<-1> > { typedef false_ is_le; typedef second< na > result_; typedef second< na > type; }; namespace aux { template< typename T1 > struct template_arity< second< T1 > > : int_<1> { }; template<> struct template_arity< second< na > > : int_<-1> { }; } }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_same.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_same.hpp" namespace boost { template <class T, class U> struct is_same : public false_type {}; template <class T> struct is_same<T,T> : public true_type {}; } # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/auto_rec.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum.hpp" 2 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_shifted.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_shifted.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/detail/auto_rec.hpp" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_shifted.hpp" 2 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_binary_params.hpp" 1 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/repetition/enum_shifted_params.hpp" 1 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/seq/elem.hpp" 1 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/iterate.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/iterate.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/slot.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/slot.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/detail/def.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/slot.hpp" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/iterate.hpp" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/facilities/intercept.hpp" 1 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/void.hpp" 1 namespace boost { namespace parameter { struct void_ {}; namespace aux { inline void_& void_reference() { static void_ instance; return instance; } } }} # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/result_of0.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_class.hpp" 1 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_class.hpp" namespace boost { namespace detail { # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_class.hpp" template <typename T> struct is_class_impl { static const bool value = __is_class(T); }; } template <class T> struct is_class : public integral_constant<bool, ::boost::detail::is_class_impl<T>::value> {}; } # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/conditional.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/conditional.hpp" namespace boost { template <bool b, class T, class U> struct conditional { typedef T type; }; template <class T, class U> struct conditional<false, T, U> { typedef U type; }; template <bool b, class T, class U> using conditional_t = typename conditional<b, T, U>::type; } # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/type_identity.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/type_identity.hpp" namespace boost { template<class T> struct type_identity { typedef T type; }; template <class T> using type_identity_t = typename type_identity<T>::type; } # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/enable_if.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/core/enable_if.hpp" namespace boost { template<typename T, typename R=void> struct enable_if_has_type { typedef R type; }; template <bool B, class T = void> struct enable_if_c { typedef T type; }; template <class T> struct enable_if_c<false, T> {}; template <class Cond, class T = void> struct enable_if : public enable_if_c<Cond::value, T> {}; template <bool B, class T> struct lazy_enable_if_c { typedef typename T::type type; }; template <class T> struct lazy_enable_if_c<false, T> {}; template <class Cond, class T> struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {}; template <bool B, class T = void> struct disable_if_c { typedef T type; }; template <class T> struct disable_if_c<true, T> {}; template <class Cond, class T = void> struct disable_if : public disable_if_c<Cond::value, T> {}; template <bool B, class T> struct lazy_disable_if_c { typedef typename T::type type; }; template <class T> struct lazy_disable_if_c<true, T> {}; template <class Cond, class T> struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {}; } # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" 2 # 59 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" namespace boost { template<typename F> struct result_of; template<typename F> struct tr1_result_of; namespace detail { typedef char result_of_yes_type; typedef char (&result_of_no_type)[2]; template<class T> struct result_of_has_type {}; template<class T> struct result_of_has_result_type_impl { template<class U> static result_of_yes_type f( result_of_has_type<typename U::result_type>* ); template<class U> static result_of_no_type f( ... ); typedef boost::integral_constant<bool, sizeof(f<T>(0)) == sizeof(result_of_yes_type)> type; }; template<class T> struct result_of_has_result_type: result_of_has_result_type_impl<T>::type { }; # 103 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" template<typename F, typename FArgs, bool HasResultType> struct tr1_result_of_impl; template<typename F> struct cpp0x_result_of; # 162 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" template<typename T> struct result_of_always_void { typedef void type; }; template<typename F, typename Enable = void> struct cpp0x_result_of_impl {}; template<typename F> struct result_of_void_impl { typedef void type; }; template<typename R> struct result_of_void_impl<R (*)(void)> { typedef R type; }; template<typename R> struct result_of_void_impl<R (&)(void)> { typedef R type; }; template<typename F, typename FArgs> struct result_of_pointer : tr1_result_of_impl<typename remove_cv<F>::type, FArgs, false> { }; template<typename F, typename FArgs> struct tr1_result_of_impl<F, FArgs, true> { typedef typename F::result_type type; }; template<typename FArgs> struct is_function_with_no_args : false_type {}; template<typename F> struct is_function_with_no_args<F(void)> : true_type {}; template<typename F, typename FArgs> struct result_of_nested_result : F::template result<FArgs> {}; template<typename F, typename FArgs> struct tr1_result_of_impl<F, FArgs, false> : conditional<is_function_with_no_args<FArgs>::value, result_of_void_impl<F>, result_of_nested_result<F, FArgs> >::type {}; } # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F > struct tr1_result_of<F()> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type(), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F(), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F > struct result_of<F()> : detail::cpp0x_result_of<F()> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F > struct cpp0x_result_of<F()> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type(), false > , detail::cpp0x_result_of_impl< F() > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F > struct cpp0x_result_of_impl<F(), typename result_of_always_void<decltype( boost::declval<F>()( ) )>::type> { typedef decltype( boost::declval<F>()( ) ) type; }; } # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0> struct tr1_result_of<F( T0)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0> struct result_of<F( T0)> : detail::cpp0x_result_of<F( T0)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0> struct cpp0x_result_of<F( T0)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0), false > , detail::cpp0x_result_of_impl< F( T0) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0> struct cpp0x_result_of_impl<F( T0), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0> struct tr1_result_of_impl<R (*)( T0), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0> struct tr1_result_of_impl<R (&)( T0), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0> struct tr1_result_of_impl<R (T0::*) (), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0> struct tr1_result_of_impl<R (T0::*) () const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0> struct tr1_result_of_impl<R (T0::*) () volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0> struct tr1_result_of_impl<R (T0::*) () const volatile, FArgs, false> { typedef R type; }; } # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1> struct tr1_result_of<F( T0 , T1)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1> struct result_of<F( T0 , T1)> : detail::cpp0x_result_of<F( T0 , T1)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1> struct cpp0x_result_of<F( T0 , T1)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1), false > , detail::cpp0x_result_of_impl< F( T0 , T1) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1> struct cpp0x_result_of_impl<F( T0 , T1), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1> struct tr1_result_of_impl<R (*)( T0 , T1), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1> struct tr1_result_of_impl<R (&)( T0 , T1), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1> struct tr1_result_of_impl<R (T0::*) ( T1), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1> struct tr1_result_of_impl<R (T0::*) ( T1) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1> struct tr1_result_of_impl<R (T0::*) ( T1) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1> struct tr1_result_of_impl<R (T0::*) ( T1) const volatile, FArgs, false> { typedef R type; }; } # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2> struct tr1_result_of<F( T0 , T1 , T2)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2> struct result_of<F( T0 , T1 , T2)> : detail::cpp0x_result_of<F( T0 , T1 , T2)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2> struct cpp0x_result_of<F( T0 , T1 , T2)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2> struct cpp0x_result_of_impl<F( T0 , T1 , T2), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2> struct tr1_result_of_impl<R (*)( T0 , T1 , T2), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2> struct tr1_result_of_impl<R (&)( T0 , T1 , T2), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2> struct tr1_result_of_impl<R (T0::*) ( T1 , T2), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2> struct tr1_result_of_impl<R (T0::*) ( T1 , T2) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2> struct tr1_result_of_impl<R (T0::*) ( T1 , T2) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2> struct tr1_result_of_impl<R (T0::*) ( T1 , T2) const volatile, FArgs, false> { typedef R type; }; } # 63 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of<F( T0 , T1 , T2 , T3)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3> struct result_of<F( T0 , T1 , T2 , T3)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3> struct cpp0x_result_of<F( T0 , T1 , T2 , T3)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3) const volatile, FArgs, false> { typedef R type; }; } # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct result_of<F( T0 , T1 , T2 , T3 , T4)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4) const volatile, FArgs, false> { typedef R type; }; } # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5) const volatile, FArgs, false> { typedef R type; }; } # 78 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6) const volatile, FArgs, false> { typedef R type; }; } # 83 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7) const volatile, FArgs, false> { typedef R type; }; } # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8) const volatile, FArgs, false> { typedef R type; }; } # 93 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9) const volatile, FArgs, false> { typedef R type; }; } # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10) const volatile, FArgs, false> { typedef R type; }; } # 103 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11) const volatile, FArgs, false> { typedef R type; }; } # 108 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12) const volatile, FArgs, false> { typedef R type; }; } # 113 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() , boost::declval<T13 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() , boost::declval<T13 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13) const volatile, FArgs, false> { typedef R type; }; } # 118 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() , boost::declval<T13 >() , boost::declval<T14 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() , boost::declval<T13 >() , boost::declval<T14 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14) const volatile, FArgs, false> { typedef R type; }; } # 123 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> : conditional< is_pointer<F>::value || is_member_function_pointer<F>::value , boost::detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), (boost::detail::result_of_has_result_type<F>::value)> , boost::detail::tr1_result_of_impl< F, F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), (boost::detail::result_of_has_result_type<F>::value)> >::type { }; template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> : detail::cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> { }; # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct cpp0x_result_of<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15)> : conditional< is_member_function_pointer<F>::value , detail::tr1_result_of_impl< typename remove_cv<F>::type, typename remove_cv<F>::type( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), false > , detail::cpp0x_result_of_impl< F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) > >::type {}; # 134 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" template<typename F , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct cpp0x_result_of_impl<F( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), typename result_of_always_void<decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() , boost::declval<T13 >() , boost::declval<T14 >() , boost::declval<T15 >() ) )>::type> { typedef decltype( boost::declval<F>()( boost::declval<T0 >() , boost::declval<T1 >() , boost::declval<T2 >() , boost::declval<T3 >() , boost::declval<T4 >() , boost::declval<T5 >() , boost::declval<T6 >() , boost::declval<T7 >() , boost::declval<T8 >() , boost::declval<T9 >() , boost::declval<T10 >() , boost::declval<T11 >() , boost::declval<T12 >() , boost::declval<T13 >() , boost::declval<T14 >() , boost::declval<T15 >() ) ) type; }; } # 166 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/detail/result_of_iterate.hpp" namespace detail { template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of_impl<R (*)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of_impl<R (&)( T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15), FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) volatile, FArgs, false> { typedef R type; }; template<typename R, typename FArgs , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> struct tr1_result_of_impl<R (T0::*) ( T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15) const volatile, FArgs, false> { typedef R type; }; } # 128 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 222 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" 2 # 232 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/utility/result_of.hpp" } # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/result_of0.hpp" 2 namespace boost { namespace parameter { namespace aux { template <class F> struct result_of0 : result_of<F()> {}; }}} # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/default.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/default.hpp" namespace boost { namespace parameter { namespace aux { template <class Keyword, class Value> struct default_ { default_(Value& x) : value(x) {} Value& value; }; # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/default.hpp" template <class KW, class DefaultComputer> struct lazy_default { lazy_default(const DefaultComputer& x) : compute_default(x) {} DefaultComputer const& compute_default; }; }}} # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/parameter_requirements.hpp" 1 namespace boost { namespace parameter { namespace aux { template <class Keyword, class Predicate, class HasDefault> struct parameter_requirements { typedef Keyword keyword; typedef Predicate predicate; typedef HasDefault has_default; }; }}} # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/yesno.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/yesno.hpp" namespace boost { namespace parameter { namespace aux { typedef char yes_tag; typedef char (&no_tag)[2]; yes_tag to_yesno(mpl::true_); no_tag to_yesno(mpl::false_); }}} # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/is_maybe.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_base_and_derived.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_base_and_derived.hpp" namespace boost { namespace detail { # 220 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/is_base_and_derived.hpp" template <typename B, typename D> struct is_base_and_derived_impl { typedef typename remove_cv<B>::type ncvB; typedef typename remove_cv<D>::type ncvD; static const bool value = ((__is_base_of(B,D) && !is_same<B,D>::value) && ! ::boost::is_same<ncvB,ncvD>::value); }; } template <class Base, class Derived> struct is_base_and_derived : public integral_constant<bool, (::boost::detail::is_base_and_derived_impl<Base, Derived>::value)> {}; template <class Base, class Derived> struct is_base_and_derived<Base&, Derived> : public false_type{}; template <class Base, class Derived> struct is_base_and_derived<Base, Derived&> : public false_type{}; template <class Base, class Derived> struct is_base_and_derived<Base&, Derived&> : public false_type{}; } # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/is_maybe.hpp" 2 namespace boost { namespace parameter { namespace aux { struct maybe_base {}; template <class T> struct is_maybe : is_base_and_derived<maybe_base, T> {}; } } } # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/config.hpp" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct begin_impl; template< typename Tag > struct end_impl; template< typename Sequence > struct begin; template< typename Sequence > struct end; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/begin_end_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/begin_end_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag_fwd.hpp" namespace boost { namespace mpl { struct nested_begin_end_tag; struct non_sequence_tag; template< typename Sequence > struct sequence_tag; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/begin_end_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_begin.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_begin.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_<true> > struct has_begin { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::begin>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; }; }}} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/begin_end_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/traits_lambda_spec.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/begin_end_impl.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename Sequence > struct begin_type { typedef typename Sequence::begin type; }; template< typename Sequence > struct end_type { typedef typename Sequence::end type; }; } template< typename Tag > struct begin_impl { template< typename Sequence > struct apply { typedef typename eval_if<aux::has_begin<Sequence, true_>, aux::begin_type<Sequence>, void_>::type type; }; }; template< typename Tag > struct end_impl { template< typename Sequence > struct apply { typedef typename eval_if<aux::has_begin<Sequence, true_>, aux::end_type<Sequence>, void_>::type type; }; }; # 82 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/begin_end_impl.hpp" template<> struct begin_impl<nested_begin_end_tag> { template< typename Sequence > struct apply { typedef typename Sequence::begin type; }; }; template<> struct end_impl<nested_begin_end_tag> { template< typename Sequence > struct apply { typedef typename Sequence::end type; }; }; template<> struct begin_impl<non_sequence_tag> { template< typename Sequence > struct apply { typedef void_ type; }; }; template<> struct end_impl<non_sequence_tag> { template< typename Sequence > struct apply { typedef void_ type; }; }; template<> struct begin_impl<na> { template< typename Sequence > struct apply { typedef void_ type; }; }; template<> struct end_impl<na> { template< typename Sequence > struct apply { typedef void_ type; }; }; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_tag.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_tag.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_<false> > struct has_tag { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::tag>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; }; }}} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag.hpp" 2 namespace boost { namespace mpl { # 78 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag.hpp" namespace aux { template< bool has_tag_, bool has_begin_ > struct sequence_tag_impl { template< typename Sequence > struct result2_; }; # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/sequence_tag.hpp" template<> struct sequence_tag_impl<true,true> { template< typename Sequence > struct result2_ { typedef typename Sequence::tag type; }; }; template<> struct sequence_tag_impl<true,false> { template< typename Sequence > struct result2_ { typedef typename Sequence::tag type; }; }; template<> struct sequence_tag_impl<false,true> { template< typename Sequence > struct result2_ { typedef nested_begin_end_tag type; }; }; template<> struct sequence_tag_impl<false,false> { template< typename Sequence > struct result2_ { typedef non_sequence_tag type; }; }; } template< typename Sequence = na > struct sequence_tag : aux::sequence_tag_impl< ::boost::mpl::aux::has_tag<Sequence>::value , ::boost::mpl::aux::has_begin<Sequence>::value >::template result2_<Sequence> { }; template<> struct sequence_tag< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : sequence_tag< T1 > { }; }; template< typename Tag > struct lambda< sequence_tag< na > , Tag , int_<-1> > { typedef false_ is_le; typedef sequence_tag< na > result_; typedef sequence_tag< na > type; }; namespace aux { template< typename T1 > struct template_arity< sequence_tag< T1 > > : int_<1> { }; template<> struct template_arity< sequence_tag< na > > : int_<-1> { }; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin_end.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct begin { typedef typename sequence_tag<Sequence>::type tag_; typedef typename begin_impl< tag_ > ::template apply< Sequence >::type type; }; template< typename Sequence = na > struct end { typedef typename sequence_tag<Sequence>::type tag_; typedef typename end_impl< tag_ > ::template apply< Sequence >::type type; }; template<> struct begin< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : begin< T1 > { }; }; template< typename Tag > struct lambda< begin< na > , Tag , int_<-1> > { typedef false_ is_le; typedef begin< na > result_; typedef begin< na > type; }; namespace aux { template< typename T1 > struct template_arity< begin< T1 > > : int_<1> { }; template<> struct template_arity< begin< na > > : int_<-1> { }; } template<> struct end< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : end< T1 > { }; }; template< typename Tag > struct lambda< end< na > , Tag , int_<-1> > { typedef false_ is_le; typedef end< na > result_; typedef end< na > type; }; namespace aux { template< typename T1 > struct template_arity< end< T1 > > : int_<1> { }; template<> struct template_arity< end< na > > : int_<-1> { }; } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/begin.hpp" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/end.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/iterator_tags.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/iterator_tags.hpp" namespace boost { namespace mpl { struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; }; struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; }; struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; }; }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/add_reference.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/type_traits/add_reference.hpp" namespace boost { namespace detail { template <typename T> struct add_reference_impl { typedef T& type; }; template <typename T> struct add_reference_impl<T&&> { typedef T&& type; }; } template <class T> struct add_reference { typedef typename boost::detail::add_reference_impl<T>::type type; }; template <class T> struct add_reference<T&> { typedef T& type; }; template <> struct add_reference<void> { typedef void type; }; template <> struct add_reference<const void> { typedef const void type; }; template <> struct add_reference<const volatile void> { typedef const volatile void type; }; template <> struct add_reference<volatile void> { typedef volatile void type; }; template <class T> using add_reference_t = typename add_reference<T>::type; } # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" 2 namespace boost { namespace parameter { template<class T> struct keyword; namespace aux { struct lambda_tag; # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" struct arg_list_tag; struct empty_arg_list { empty_arg_list() {} empty_arg_list( void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ ) {} struct binding { template<class KW, class Default, class Reference> struct apply { typedef Default type; }; }; template <class KW> static no_tag has_key(KW*); # 119 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" template <class K, class Default> Default& operator[](default_<K, Default> x) const { return x.value; } template <class K, class F> typename result_of0<F>::type operator[]( lazy_default<K,F> x) const { return x.compute_default(); } template <class ParameterRequirements, class ArgPack> static typename ParameterRequirements::has_default satisfies(ParameterRequirements*, ArgPack*); typedef empty_arg_list type; typedef arg_list_tag tag; }; template <class KW, class T> struct tagged_argument; template <class T> struct get_reference { typedef typename T::reference type; }; template <class TaggedArg, class Next = empty_arg_list> struct arg_list : Next { typedef arg_list<TaggedArg,Next> self; typedef typename TaggedArg::key_type key_type; typedef typename is_maybe<typename TaggedArg::value_type>::type holds_maybe; typedef typename mpl::eval_if< holds_maybe , get_reference<typename TaggedArg::value_type> , get_reference<TaggedArg> >::type reference; typedef typename mpl::if_< holds_maybe , reference , typename TaggedArg::value_type >::type value_type; TaggedArg arg; template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7 > arg_list( A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 ) : Next( a1 , a2 , a3 , a4 , a5 , a6 , a7 , void_reference() ) , arg(a0) {} arg_list(TaggedArg head, Next const& tail) : Next(tail) , arg(head) {} struct binding { template <class KW, class Default, class Reference> struct apply { typedef typename mpl::eval_if< boost::is_same<KW, key_type> , mpl::if_<Reference, reference, value_type> , mpl::apply_wrap3<typename Next::binding, KW, Default, Reference> >::type type; }; }; static yes_tag has_key(key_type*); using Next::has_key; struct duplicate_keyword; typedef struct duplicate_keyword230 : boost::mpl::assert_ { static boost::mpl::failed ************ (duplicate_keyword::************ assert_arg()) (key_type) { return 0; } } mpl_assert_arg230; enum { mpl_assertion_in_line_230 = sizeof( boost::mpl::assertion_failed<(sizeof(Next::has_key((key_type*)0)) == sizeof(no_tag))>( mpl_assert_arg230::assert_arg() ) ) }; # 240 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" template <class D> reference get_default(D const&, mpl::false_) const { return arg.value; } template <class D> reference get_default(D const& d, mpl::true_) const { return arg.value ? arg.value.get() : arg.value.construct(d.value); } # 327 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" reference operator[](keyword<key_type> const&) const { enum { mpl_assertion_in_line_329 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (holds_maybe))0, 1 ) ) ) }; return arg.value; } template <class Default> reference operator[](default_<key_type, Default> const& d) const { return get_default(d, holds_maybe()); } template <class Default> reference operator[](lazy_default<key_type, Default>) const { enum { mpl_assertion_in_line_342 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) (holds_maybe))0, 1 ) ) ) }; return arg.value; } using Next::operator[]; # 362 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/arg_list.hpp" template <class HasDefault, class Predicate, class ArgPack> static typename mpl::apply_wrap2< typename mpl::lambda<Predicate, lambda_tag>::type , value_type, ArgPack >::type satisfies( parameter_requirements<key_type,Predicate,HasDefault>* , ArgPack* ); using Next::satisfies; template <class KW, class T2> arg_list<tagged_argument<KW, T2>, self> operator,(tagged_argument<KW,T2> x) const { return arg_list<tagged_argument<KW,T2>, self>(x, *this); } typedef self type; typedef Next tail_type; typedef arg_list_tag tag; }; template <class ArgumentPack> struct arg_list_iterator { typedef mpl::forward_iterator_tag category; typedef arg_list_iterator<typename ArgumentPack::tail_type> next; typedef typename ArgumentPack::key_type type; }; template <> struct arg_list_iterator<empty_arg_list> {}; }} namespace mpl { template <> struct begin_impl<parameter::aux::arg_list_tag> { template <class S> struct apply { typedef parameter::aux::arg_list_iterator<S> type; }; }; template <> struct end_impl<parameter::aux::arg_list_tag> { template <class> struct apply { typedef parameter::aux::arg_list_iterator<parameter::aux::empty_arg_list> type; }; }; } } # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/unwrap_cv_reference.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/unwrap_cv_reference.hpp" namespace boost { template<class T> class reference_wrapper; } namespace boost { namespace parameter { namespace aux { # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/unwrap_cv_reference.hpp" template <class U> yes_tag is_cv_reference_wrapper_check(reference_wrapper<U> const volatile*); no_tag is_cv_reference_wrapper_check(...); template <class T> struct is_cv_reference_wrapper { static const bool value = ( sizeof(is_cv_reference_wrapper_check((T*)0)) == sizeof(yes_tag) ); typedef mpl::bool_< value> type; }; template <class T> struct get_type { typedef typename T::type type; }; # 77 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/unwrap_cv_reference.hpp" template <class T> struct unwrap_cv_reference { typedef typename mpl::eval_if< is_cv_reference_wrapper<T> , get_type<T> , mpl::identity<T> >::type type; }; }}} # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tagged_argument.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tagged_argument.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply_wrap.hpp" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tagged_argument.hpp" 2 namespace boost { namespace parameter { namespace aux { struct empty_arg_list; struct arg_list_tag; struct tagged_argument_base {}; template <class Keyword, class Arg> struct tagged_argument : tagged_argument_base { typedef Keyword key_type; typedef Arg value_type; typedef Arg& reference; tagged_argument(reference x) : value(x) {} struct binding { template <class KW, class Default, class Reference> struct apply { typedef typename mpl::eval_if< boost::is_same<KW, key_type> , mpl::if_<Reference, reference, value_type> , mpl::identity<Default> >::type type; }; }; template <class Keyword2, class Arg2> arg_list< tagged_argument<Keyword, Arg> , arg_list<tagged_argument<Keyword2, Arg2> > > operator,(tagged_argument<Keyword2, Arg2> x) const { return arg_list< tagged_argument<Keyword, Arg> , arg_list<tagged_argument<Keyword2, Arg2> > >( *this , arg_list<tagged_argument<Keyword2, Arg2> >(x, empty_arg_list()) ); } reference operator[](keyword<Keyword> const&) const { return value; } # 122 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tagged_argument.hpp" template <class Default> reference operator[](default_<key_type,Default> const& ) const { return value; } template <class F> reference operator[](lazy_default<key_type,F> const& ) const { return value; } template <class KW, class Default> Default& operator[](default_<KW,Default> const& x) const { return x.value; } template <class KW, class F> typename result_of0<F>::type operator[](lazy_default<KW,F> const& x) const { return x.compute_default(); } template <class ParameterRequirements> static typename ParameterRequirements::has_default satisfies(ParameterRequirements*); template <class HasDefault, class Predicate> static typename mpl::apply1<Predicate, value_type>::type satisfies( parameter_requirements<key_type,Predicate,HasDefault>* ); reference value; typedef tagged_argument type; typedef empty_arg_list tail_type; typedef arg_list_tag tag; }; template <class T> struct is_tagged_argument_aux : is_convertible<T*,tagged_argument_base const*> {}; template <class T> struct is_tagged_argument : mpl::and_< mpl::not_<is_reference<T> > , is_tagged_argument_aux<T> > {}; }}} # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tag.hpp" 1 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tag.hpp" namespace boost { namespace parameter { namespace aux { template <class Keyword, class ActualArg > struct tag { typedef tagged_argument< Keyword , typename unwrap_cv_reference<ActualArg>::type > type; }; # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/tag.hpp" }}} # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/set.hpp" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/set.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct insert_impl; template< typename Sequence, typename Pos_or_T, typename T > struct insert; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/insert_impl.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/insert_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/reverse_fold.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/reverse_fold.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/O1_size.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/O1_size.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/O1_size_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/O1_size_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct O1_size_impl; template< typename Sequence > struct O1_size; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/O1_size.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/long.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/long.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/long_fwd.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/long_fwd.hpp" namespace mpl_ { template< long N > struct long_; } namespace boost { namespace mpl { using ::mpl_::long_; } } # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/long.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" 1 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" namespace mpl_ { template< long N > struct long_ { static const long value = N; typedef long_ type; typedef long value_type; typedef integral_c_tag tag; # 72 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/integral_wrapper.hpp" typedef mpl_::long_< static_cast<long>((value + 1)) > next; typedef mpl_::long_< static_cast<long>((value - 1)) > prior; constexpr operator long() const { return static_cast<long>(this->value); } }; template< long N > long const mpl_::long_< N >::value; } # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/long.hpp" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_size.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_size.hpp" namespace boost { namespace mpl { namespace aux { template< typename T, typename fallback_ = boost::mpl::bool_<false> > struct has_size { struct gcc_3_2_wknd { template< typename U > static boost::mpl::aux::yes_tag test( boost::mpl::aux::type_wrapper<U> const volatile* , boost::mpl::aux::type_wrapper<typename U::size>* = 0 ); static boost::mpl::aux::no_tag test(...); }; typedef boost::mpl::aux::type_wrapper<T> t_; static const bool value = sizeof(gcc_3_2_wknd::test(static_cast<t_*>(0))) == sizeof(boost::mpl::aux::yes_tag); typedef boost::mpl::bool_<value> type; }; }}} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/forwarding.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" 2 namespace boost { namespace mpl { # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" namespace aux { template< typename Sequence > struct O1_size_impl : Sequence::size { }; } template< typename Tag > struct O1_size_impl { template< typename Sequence > struct apply : if_< aux::has_size<Sequence> , aux::O1_size_impl<Sequence> , long_<-1> >::type { # 69 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" }; }; # 85 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/O1_size_impl.hpp" }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/O1_size.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct O1_size : O1_size_impl< typename sequence_tag<Sequence>::type > ::template apply< Sequence > { }; template<> struct O1_size< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : O1_size< T1 > { }; }; template< typename Tag > struct lambda< O1_size< na > , Tag , int_<-1> > { typedef false_ is_le; typedef O1_size< na > result_; typedef O1_size< na > type; }; namespace aux { template< typename T1 > struct template_arity< O1_size< T1 > > : int_<1> { }; template<> struct template_arity< O1_size< na > > : int_<-1> { }; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/reverse_fold.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/arg.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/reverse_fold.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/reverse_fold_impl.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/reverse_fold_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/deref.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/deref.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_type.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_type.hpp" namespace boost { namespace mpl { namespace aux { # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/msvc_type.hpp" template< typename T > struct msvc_type { typedef typename T::type type; }; template<> struct msvc_type<int> { typedef int type; }; }}} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/deref.hpp" 2 namespace boost { namespace mpl { template< typename Iterator = na > struct deref { typedef typename Iterator::type type; }; template<> struct deref< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : deref< T1 > { }; }; template< typename Tag > struct lambda< deref< na > , Tag , int_<-1> > { typedef false_ is_le; typedef deref< na > result_; typedef deref< na > type; }; namespace aux { template< typename T1 > struct template_arity< deref< T1 > > : int_<1> { }; template<> struct template_arity< deref< na > > : int_<-1> { }; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/reverse_fold_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/reverse_fold_impl.hpp" 2 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/reverse_fold_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp" namespace boost { namespace mpl { namespace aux { template< long N , typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl; template< typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > { typedef First iter0; typedef State fwd_state0; typedef fwd_state0 bkwd_state0; typedef bkwd_state0 state; typedef iter0 iterator; }; template< typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > { typedef First iter0; typedef State fwd_state0; typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; typedef typename mpl::next<iter0>::type iter1; typedef fwd_state1 bkwd_state1; typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; typedef bkwd_state0 state; typedef iter1 iterator; }; template< typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > { typedef First iter0; typedef State fwd_state0; typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; typedef typename mpl::next<iter1>::type iter2; typedef fwd_state2 bkwd_state2; typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; typedef bkwd_state0 state; typedef iter2 iterator; }; template< typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > { typedef First iter0; typedef State fwd_state0; typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; typedef typename mpl::next<iter1>::type iter2; typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3; typedef typename mpl::next<iter2>::type iter3; typedef fwd_state3 bkwd_state3; typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2; typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; typedef bkwd_state0 state; typedef iter3 iterator; }; template< typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > { typedef First iter0; typedef State fwd_state0; typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; typedef typename mpl::next<iter1>::type iter2; typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3; typedef typename mpl::next<iter2>::type iter3; typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4; typedef typename mpl::next<iter3>::type iter4; typedef fwd_state4 bkwd_state4; typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3; typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2; typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; typedef bkwd_state0 state; typedef iter4 iterator; }; template< long N , typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl { typedef First iter0; typedef State fwd_state0; typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2; typedef typename mpl::next<iter1>::type iter2; typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3; typedef typename mpl::next<iter2>::type iter3; typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4; typedef typename mpl::next<iter3>::type iter4; typedef reverse_fold_impl< ( (N - 4) < 0 ? 0 : N - 4 ) , iter4 , Last , fwd_state4 , BackwardOp , ForwardOp > nested_chunk; typedef typename nested_chunk::state bkwd_state4; typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3; typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2; typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1; typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0; typedef bkwd_state0 state; typedef typename nested_chunk::iterator iterator; }; template< typename First , typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > { typedef reverse_fold_impl< -1 , typename mpl::next<First>::type , Last , typename apply2<ForwardOp,State, typename deref<First>::type>::type , BackwardOp , ForwardOp > nested_step; typedef typename apply2< BackwardOp , typename nested_step::state , typename deref<First>::type >::type state; typedef typename nested_step::iterator iterator; }; template< typename Last , typename State , typename BackwardOp , typename ForwardOp > struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > { typedef State state; typedef Last iterator; }; }}} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/reverse_fold_impl.hpp" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/reverse_fold.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename State = na , typename BackwardOp = na , typename ForwardOp = arg<1> > struct reverse_fold { typedef typename aux::reverse_fold_impl< ::boost::mpl::O1_size<Sequence>::value , typename begin<Sequence>::type , typename end<Sequence>::type , State , BackwardOp , ForwardOp >::state type; }; template<> struct reverse_fold< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : reverse_fold< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< reverse_fold< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef reverse_fold< na , na , na > result_; typedef reverse_fold< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< reverse_fold< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< reverse_fold< na , na , na > > : int_<-1> { }; } }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/insert_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/iterator_range.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/iterator_range.hpp" namespace boost { namespace mpl { struct iterator_range_tag; template< typename First = na , typename Last = na > struct iterator_range { typedef iterator_range_tag tag; typedef iterator_range type; typedef First begin; typedef Last end; }; template<> struct iterator_range< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : iterator_range< T1 , T2 > { }; }; template< typename Tag > struct lambda< iterator_range< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef iterator_range< na , na > result_; typedef iterator_range< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< iterator_range< T1 , T2 > > : int_<2> { }; template<> struct template_arity< iterator_range< na , na > > : int_<-1> { }; } }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/insert_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/clear.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/clear.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/clear_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/clear_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct clear_impl; template< typename Sequence > struct clear; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/clear.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/clear_impl.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/clear_impl.hpp" namespace boost { namespace mpl { template< typename Tag > struct clear_impl { template< typename Sequence > struct apply; }; template<> struct clear_impl<non_sequence_tag> {}; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/clear.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na > struct clear : clear_impl< typename sequence_tag<Sequence>::type > ::template apply< Sequence > { }; template<> struct clear< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : clear< T1 > { }; }; template< typename Tag > struct lambda< clear< na > , Tag , int_<-1> > { typedef false_ is_le; typedef clear< na > result_; typedef clear< na > type; }; namespace aux { template< typename T1 > struct template_arity< clear< T1 > > : int_<1> { }; template<> struct template_arity< clear< na > > : int_<-1> { }; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/insert_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/push_front.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/push_front.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/push_front_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/push_front_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct push_front_impl; template< typename Sequence, typename T > struct push_front; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/push_front.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/push_front_impl.hpp" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/push_front_impl.hpp" namespace boost { namespace mpl { struct has_push_front_arg {}; template< typename Tag > struct push_front_impl { template< typename Sequence, typename T > struct apply { struct REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST; typedef struct REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST45 : boost::mpl::assert_ { static boost::mpl::failed ************ (REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST::************ assert_arg()) ( Sequence ) { return 0; } } mpl_assert_arg45; enum { mpl_assertion_in_line_45 = sizeof( boost::mpl::assertion_failed<(( boost::is_same< T, has_push_front_arg >::value ))>( mpl_assert_arg45::assert_arg() ) ) }; }; }; template< typename Tag > struct has_push_front_impl { template< typename Seq > struct apply : aux::has_type< push_front< Seq, has_push_front_arg > > { }; }; template<> struct push_front_impl<non_sequence_tag> {}; template<> struct has_push_front_impl<non_sequence_tag> {}; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/push_front.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename T = na > struct push_front : push_front_impl< typename sequence_tag<Sequence>::type > ::template apply< Sequence,T > { }; template< typename Sequence = na > struct has_push_front : has_push_front_impl< typename sequence_tag<Sequence>::type > ::template apply< Sequence > { }; template<> struct push_front< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : push_front< T1 , T2 > { }; }; template< typename Tag > struct lambda< push_front< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef push_front< na , na > result_; typedef push_front< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< push_front< T1 , T2 > > : int_<2> { }; template<> struct template_arity< push_front< na , na > > : int_<-1> { }; } template<> struct has_push_front< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : has_push_front< T1 > { }; }; template< typename Tag > struct lambda< has_push_front< na > , Tag , int_<-1> > { typedef false_ is_le; typedef has_push_front< na > result_; typedef has_push_front< na > type; }; namespace aux { template< typename T1 > struct template_arity< has_push_front< T1 > > : int_<1> { }; template<> struct template_arity< has_push_front< na > > : int_<-1> { }; } }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/insert_impl.hpp" 2 namespace boost { namespace mpl { template< typename Tag > struct insert_impl { template< typename Sequence , typename Pos , typename T > struct apply { typedef iterator_range< typename begin<Sequence>::type , Pos > first_half_; typedef iterator_range< Pos , typename end<Sequence>::type > second_half_; typedef typename reverse_fold< second_half_ , typename clear<Sequence>::type , push_front<_,_> >::type half_sequence_; typedef typename reverse_fold< first_half_ , typename push_front<half_sequence_,T>::type , push_front<_,_> >::type type; }; }; template<> struct insert_impl<non_sequence_tag> {}; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename Pos_or_T = na , typename T = na > struct insert : insert_impl< typename sequence_tag<Sequence>::type > ::template apply< Sequence,Pos_or_T,T > { }; template<> struct insert< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : insert< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< insert< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef insert< na , na , na > result_; typedef insert< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< insert< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< insert< na , na , na > > : int_<-1> { }; } }} # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/set.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/at_impl.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/at_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/at_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/at_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct at_impl; template< typename Sequence, typename N > struct at; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/at_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/has_key_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/has_key_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/tag.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/tag.hpp" namespace boost { namespace mpl { namespace aux { struct set_tag; }}} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/has_key_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_key_fwd.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_key_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct has_key_impl; template< typename AssociativeSequence, typename Key > struct has_key; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/has_key_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/overload_names.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/overload_names.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/ptr_to_ref.hpp" 1 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/ptr_to_ref.hpp" namespace boost { namespace mpl { namespace aux { template< typename T > static T const& ptr_to_ref(T*); }}} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/overload_names.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/config/operators.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/overload_names.hpp" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/has_key_impl.hpp" 2 namespace boost { namespace mpl { template<> struct has_key_impl< aux::set_tag > { template< typename Set, typename T > struct apply # 47 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/has_key_impl.hpp" : bool_< ( sizeof( Set::is_masked_( aux::ptr_to_ref(static_cast<Set*>(0)), static_cast<aux::type_wrapper<T>*>(0) ) ) == sizeof(aux::no_tag) ) > { }; }; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/at_impl.hpp" 2 namespace boost { namespace mpl { template<> struct at_impl< aux::set_tag > { template< typename Set, typename T > struct apply { typedef typename if_< has_key_impl<aux::set_tag>::apply<Set,T> , T , void_ >::type type; }; }; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/clear_impl.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/clear_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/set0.hpp" 1 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/set0.hpp" namespace boost { namespace mpl { # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/set0.hpp" template< typename Dummy = na > struct set0 { typedef set0<> item_; typedef item_ type; typedef aux::set_tag tag; typedef void_ last_masked_; typedef void_ item_type_; typedef long_<0> size; typedef long_<1> order; static aux::no_tag order_by_key_(set0<> const&, void const volatile*); static aux::yes_tag is_masked_(set0<> const&, void const volatile*); }; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/clear_impl.hpp" 2 namespace boost { namespace mpl { template<> struct clear_impl< aux::set_tag > { template< typename Set > struct apply { typedef set0<> type; }; }; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/size_impl.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/size_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/size_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct size_impl; template< typename Sequence > struct size; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/size_impl.hpp" 2 namespace boost { namespace mpl { template<> struct size_impl< aux::set_tag > { template< typename Set > struct apply : Set::size { }; }; }} # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/empty_impl.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/empty_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/empty_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/empty_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct empty_impl; template< typename Sequence > struct empty; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/empty_impl.hpp" 2 namespace boost { namespace mpl { template<> struct empty_impl< aux::set_tag > { template< typename Set > struct apply : not_< typename Set::size > { }; }; }} # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_impl.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/item.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/item.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/prior.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/item.hpp" 2 namespace boost { namespace mpl { template< typename T, typename Base > struct s_item : Base { typedef s_item<T,Base> item_; typedef void_ last_masked_; typedef T item_type_; typedef typename Base::item_ base; typedef s_item type; typedef typename next< typename Base::size >::type size; typedef typename next< typename Base::order >::type order; typedef char (&order_tag_)[order::value]; static order_tag_ order_by_key_(s_item const&, aux::type_wrapper<T>*); using Base::order_by_key_; static aux::no_tag is_masked_(s_item const&, aux::type_wrapper<T>*); using Base::is_masked_; }; template< typename T, typename Base > struct s_mask : Base { typedef s_mask<T,Base> item_; typedef T last_masked_; typedef void_ item_type_; typedef typename Base::item_ base; typedef typename prior< typename Base::size >::type size; typedef s_mask type; static aux::yes_tag is_masked_(s_mask const&, aux::type_wrapper<T>*); using Base::is_masked_; }; template< typename T, typename Base > struct s_unmask : Base { typedef s_unmask<T,Base> item_; typedef void_ last_masked_; typedef T item_type_; typedef typename Base::item_ base; typedef typename next< typename Base::size >::type size; static aux::no_tag is_masked_(s_unmask const&, aux::type_wrapper<T>*); using Base::is_masked_; }; }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/base.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/base.hpp" namespace boost { namespace mpl { template< typename T = na > struct base { typedef typename T::base type; }; template<> struct base< na > { template< typename T1 , typename T2 =na , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : base< T1 > { }; }; template< typename Tag > struct lambda< base< na > , Tag , int_<-1> > { typedef false_ is_le; typedef base< na > result_; typedef base< na > type; }; namespace aux { template< typename T1 > struct template_arity< base< T1 > > : int_<1> { }; template<> struct template_arity< base< na > > : int_<-1> { }; } }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_impl.hpp" 2 namespace boost { namespace mpl { namespace aux { template< typename Set, typename T > struct set_insert_impl : eval_if< has_key_impl<aux::set_tag>::apply<Set,T> , identity<Set> , eval_if< is_same< T,typename Set::last_masked_ > , base<Set> , identity< s_item<T,typename Set::item_> > > > { }; } template<> struct insert_impl< aux::set_tag > { template< typename Set , typename PosOrKey , typename KeyOrNA > struct apply : aux::set_insert_impl< Set , typename if_na<KeyOrNA,PosOrKey>::type > { }; }; }} # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_range_impl.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_range_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert_range_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/insert_range_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct insert_range_impl; template< typename Sequence, typename Pos, typename Range > struct insert_range; }} # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_range_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/placeholders.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_range_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/fold.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/fold.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/fold_impl.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/fold_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/fold_impl.hpp" 2 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/fold_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 1 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp" namespace boost { namespace mpl { namespace aux { template< int N , typename First , typename Last , typename State , typename ForwardOp > struct fold_impl; template< typename First , typename Last , typename State , typename ForwardOp > struct fold_impl< 0,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef state0 state; typedef iter0 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct fold_impl< 1,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; typedef typename mpl::next<iter0>::type iter1; typedef state1 state; typedef iter1 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct fold_impl< 2,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2; typedef typename mpl::next<iter1>::type iter2; typedef state2 state; typedef iter2 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct fold_impl< 3,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2; typedef typename mpl::next<iter1>::type iter2; typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3; typedef typename mpl::next<iter2>::type iter3; typedef state3 state; typedef iter3 iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct fold_impl< 4,First,Last,State,ForwardOp > { typedef First iter0; typedef State state0; typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1; typedef typename mpl::next<iter0>::type iter1; typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2; typedef typename mpl::next<iter1>::type iter2; typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3; typedef typename mpl::next<iter2>::type iter3; typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4; typedef typename mpl::next<iter3>::type iter4; typedef state4 state; typedef iter4 iterator; }; template< int N , typename First , typename Last , typename State , typename ForwardOp > struct fold_impl { typedef fold_impl< 4 , First , Last , State , ForwardOp > chunk_; typedef fold_impl< ( (N - 4) < 0 ? 0 : N - 4 ) , typename chunk_::iterator , Last , typename chunk_::state , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; template< typename First , typename Last , typename State , typename ForwardOp > struct fold_impl< -1,First,Last,State,ForwardOp > : fold_impl< -1 , typename mpl::next<First>::type , Last , typename apply2<ForwardOp,State, typename deref<First>::type>::type , ForwardOp > { }; template< typename Last , typename State , typename ForwardOp > struct fold_impl< -1,Last,Last,State,ForwardOp > { typedef State state; typedef Last iterator; }; }}} # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/include_preprocessed.hpp" 2 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/fold_impl.hpp" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/fold.hpp" 2 namespace boost { namespace mpl { template< typename Sequence = na , typename State = na , typename ForwardOp = na > struct fold { typedef typename aux::fold_impl< ::boost::mpl::O1_size<Sequence>::value , typename begin<Sequence>::type , typename end<Sequence>::type , State , ForwardOp >::state type; }; template<> struct fold< na , na , na > { template< typename T1 , typename T2 , typename T3 , typename T4 =na , typename T5 =na > struct apply : fold< T1 , T2 , T3 > { }; }; template< typename Tag > struct lambda< fold< na , na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef fold< na , na , na > result_; typedef fold< na , na , na > type; }; namespace aux { template< typename T1 , typename T2 , typename T3 > struct template_arity< fold< T1 , T2 , T3 > > : int_<3> { }; template<> struct template_arity< fold< na , na , na > > : int_<-1> { }; } }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/insert_range_impl.hpp" 2 namespace boost { namespace mpl { template<> struct insert_range_impl< aux::set_tag > { template< typename Sequence , typename , typename Range > struct apply : fold<Range, Sequence, insert<_1, _2> > { }; }; }} # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/erase_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/erase_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct erase_impl; template< typename Sequence, typename First, typename Last > struct erase; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_impl.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_key_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_key_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/erase_key_fwd.hpp" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/erase_key_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct erase_key_impl; template< typename Sequence, typename Key > struct erase_key; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_key_impl.hpp" 2 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_key_impl.hpp" namespace boost { namespace mpl { template<> struct erase_key_impl< aux::set_tag > { template< typename Set , typename T > struct apply : eval_if< has_key_impl<aux::set_tag>::apply<Set,T> , eval_if< is_same< T,typename Set::item_type_ > , base<Set> , identity< s_mask<T,typename Set::item_> > > , identity<Set> > { }; }; }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/erase_impl.hpp" 2 namespace boost { namespace mpl { template<> struct erase_impl< aux::set_tag > { template< typename Set , typename Pos , typename unused_ > struct apply : erase_key_impl<aux::set_tag> ::apply<Set,typename Pos::type> { }; }; }} # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/key_type_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/key_type_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/key_type_fwd.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/key_type_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct key_type_impl; template< typename AssociativeSequence, typename T > struct key_type; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/key_type_impl.hpp" 2 namespace boost { namespace mpl { template<> struct key_type_impl< aux::set_tag > { template< typename Set, typename T > struct apply { typedef T type; }; }; }} # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/value_type_impl.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/value_type_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/value_type_fwd.hpp" 1 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/value_type_fwd.hpp" namespace boost { namespace mpl { template< typename Tag > struct value_type_impl; template< typename AssociativeSequence, typename T > struct value_type; }} # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/value_type_impl.hpp" 2 namespace boost { namespace mpl { template<> struct value_type_impl< aux::set_tag > { template< typename Set, typename T > struct apply { typedef T type; }; }; }} # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/begin_end_impl.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/begin_end_impl.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/iterator.hpp" 1 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/iterator.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_key.hpp" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_key.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_key_impl.hpp" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/aux_/has_key_impl.hpp" namespace boost { namespace mpl { template< typename Tag > struct has_key_impl { template< typename AssociativeSequence, typename Key > struct apply; }; template<> struct has_key_impl<non_sequence_tag> {}; }} # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/has_key.hpp" 2 namespace boost { namespace mpl { template< typename AssociativeSequence = na , typename Key = na > struct has_key : has_key_impl< typename sequence_tag<AssociativeSequence>::type > ::template apply<AssociativeSequence,Key> { }; template<> struct has_key< na , na > { template< typename T1 , typename T2 , typename T3 =na , typename T4 =na , typename T5 =na > struct apply : has_key< T1 , T2 > { }; }; template< typename Tag > struct lambda< has_key< na , na > , Tag , int_<-1> > { typedef false_ is_le; typedef has_key< na , na > result_; typedef has_key< na , na > type; }; namespace aux { template< typename T1 , typename T2 > struct template_arity< has_key< T1 , T2 > > : int_<2> { }; template<> struct template_arity< has_key< na , na > > : int_<-1> { }; } }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/iterator.hpp" 2 namespace boost { namespace mpl { template< typename Set, typename Tail > struct s_iter; template< typename Set, typename Tail > struct s_iter_get : eval_if< has_key< Set,typename Tail::item_type_ > , identity< s_iter<Set,Tail> > , next< s_iter<Set,Tail> > > { }; template< typename Set, typename Tail > struct s_iter_impl { typedef Tail tail_; typedef forward_iterator_tag category; typedef typename Tail::item_type_ type; }; template< typename Set, typename Tail > struct next< s_iter<Set,Tail> > : s_iter_get< Set,typename Tail::base > { }; template< typename Set > struct next< s_iter<Set,set0<> > > { typedef s_iter<Set,set0<> > type; }; template< typename Set, typename Tail > struct s_iter : s_iter_impl<Set,Tail> { }; template< typename Set > struct s_iter<Set, set0<> > { typedef forward_iterator_tag category; }; # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/iterator.hpp" }} # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/aux_/begin_end_impl.hpp" 2 namespace boost { namespace mpl { template<> struct begin_impl< aux::set_tag > { template< typename Set > struct apply : s_iter_get<Set,typename Set::item_> { }; }; template<> struct end_impl< aux::set_tag > { template< typename Set > struct apply { typedef s_iter< Set,set0<> > type; }; }; }} # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/set/set0.hpp" 2 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/set.hpp" 2 namespace boost { namespace parameter { namespace aux { typedef mpl::set0<> set0; template <class Set, class K> struct insert_ { typedef typename mpl::insert<Set, K>::type type; }; template <class Set, class K> struct has_key_ { typedef typename mpl::has_key<Set, K>::type type; }; }}} # 49 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 namespace parameter_ { template <class T> struct unmatched_argument { enum { mpl_assertion_in_line_56 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_arg( (void (*) (boost::is_same<T,void>))0, 1 ) ) ) }; typedef int type; }; } namespace boost { template<class T> class reference_wrapper; namespace parameter { namespace aux { struct use_default {}; } # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template <class Tag, class Predicate = aux::use_default> struct required { typedef Tag key_type; typedef Predicate predicate; }; template <class Tag, class Predicate = aux::use_default> struct optional { typedef Tag key_type; typedef Predicate predicate; }; template <class Tag> struct deduced { typedef Tag key_type; }; namespace aux { template <class T> struct is_required : mpl::false_ { }; template < class T0 , class T1 > struct is_required< required< T0 , T1 > > : mpl::true_ { }; template <class T> struct is_optional : mpl::false_ { }; template < class T0 , class T1 > struct is_optional< optional< T0 , T1 > > : mpl::true_ { }; template <class T> struct is_deduced_aux : mpl::false_ { }; template < class T0 > struct is_deduced_aux< deduced< T0 > > : mpl::true_ { }; template <class S> struct is_deduced0 : is_deduced_aux< typename S::key_type >::type {}; template <class S> struct is_deduced : mpl::eval_if< mpl::or_< is_optional<S>, is_required<S> > , is_deduced0<S> , mpl::false_ >::type {}; # 146 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template <class T> struct get_tag_type0 { typedef typename T::key_type type; }; template <class T> struct get_tag_type : mpl::eval_if< is_deduced_aux<typename T::key_type> , get_tag_type0<typename T::key_type> , mpl::identity<typename T::key_type> > {}; template <class T> struct tag_type : mpl::eval_if< mpl::or_< is_optional<T> , is_required<T> > , get_tag_type<T> , mpl::identity<T> > {}; template <class T> struct has_default : mpl::not_<is_required<T> > {}; template <class T> struct get_predicate_or_default { typedef T type; }; template <> struct get_predicate_or_default<use_default> { typedef mpl::always<mpl::true_> type; }; template <class T> struct get_predicate { typedef typename get_predicate_or_default<typename T::predicate>::type type; }; template <class T> struct predicate : mpl::eval_if< mpl::or_< is_optional<T> , is_required<T> > , get_predicate<T> , mpl::identity<mpl::always<mpl::true_> > > { }; template <class ParameterSpec> struct as_parameter_requirements { typedef parameter_requirements< typename tag_type<ParameterSpec>::type , typename predicate<ParameterSpec>::type , typename has_default<ParameterSpec>::type > type; }; template <class T> struct is_named_argument : mpl::or_< is_template_keyword<T> , is_tagged_argument<T> > {}; template <class ArgList, class ParameterRequirements> struct satisfies { # 263 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" static const bool value = ( sizeof( aux::to_yesno( ArgList::satisfies((ParameterRequirements*)0, (ArgList*)0) ) ) == sizeof(yes_tag) ); # 273 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" typedef mpl::bool_<satisfies::value> type; }; template <class ArgList, class ParameterSpec> struct satisfies_requirements_of : satisfies< ArgList , typename as_parameter_requirements<ParameterSpec>::type > {}; template <class UsedArgs, class Spec, class Arg, class TagFn> struct tag_deduced { typedef mpl::pair< typename mpl::apply_wrap2<TagFn, typename tag_type<Spec>::type, Arg>::type , typename aux::insert_<UsedArgs, typename tag_type<Spec>::type>::type > type; }; template < class Argument , class ArgumentPack , class DeducedArgs , class UsedArgs , class TagFn > struct deduce_tag; struct lambda_tag; template < class Argument , class ArgumentPack , class DeducedArgs , class UsedArgs , class TagFn > struct deduce_tag0 { typedef typename DeducedArgs::spec spec; typedef typename mpl::apply_wrap2< typename mpl::lambda< typename spec::predicate, lambda_tag >::type , Argument , ArgumentPack >::type condition; enum { mpl_assertion_in_line_338 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_arg( (void (*) ( mpl::not_<mpl::and_< condition , aux::has_key_<UsedArgs, typename tag_type<spec>::type> > > ))0, 1 ) ) ) }; typedef typename mpl::eval_if< condition , tag_deduced<UsedArgs, spec, Argument, TagFn> , deduce_tag<Argument, ArgumentPack, typename DeducedArgs::tail, UsedArgs, TagFn> >::type type; }; # 363 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template < class Argument , class ArgumentPack , class DeducedArgs , class UsedArgs , class TagFn > struct deduce_tag { typedef typename mpl::eval_if< is_same<DeducedArgs, void_> , mpl::pair<void_, UsedArgs> , deduce_tag0<Argument, ArgumentPack, DeducedArgs, UsedArgs, TagFn> >::type type; }; template < class List , class DeducedArgs , class TagFn , class Positional , class UsedArgs , class ArgumentPack , class Error > struct make_arg_list_aux; template <class UsedArgs, class Tagged> struct insert_tagged { typedef typename aux::insert_< UsedArgs, typename Tagged::key_type >::type type; }; template < class List , class DeducedArgs , class TagFn , class Positional , class UsedArgs , class ArgumentPack , class Error > struct make_arg_list0 { typedef typename List::arg argument; typedef typename List::spec parameter_spec; typedef typename tag_type<parameter_spec>::type tag_; typedef is_named_argument<argument> is_tagged; typedef mpl::and_< mpl::not_< mpl::or_<is_deduced<parameter_spec>, is_tagged> > , Positional > positional; typedef typename mpl::eval_if< is_tagged , insert_tagged<UsedArgs, argument> , mpl::identity<UsedArgs> >::type used_args; typedef typename mpl::eval_if< mpl::or_<is_tagged, positional> , mpl::pair<void_, used_args> , deduce_tag<argument, ArgumentPack, DeducedArgs, used_args, TagFn> >::type deduced_data; typedef typename mpl::eval_if< is_tagged , mpl::identity<argument> , mpl::eval_if< positional , mpl::apply_wrap2<TagFn, tag_, argument> , mpl::first<deduced_data> > >::type tagged; typedef typename mpl::if_< mpl::and_< is_same<Error, void_> , is_same<tagged, void_> > , parameter_::unmatched_argument<argument> , void_ >::type error; typedef typename mpl::if_< is_same<tagged, void_> , ArgumentPack , arg_list<tagged, ArgumentPack> >::type argument_pack; typedef typename make_arg_list_aux< typename List::tail , DeducedArgs , TagFn , positional , typename deduced_data::second , argument_pack , error >::type type; }; # 557 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template < class List , class DeducedArgs , class TagFn , class Positional , class DeducedSet , class ArgumentPack , class Error > struct make_arg_list_aux { typedef typename mpl::eval_if< is_same<List, void_> , mpl::identity<mpl::pair<ArgumentPack, Error> > , make_arg_list0<List, DeducedArgs, TagFn, Positional, DeducedSet, ArgumentPack, Error> >::type type; }; template < class List , class DeducedArgs , class TagFn , class EmitErrors = mpl::true_ > struct make_arg_list { typedef typename make_arg_list_aux< List, DeducedArgs, TagFn, mpl::true_, aux::set0, empty_arg_list, void_ >::type type; }; template <class Spec, class Arg, class Tail = void_> struct item { typedef Spec spec; typedef Arg arg; typedef Tail tail; }; template <class Spec, class Arg, class Tail> struct make_item { typedef item<Spec, Arg, typename Tail::type> type; }; template <class Spec, class Arg, class Tail> struct make_items { typedef typename mpl::eval_if< is_same<Arg, void_> , mpl::identity<void_> , make_item<Spec, Arg, Tail> >::type type; }; template <class ParameterSpec, class Tail = void_> struct deduced_item { typedef ParameterSpec spec; typedef Tail tail; }; template <class Spec, class Tail> struct make_deduced_item { typedef deduced_item<Spec, typename Tail::type> type; }; template <class Spec, class Tail> struct make_deduced_items { typedef typename mpl::eval_if< is_same<Spec, void_> , mpl::identity<void_> , mpl::eval_if< is_deduced<Spec> , make_deduced_item<Spec, Tail> , Tail > >::type type; }; # 682 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" struct tag_keyword_arg { template <class K, class T> struct apply : tag<K,T> {}; }; struct tag_template_keyword_arg { template <class K, class T> struct apply { typedef template_keyword<K,T> type; }; }; } # 710 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template< class PS0 , class PS1 = void_ , class PS2 = void_ , class PS3 = void_ , class PS4 = void_ , class PS5 = void_ , class PS6 = void_ , class PS7 = void_ > struct parameters { typedef typename aux::make_deduced_items< PS0, aux::make_deduced_items< PS1, aux::make_deduced_items< PS2, aux::make_deduced_items< PS3, aux::make_deduced_items< PS4, aux::make_deduced_items< PS5, aux::make_deduced_items< PS6, aux::make_deduced_items< PS7, mpl::identity<void_> > > > > > > > >::type deduced_list; # 732 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template <class ArgumentPackAndError> struct match_base : mpl::if_< # 748 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" mpl::and_< is_same<typename mpl::second<ArgumentPackAndError>::type, void_> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS0> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS1> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS2> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS3> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS4> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS5> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS6> , mpl::and_< aux::satisfies_requirements_of< typename mpl::first<ArgumentPackAndError>::type , PS7> , mpl::true_ > > > > > > > > > , mpl::identity<parameters> , void_ > {}; template< class A0 = void_ , class A1 = void_ , class A2 = void_ , class A3 = void_ , class A4 = void_ , class A5 = void_ , class A6 = void_ , class A7 = void_ > struct match : match_base< typename aux::make_arg_list< typename aux::make_items< PS0, A0, aux::make_items< PS1, A1, aux::make_items< PS2, A2, aux::make_items< PS3, A3, aux::make_items< PS4, A4, aux::make_items< PS5, A5, aux::make_items< PS6, A6, aux::make_items< PS7, A7, mpl::identity<void_> > > > > > > > >::type , deduced_list , aux::tag_keyword_arg , mpl::false_ >::type >::type {}; # 803 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" template < class A0 = void_ , class A1 = void_ , class A2 = void_ , class A3 = void_ , class A4 = void_ , class A5 = void_ , class A6 = void_ , class A7 = void_ > struct bind { typedef typename aux::make_arg_list< typename aux::make_items< PS0, A0, aux::make_items< PS1, A1, aux::make_items< PS2, A2, aux::make_items< PS3, A3, aux::make_items< PS4, A4, aux::make_items< PS5, A5, aux::make_items< PS6, A6, aux::make_items< PS7, A7, mpl::identity<void_> > > > > > > > >::type , deduced_list , aux::tag_template_keyword_arg >::type result; typedef typename mpl::first<result>::type type; }; typedef PS0 parameter_spec0; typedef PS1 parameter_spec1; typedef PS2 parameter_spec2; typedef PS3 parameter_spec3; typedef PS4 parameter_spec4; typedef PS5 parameter_spec5; typedef PS6 parameter_spec6; typedef PS7 parameter_spec7; # 841 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" aux::empty_arg_list operator()() const { return aux::empty_arg_list(); } template<class A0> typename mpl::first< typename aux::make_arg_list< aux::item< PS0,A0 > , deduced_list , aux::tag_keyword_arg >::type >::type operator()(A0& a0) const { typedef typename aux::make_arg_list< aux::item< PS0,A0 > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a0 , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() ); } template<class A0, class A1> typename mpl::first< typename aux::make_arg_list< aux::item< PS0,A0 , aux::item< PS1,A1 > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()(A0& a0, A1& a1) const { typedef typename aux::make_arg_list< aux::item< PS0,A0 , aux::item< PS1,A1 > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a1,a0 , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() ); } # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/lower1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/lower1.hpp" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/upper1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/slot/detail/shared.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/bounds/upper1.hpp" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" 1 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" template< class A0 , class A1 , class A2> typename mpl::first< typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , void_ > > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()( A0 & a0 , A1 & a1 , A2 & a2) const { typedef typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , void_ > > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a2 , a1 , a0 , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() ); } # 63 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" 1 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" template< class A0 , class A1 , class A2 , class A3> typename mpl::first< typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , void_ > > > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()( A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const { typedef typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , void_ > > > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a3 , a2 , a1 , a0 , aux::void_reference() , aux::void_reference() , aux::void_reference() , aux::void_reference() ); } # 68 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" 1 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4> typename mpl::first< typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , void_ > > > > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()( A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const { typedef typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , void_ > > > > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a4 , a3 , a2 , a1 , a0 , aux::void_reference() , aux::void_reference() , aux::void_reference() ); } # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" 1 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5> typename mpl::first< typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , aux::item< PS5, A5 , void_ > > > > > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()( A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const { typedef typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , aux::item< PS5, A5 , void_ > > > > > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a5 , a4 , a3 , a2 , a1 , a0 , aux::void_reference() , aux::void_reference() ); } # 78 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" 1 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6> typename mpl::first< typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , aux::item< PS5, A5 , aux::item< PS6, A6 , void_ > > > > > > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()( A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const { typedef typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , aux::item< PS5, A5 , aux::item< PS6, A6 , void_ > > > > > > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a6 , a5 , a4 , a3 , a2 , a1 , a0 , aux::void_reference() ); } # 83 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" 1 # 64 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/aux_/overloads.hpp" template< class A0 , class A1 , class A2 , class A3 , class A4 , class A5 , class A6 , class A7> typename mpl::first< typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , aux::item< PS5, A5 , aux::item< PS6, A6 , aux::item< PS7, A7 , void_ > > > > > > > > , deduced_list , aux::tag_keyword_arg >::type >::type operator()( A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const { typedef typename aux::make_arg_list< aux::item< PS0, A0 , aux::item< PS1, A1 , aux::item< PS2, A2 , aux::item< PS3, A3 , aux::item< PS4, A4 , aux::item< PS5, A5 , aux::item< PS6, A6 , aux::item< PS7, A7 , void_ > > > > > > > > , deduced_list , aux::tag_keyword_arg >::type result; typedef typename mpl::first<result>::type result_type; typedef typename mpl::second<result>::type error; error(); return result_type( a7 , a6 , a5 , a4 , a3 , a2 , a1 , a0 ); } # 88 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/preprocessor/iteration/detail/iter/forward1.hpp" 2 # 923 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/parameters.hpp" 2 }; } } # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/parameter.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/binding.hpp" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/mpl/apply.hpp" 1 # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/binding.hpp" 2 namespace boost { namespace parameter { # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/binding.hpp" template <class Parameters, class Keyword, class Default = void_> struct binding { typedef typename mpl::apply_wrap3< typename Parameters::binding,Keyword,Default,mpl::true_ >::type type; enum { mpl_assertion_in_line_56 = sizeof( boost::mpl::assertion_failed<false>( boost::mpl::assert_not_arg( (void (*) ( mpl::and_< is_same<Default, void_> , is_same<type, void_> > ))0, 1 ) ) ) }; # 60 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/parameter/binding.hpp" }; template <class Parameters, class Keyword, class DefaultFn> struct lazy_binding { typedef typename mpl::apply_wrap3< typename Parameters::binding , Keyword , typename aux::result_of0<DefaultFn>::type , mpl::true_ >::type type; }; }} # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/parameter.hpp" 2 namespace boost { namespace lockfree { namespace detail { namespace mpl = boost::mpl; template <typename bound_args, typename tag_type> struct has_arg { typedef typename parameter::binding<bound_args, tag_type, mpl::void_>::type type; static const bool value = mpl::is_not_void_<type>::type::value; }; template <typename bound_args> struct extract_capacity { static const bool has_capacity = has_arg<bound_args, tag::capacity>::value; typedef typename mpl::if_c<has_capacity, typename has_arg<bound_args, tag::capacity>::type, mpl::size_t< 0 > >::type capacity_t; static const std::size_t capacity = capacity_t::value; }; template <typename bound_args, typename T> struct extract_allocator { static const bool has_allocator = has_arg<bound_args, tag::allocator>::value; typedef typename mpl::if_c<has_allocator, typename has_arg<bound_args, tag::allocator>::type, std::allocator<T> >::type allocator_arg; typedef typename detail::allocator_rebind_helper<allocator_arg, T>::type type; }; template <typename bound_args, bool default_ = false> struct extract_fixed_sized { static const bool has_fixed_sized = has_arg<bound_args, tag::fixed_sized>::value; typedef typename mpl::if_c<has_fixed_sized, typename has_arg<bound_args, tag::fixed_sized>::type, mpl::bool_<default_> >::type type; static const bool value = type::value; }; } } } # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr.hpp" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/prefix.hpp" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/prefix.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdc.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/version_number.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdc.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/test.h" 1 # 8 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 2 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdc.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdcpp.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdcpp.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/stdcpp.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/objc.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/objc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/objc.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/cuda.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/cuda.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language/cuda.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/language.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/alpha.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/alpha.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/alpha.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/arm.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/arm.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/arm.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/blackfin.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/blackfin.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/blackfin.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/convex.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/convex.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/convex.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ia64.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ia64.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ia64.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/m68k.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/m68k.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/m68k.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/mips.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/mips.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/mips.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/parisc.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/parisc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/parisc.h" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ppc.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ppc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ppc.h" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ptx.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ptx.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/ptx.h" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/pyramid.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/pyramid.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/pyramid.h" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/rs6k.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/rs6k.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/rs6k.h" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sparc.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sparc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sparc.h" 2 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/superh.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/superh.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/superh.h" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sys370.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sys370.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sys370.h" 2 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sys390.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sys390.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/sys390.h" 2 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" 2 # 82 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" 1 # 9 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" 2 # 45 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" 1 # 9 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" 1 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 2 # 46 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" 2 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 2 # 83 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/32.h" 2 # 9 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86/64.h" 1 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/x86.h" 2 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/z.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/z.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture/z.h" 2 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/architecture.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/borland.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/borland.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/borland.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" 2 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/comp_detected.h" 1 # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/comeau.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/comeau.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/comeau.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/compaq.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/compaq.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/compaq.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/diab.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/diab.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/diab.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/digitalmars.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/digitalmars.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/digitalmars.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/dignus.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/dignus.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/dignus.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/edg.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/edg.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/edg.h" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/ekopath.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/ekopath.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/ekopath.h" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc_xml.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc_xml.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc_xml.h" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/gcc.h" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/greenhills.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/greenhills.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/greenhills.h" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/hp_acc.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/hp_acc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/hp_acc.h" 2 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/iar.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/iar.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/iar.h" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/ibm.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/ibm.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/ibm.h" 2 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/intel.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/intel.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/intel.h" 2 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/kai.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/kai.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/kai.h" 2 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/llvm.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/llvm.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/llvm.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/llvm.h" 2 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/metaware.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/metaware.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/metaware.h" 2 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/metrowerks.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/metrowerks.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/metrowerks.h" 2 # 33 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/microtec.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/microtec.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/microtec.h" 2 # 34 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/mpw.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/mpw.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/mpw.h" 2 # 35 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/nvcc.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/nvcc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/nvcc.h" 2 # 36 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/palm.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/palm.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/palm.h" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/pgi.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/pgi.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/pgi.h" 2 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/sgi_mipspro.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/sgi_mipspro.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/sgi_mipspro.h" 2 # 39 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/sunpro.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/sunpro.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/sunpro.h" 2 # 40 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/tendra.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/tendra.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/tendra.h" 2 # 41 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/visualc.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/visualc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/clang.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/visualc.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/visualc.h" 2 # 42 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/watcom.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/watcom.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler/watcom.h" 2 # 43 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/compiler.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/_prefix.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/_prefix.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/_cassert.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/_cassert.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cassert" 1 3 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cassert" 3 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 1 3 4 # 73 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/assert.h" 3 4 extern "C" { void __assert(const char* _Nonnull __file, int __line, const char* _Nonnull __msg) __attribute__((__noreturn__)); void __assert2(const char* _Nonnull __file, int __line, const char* _Nonnull __function, const char* _Nonnull __msg) __attribute__((__noreturn__)); } # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cassert" 2 3 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/cassert" 3 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/_cassert.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/_prefix.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/cloudabi.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/cloudabi.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/cloudabi.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/gnu.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/gnu.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/gnu.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/c++/v1/stddef.h" 1 3 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/gnu.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/uc.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/uc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/uc.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/vms.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/vms.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/vms.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/zos.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/zos.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/zos.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/_prefix.h" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/_prefix.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/_exception.h" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/_prefix.h" 2 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/cxx.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/cxx.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/cxx.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/dinkumware.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/dinkumware.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/dinkumware.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/libcomo.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/libcomo.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/libcomo.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/modena.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/modena.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/modena.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/msl.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/msl.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/msl.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/roguewave.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/roguewave.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/roguewave.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/sgi.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/sgi.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/sgi.h" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/stdcpp3.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/stdcpp3.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/stdcpp3.h" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/stlport.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/stlport.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/stlport.h" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/vacpp.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/vacpp.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std/vacpp.h" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/std.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/aix.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/aix.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/aix.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/amigaos.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/amigaos.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/amigaos.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/android.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/android.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/android.h" 2 # 37 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/android.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/detail/os_detected.h" 1 # 38 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/android.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/beos.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/beos.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/beos.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/macos.h" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/macos.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/ios.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/ios.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/ios.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/macos.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/macos.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 52 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 2 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 2 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 2 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 2 # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 2 # 53 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 54 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 55 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 56 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 57 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/cygwin.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/cygwin.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/cygwin.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/haiku.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/haiku.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/haiku.h" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/hpux.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/hpux.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/hpux.h" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/irix.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/irix.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/irix.h" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/ios.h" 1 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/linux.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/linux.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/linux.h" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/macos.h" 1 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/os400.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/os400.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/os400.h" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/qnxnto.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/qnxnto.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/qnxnto.h" 2 # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/solaris.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/solaris.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/solaris.h" 2 # 29 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/unix.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/unix.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/unix.h" 2 # 30 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/vms.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/vms.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/vms.h" 2 # 31 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 2 # 32 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/library/c/gnu.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/macos.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 1 # 94 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/bsdi.h" 1 # 95 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/dragonfly.h" 1 # 96 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/free.h" 1 # 97 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/open.h" 1 # 98 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd/net.h" 1 # 99 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/bsd.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/android.h" 1 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 2 # 58 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/endian.h" 1 3 4 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/endian.h" 3 4 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/endian.h" 1 3 4 # 51 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/sys/endian.h" 3 4 extern "C" { uint32_t htonl(uint32_t __x) __attribute__((__const__)); uint16_t htons(uint16_t __x) __attribute__((__const__)); uint32_t ntohl(uint32_t __x) __attribute__((__const__)); uint16_t ntohs(uint16_t __x) __attribute__((__const__)); } # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/./r27/bin/../sysroot/usr/include/endian.h" 2 3 4 # 59 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other/endian.h" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/other.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/cloudabi.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/cloudabi.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/cloudabi.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw.h" 2 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw32.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw32.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw32.h" 2 # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw64.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw64.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/mingw64.h" 2 # 18 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 2 # 19 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_desktop.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_desktop.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_desktop.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_desktop.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_desktop.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_phone.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_phone.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_phone.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_phone.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_phone.h" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_server.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_server.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_server.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_server.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_server.h" 2 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_store.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_store.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_store.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_store.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_store.h" 2 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_system.h" 1 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_system.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_system.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_system.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_uwp.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_system.h" 2 # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_runtime.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_runtime.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/make.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_runtime.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/windows.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_runtime.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_phone.h" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_runtime.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_store.h" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/windows_runtime.h" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/ios.h" 1 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/ios.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/os/ios.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform/ios.h" 2 # 26 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/platform.h" 2 # 20 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd.h" 1 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86/versions.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86.h" 2 # 10 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86_amd.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86_amd.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86_amd/versions.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/x86_amd.h" 2 # 11 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/arm.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/arm.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/arm/versions.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/arm.h" 2 # 12 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/ppc.h" 1 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/ppc.h" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/ppc/versions.h" 1 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd/ppc.h" 2 # 13 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware/simd.h" 2 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/hardware.h" 2 # 21 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef/version.h" 1 # 23 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 2 # 25 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/prefix.hpp" 2 # 14 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr_dcas.hpp" 1 # 15 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr_dcas.hpp" # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/predef.h" 1 # 16 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr_dcas.hpp" 2 namespace boost { namespace lockfree { namespace detail { template <class T> class alignas(2 * sizeof(void*)) tagged_ptr { public: typedef std::size_t tag_t; tagged_ptr(void) noexcept {} tagged_ptr(tagged_ptr const & p) = default; explicit tagged_ptr(T * p, tag_t t = 0): ptr(p), tag(t) {} # 62 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr_dcas.hpp" tagged_ptr & operator= (tagged_ptr const & p) = default; void set(T * p, tag_t t) { ptr = p; tag = t; } bool operator== (volatile tagged_ptr const & p) const { return (ptr == p.ptr) && (tag == p.tag); } bool operator!= (volatile tagged_ptr const & p) const { return !operator==(p); } T * get_ptr(void) const { return ptr; } void set_ptr(T * p) { ptr = p; } tag_t get_tag() const { return tag; } tag_t get_next_tag() const { tag_t next = (get_tag() + 1) & (std::numeric_limits<tag_t>::max)(); return next; } void set_tag(tag_t t) { tag = t; } T & operator*() const { return *ptr; } T * operator->() const { return ptr; } operator bool(void) const { return ptr != 0; } protected: T * ptr; tag_t tag; }; } } } # 17 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/tagged_ptr.hpp" 2 # 27 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/detail/freelist.hpp" 2 namespace boost { namespace lockfree { namespace detail { template <typename T, typename Alloc = std::allocator<T> > class freelist_stack: Alloc { struct freelist_node { tagged_ptr<freelist_node> next; }; typedef tagged_ptr<freelist_node> tagged_node_ptr; public: typedef T * index_t; typedef tagged_ptr<T> tagged_node_handle; template <typename Allocator> freelist_stack (Allocator const & alloc, std::size_t n = 0): Alloc(alloc), pool_(tagged_node_ptr(__null)) { for (std::size_t i = 0; i != n; ++i) { T * node = Alloc::allocate(1); deallocate<false>(node); } } template <bool ThreadSafe> void reserve (std::size_t count) { for (std::size_t i = 0; i != count; ++i) { T * node = Alloc::allocate(1); deallocate<ThreadSafe>(node); } } template <bool ThreadSafe, bool Bounded> T * construct (void) { T * node = allocate<ThreadSafe, Bounded>(); if (node) new(node) T(); return node; } template <bool ThreadSafe, bool Bounded, typename ArgumentType> T * construct (ArgumentType const & arg) { T * node = allocate<ThreadSafe, Bounded>(); if (node) new(node) T(arg); return node; } template <bool ThreadSafe, bool Bounded, typename ArgumentType1, typename ArgumentType2> T * construct (ArgumentType1 const & arg1, ArgumentType2 const & arg2) { T * node = allocate<ThreadSafe, Bounded>(); if (node) new(node) T(arg1, arg2); return node; } template <bool ThreadSafe> void destruct (tagged_node_handle const & tagged_ptr) { T * n = tagged_ptr.get_ptr(); n->~T(); deallocate<ThreadSafe>(n); } template <bool ThreadSafe> void destruct (T * n) { n->~T(); deallocate<ThreadSafe>(n); } ~freelist_stack(void) { tagged_node_ptr current = pool_.load(); while (current) { freelist_node * current_ptr = current.get_ptr(); if (current_ptr) current = current_ptr->next; Alloc::deallocate((T*)current_ptr, 1); } } bool is_lock_free(void) const { return pool_.is_lock_free(); } T * get_handle(T * pointer) const { return pointer; } T * get_handle(tagged_node_handle const & handle) const { return get_pointer(handle); } T * get_pointer(tagged_node_handle const & tptr) const { return tptr.get_ptr(); } T * get_pointer(T * pointer) const { return pointer; } T * null_handle(void) const { return __null; } protected: template <bool ThreadSafe, bool Bounded> T * allocate (void) { if (ThreadSafe) return allocate_impl<Bounded>(); else return allocate_impl_unsafe<Bounded>(); } private: template <bool Bounded> T * allocate_impl (void) { tagged_node_ptr old_pool = pool_.load(memory_order_consume); for(;;) { if (!old_pool.get_ptr()) { if (!Bounded) return Alloc::allocate(1); else return 0; } freelist_node * new_pool_ptr = old_pool->next.get_ptr(); tagged_node_ptr new_pool (new_pool_ptr, old_pool.get_next_tag()); if (pool_.compare_exchange_weak(old_pool, new_pool)) { void * ptr = old_pool.get_ptr(); return reinterpret_cast<T*>(ptr); } } } template <bool Bounded> T * allocate_impl_unsafe (void) { tagged_node_ptr old_pool = pool_.load(memory_order_relaxed); if (!old_pool.get_ptr()) { if (!Bounded) return Alloc::allocate(1); else return 0; } freelist_node * new_pool_ptr = old_pool->next.get_ptr(); tagged_node_ptr new_pool (new_pool_ptr, old_pool.get_next_tag()); pool_.store(new_pool, memory_order_relaxed); void * ptr = old_pool.get_ptr(); return reinterpret_cast<T*>(ptr); } protected: template <bool ThreadSafe> void deallocate (T * n) { if (ThreadSafe) deallocate_impl(n); else deallocate_impl_unsafe(n); } private: void deallocate_impl (T * n) { void * node = n; tagged_node_ptr old_pool = pool_.load(memory_order_consume); freelist_node * new_pool_ptr = reinterpret_cast<freelist_node*>(node); for(;;) { tagged_node_ptr new_pool (new_pool_ptr, old_pool.get_tag()); new_pool->next.set_ptr(old_pool.get_ptr()); if (pool_.compare_exchange_weak(old_pool, new_pool)) return; } } void deallocate_impl_unsafe (T * n) { void * node = n; tagged_node_ptr old_pool = pool_.load(memory_order_relaxed); freelist_node * new_pool_ptr = reinterpret_cast<freelist_node*>(node); tagged_node_ptr new_pool (new_pool_ptr, old_pool.get_tag()); new_pool->next.set_ptr(old_pool.get_ptr()); pool_.store(new_pool, memory_order_relaxed); } atomic<tagged_node_ptr> pool_; }; class alignas(4) tagged_index { public: typedef boost::uint16_t tag_t; typedef boost::uint16_t index_t; tagged_index(void) noexcept {} tagged_index(tagged_index const & rhs) = default; explicit tagged_index(index_t i, tag_t t = 0): index(i), tag(t) {} index_t get_index() const { return index; } void set_index(index_t i) { index = i; } tag_t get_tag() const { return tag; } tag_t get_next_tag() const { tag_t next = (get_tag() + 1u) & (std::numeric_limits<tag_t>::max)(); return next; } void set_tag(tag_t t) { tag = t; } bool operator==(tagged_index const & rhs) const { return (index == rhs.index) && (tag == rhs.tag); } bool operator!=(tagged_index const & rhs) const { return !operator==(rhs); } protected: index_t index; tag_t tag; }; template <typename T, std::size_t size> struct compiletime_sized_freelist_storage { static_assert(size < 65536, "size < 65536"); boost::array<char, size * sizeof(T) + 64> data; template <typename Allocator> compiletime_sized_freelist_storage(Allocator const & , std::size_t ) {} T * nodes(void) const { char * data_pointer = const_cast<char*>(data.data()); return reinterpret_cast<T*>( boost::alignment::align_up( data_pointer, 64 ) ); } std::size_t node_count(void) const { return size; } }; template <typename T, typename Alloc = std::allocator<T> > struct runtime_sized_freelist_storage: boost::alignment::aligned_allocator_adaptor<Alloc, 64 > { typedef boost::alignment::aligned_allocator_adaptor<Alloc, 64 > allocator_type; T * nodes_; std::size_t node_count_; template <typename Allocator> runtime_sized_freelist_storage(Allocator const & alloc, std::size_t count): allocator_type(alloc), node_count_(count) { if (count > 65535) boost::throw_exception(std::runtime_error("boost.lockfree: freelist size is limited to a maximum of 65535 objects")); nodes_ = allocator_type::allocate(count); } ~runtime_sized_freelist_storage(void) { allocator_type::deallocate(nodes_, node_count_); } T * nodes(void) const { return nodes_; } std::size_t node_count(void) const { return node_count_; } }; template <typename T, typename NodeStorage = runtime_sized_freelist_storage<T> > class fixed_size_freelist: NodeStorage { struct freelist_node { tagged_index next; }; void initialize(void) { T * nodes = NodeStorage::nodes(); for (std::size_t i = 0; i != NodeStorage::node_count(); ++i) { tagged_index * next_index = reinterpret_cast<tagged_index*>(nodes + i); next_index->set_index(null_handle()); deallocate<false>(static_cast<index_t>(i)); } } public: typedef tagged_index tagged_node_handle; typedef tagged_index::index_t index_t; template <typename Allocator> fixed_size_freelist (Allocator const & alloc, std::size_t count): NodeStorage(alloc, count), pool_(tagged_index(static_cast<index_t>(count), 0)) { initialize(); } fixed_size_freelist (void): pool_(tagged_index(NodeStorage::node_count(), 0)) { initialize(); } template <bool ThreadSafe, bool Bounded> T * construct (void) { index_t node_index = allocate<ThreadSafe>(); if (node_index == null_handle()) return __null; T * node = NodeStorage::nodes() + node_index; new(node) T(); return node; } template <bool ThreadSafe, bool Bounded, typename ArgumentType> T * construct (ArgumentType const & arg) { index_t node_index = allocate<ThreadSafe>(); if (node_index == null_handle()) return __null; T * node = NodeStorage::nodes() + node_index; new(node) T(arg); return node; } template <bool ThreadSafe, bool Bounded, typename ArgumentType1, typename ArgumentType2> T * construct (ArgumentType1 const & arg1, ArgumentType2 const & arg2) { index_t node_index = allocate<ThreadSafe>(); if (node_index == null_handle()) return __null; T * node = NodeStorage::nodes() + node_index; new(node) T(arg1, arg2); return node; } template <bool ThreadSafe> void destruct (tagged_node_handle tagged_index) { index_t index = tagged_index.get_index(); T * n = NodeStorage::nodes() + index; (void)n; n->~T(); deallocate<ThreadSafe>(index); } template <bool ThreadSafe> void destruct (T * n) { n->~T(); deallocate<ThreadSafe>(static_cast<index_t>(n - NodeStorage::nodes())); } bool is_lock_free(void) const { return pool_.is_lock_free(); } index_t null_handle(void) const { return static_cast<index_t>(NodeStorage::node_count()); } index_t get_handle(T * pointer) const { if (pointer == __null) return null_handle(); else return static_cast<index_t>(pointer - NodeStorage::nodes()); } index_t get_handle(tagged_node_handle const & handle) const { return handle.get_index(); } T * get_pointer(tagged_node_handle const & tptr) const { return get_pointer(tptr.get_index()); } T * get_pointer(index_t index) const { if (index == null_handle()) return 0; else return NodeStorage::nodes() + index; } T * get_pointer(T * ptr) const { return ptr; } protected: template <bool ThreadSafe> index_t allocate (void) { if (ThreadSafe) return allocate_impl(); else return allocate_impl_unsafe(); } private: index_t allocate_impl (void) { tagged_index old_pool = pool_.load(memory_order_consume); for(;;) { index_t index = old_pool.get_index(); if (index == null_handle()) return index; T * old_node = NodeStorage::nodes() + index; tagged_index * next_index = reinterpret_cast<tagged_index*>(old_node); tagged_index new_pool(next_index->get_index(), old_pool.get_next_tag()); if (pool_.compare_exchange_weak(old_pool, new_pool)) return old_pool.get_index(); } } index_t allocate_impl_unsafe (void) { tagged_index old_pool = pool_.load(memory_order_consume); index_t index = old_pool.get_index(); if (index == null_handle()) return index; T * old_node = NodeStorage::nodes() + index; tagged_index * next_index = reinterpret_cast<tagged_index*>(old_node); tagged_index new_pool(next_index->get_index(), old_pool.get_next_tag()); pool_.store(new_pool, memory_order_relaxed); return old_pool.get_index(); } template <bool ThreadSafe> void deallocate (index_t index) { if (ThreadSafe) deallocate_impl(index); else deallocate_impl_unsafe(index); } void deallocate_impl (index_t index) { freelist_node * new_pool_node = reinterpret_cast<freelist_node*>(NodeStorage::nodes() + index); tagged_index old_pool = pool_.load(memory_order_consume); for(;;) { tagged_index new_pool (index, old_pool.get_tag()); new_pool_node->next.set_index(old_pool.get_index()); if (pool_.compare_exchange_weak(old_pool, new_pool)) return; } } void deallocate_impl_unsafe (index_t index) { freelist_node * new_pool_node = reinterpret_cast<freelist_node*>(NodeStorage::nodes() + index); tagged_index old_pool = pool_.load(memory_order_consume); tagged_index new_pool (index, old_pool.get_tag()); new_pool_node->next.set_index(old_pool.get_index()); pool_.store(new_pool); } atomic<tagged_index> pool_; }; template <typename T, typename Alloc, bool IsCompileTimeSized, bool IsFixedSize, std::size_t Capacity > struct select_freelist { typedef typename mpl::if_c<IsCompileTimeSized, compiletime_sized_freelist_storage<T, Capacity>, runtime_sized_freelist_storage<T, Alloc> >::type fixed_sized_storage_type; typedef typename mpl::if_c<IsCompileTimeSized || IsFixedSize, fixed_size_freelist<T, fixed_sized_storage_type>, freelist_stack<T, Alloc> >::type type; }; template <typename T, bool IsNodeBased> struct select_tagged_handle { typedef typename mpl::if_c<IsNodeBased, tagged_ptr<T>, tagged_index >::type tagged_handle_type; typedef typename mpl::if_c<IsNodeBased, T*, typename tagged_index::index_t >::type handle_type; }; } } } # 24 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 1 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/lockfree_forward.hpp" 1 # 22 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/lockfree_forward.hpp" namespace boost { namespace lockfree { template <bool IsFixedSized> struct fixed_sized; template <size_t Size> struct capacity; template <class Alloc> struct allocator; # 44 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/lockfree_forward.hpp" template <typename T, typename ...Options> class queue; template <typename T, typename ...Options> class stack; template <typename T, typename ...Options> class spsc_queue; } } # 28 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" 2 # 48 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" namespace boost { namespace lockfree { namespace detail { typedef parameter::parameters<boost::parameter::optional<tag::allocator>, boost::parameter::optional<tag::capacity> > queue_signature; } # 87 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" template <typename T, typename ...Options> class queue { private: static_assert((boost::has_trivial_destructor<T>::value), "(boost::has_trivial_destructor<T>::value)"); static_assert((boost::has_trivial_assign<T>::value), "(boost::has_trivial_assign<T>::value)"); typedef typename detail::queue_signature::bind<Options...>::type bound_args; static const bool has_capacity = detail::extract_capacity<bound_args>::has_capacity; static const size_t capacity = detail::extract_capacity<bound_args>::capacity + 1; static const bool fixed_sized = detail::extract_fixed_sized<bound_args>::value; static const bool node_based = !(has_capacity || fixed_sized); static const bool compile_time_sized = has_capacity; struct alignas(64) node { typedef typename detail::select_tagged_handle<node, node_based>::tagged_handle_type tagged_node_handle; typedef typename detail::select_tagged_handle<node, node_based>::handle_type handle_type; node(T const & v, handle_type null_handle): data(v) { tagged_node_handle old_next = next.load(memory_order_relaxed); tagged_node_handle new_next (null_handle, old_next.get_next_tag()); next.store(new_next, memory_order_release); } node (handle_type null_handle): next(tagged_node_handle(null_handle, 0)) {} node(void) {} atomic<tagged_node_handle> next; T data; }; typedef typename detail::extract_allocator<bound_args, node>::type node_allocator; typedef typename detail::select_freelist<node, node_allocator, compile_time_sized, fixed_sized, capacity>::type pool_t; typedef typename pool_t::tagged_node_handle tagged_node_handle; typedef typename detail::select_tagged_handle<node, node_based>::handle_type handle_type; void initialize(void) { node * n = pool.template construct<true, false>(pool.null_handle()); tagged_node_handle dummy_node(pool.get_handle(n), 0); head_.store(dummy_node, memory_order_relaxed); tail_.store(dummy_node, memory_order_release); } struct implementation_defined { typedef node_allocator allocator; typedef std::size_t size_type; }; queue(queue const&) = delete; queue& operator= (queue const&) = delete; public: typedef T value_type; typedef typename implementation_defined::allocator allocator; typedef typename implementation_defined::size_type size_type; # 176 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" bool is_lock_free (void) const { return head_.is_lock_free() && tail_.is_lock_free() && pool.is_lock_free(); } queue(void): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(node_allocator(), capacity) { ((has_capacity) ? (static_cast<void>(0)) : __assert2("/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp", 188, __PRETTY_FUNCTION__, "has_capacity")); initialize(); } template <typename U> explicit queue(typename detail::allocator_rebind_helper<node_allocator, U>::type const & alloc): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(alloc, capacity) { static_assert(has_capacity, "has_capacity"); initialize(); } explicit queue(allocator const & alloc): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(alloc, capacity) { ((has_capacity) ? (static_cast<void>(0)) : __assert2("/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp", 207, __PRETTY_FUNCTION__, "has_capacity")); initialize(); } explicit queue(size_type n): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(node_allocator(), n + 1) { ((!has_capacity) ? (static_cast<void>(0)) : __assert2("/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp", 219, __PRETTY_FUNCTION__, "!has_capacity")); initialize(); } template <typename U> queue(size_type n, typename detail::allocator_rebind_helper<node_allocator, U>::type const & alloc): head_(tagged_node_handle(0, 0)), tail_(tagged_node_handle(0, 0)), pool(alloc, n + 1) { static_assert(!has_capacity, "!has_capacity"); initialize(); } void reserve(size_type n) { pool.template reserve<true>(n); } void reserve_unsafe(size_type n) { pool.template reserve<false>(n); } ~queue(void) { T dummy; while(unsynchronized_pop(dummy)) {} pool.template destruct<false>(head_.load(memory_order_relaxed)); } bool empty(void) const { return pool.get_handle(head_.load()) == pool.get_handle(tail_.load()); } # 278 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" bool push(T const & t) { return do_push<false>(t); } # 291 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" bool bounded_push(T const & t) { return do_push<true>(t); } private: template <bool Bounded> bool do_push(T const & t) { node * n = pool.template construct<true, Bounded>(t, pool.null_handle()); handle_type node_handle = pool.get_handle(n); if (n == __null) return false; for (;;) { tagged_node_handle tail = tail_.load(memory_order_acquire); node * tail_node = pool.get_pointer(tail); tagged_node_handle next = tail_node->next.load(memory_order_acquire); node * next_ptr = pool.get_pointer(next); tagged_node_handle tail2 = tail_.load(memory_order_acquire); if (__builtin_expect(tail == tail2, 1)) { if (next_ptr == 0) { tagged_node_handle new_tail_next(node_handle, next.get_next_tag()); if ( tail_node->next.compare_exchange_weak(next, new_tail_next) ) { tagged_node_handle new_tail(node_handle, tail.get_next_tag()); tail_.compare_exchange_strong(tail, new_tail); return true; } } else { tagged_node_handle new_tail(pool.get_handle(next_ptr), tail.get_next_tag()); tail_.compare_exchange_strong(tail, new_tail); } } } } public: # 344 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" bool unsynchronized_push(T const & t) { node * n = pool.template construct<false, false>(t, pool.null_handle()); if (n == __null) return false; for (;;) { tagged_node_handle tail = tail_.load(memory_order_relaxed); tagged_node_handle next = tail->next.load(memory_order_relaxed); node * next_ptr = next.get_ptr(); if (next_ptr == 0) { tail->next.store(tagged_node_handle(n, next.get_next_tag()), memory_order_relaxed); tail_.store(tagged_node_handle(n, tail.get_next_tag()), memory_order_relaxed); return true; } else tail_.store(tagged_node_handle(next_ptr, tail.get_next_tag()), memory_order_relaxed); } } # 373 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" bool pop (T & ret) { return pop<T>(ret); } # 386 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" template <typename U> bool pop (U & ret) { for (;;) { tagged_node_handle head = head_.load(memory_order_acquire); node * head_ptr = pool.get_pointer(head); tagged_node_handle tail = tail_.load(memory_order_acquire); tagged_node_handle next = head_ptr->next.load(memory_order_acquire); node * next_ptr = pool.get_pointer(next); tagged_node_handle head2 = head_.load(memory_order_acquire); if (__builtin_expect(head == head2, 1)) { if (pool.get_handle(head) == pool.get_handle(tail)) { if (next_ptr == 0) return false; tagged_node_handle new_tail(pool.get_handle(next), tail.get_next_tag()); tail_.compare_exchange_strong(tail, new_tail); } else { if (next_ptr == 0) continue; detail::copy_payload(next_ptr->data, ret); tagged_node_handle new_head(pool.get_handle(next), head.get_next_tag()); if (head_.compare_exchange_weak(head, new_head)) { pool.template destruct<true>(head); return true; } } } } } # 434 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" bool unsynchronized_pop (T & ret) { return unsynchronized_pop<T>(ret); } # 448 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" template <typename U> bool unsynchronized_pop (U & ret) { for (;;) { tagged_node_handle head = head_.load(memory_order_relaxed); node * head_ptr = pool.get_pointer(head); tagged_node_handle tail = tail_.load(memory_order_relaxed); tagged_node_handle next = head_ptr->next.load(memory_order_relaxed); node * next_ptr = pool.get_pointer(next); if (pool.get_handle(head) == pool.get_handle(tail)) { if (next_ptr == 0) return false; tagged_node_handle new_tail(pool.get_handle(next), tail.get_next_tag()); tail_.store(new_tail); } else { if (next_ptr == 0) continue; detail::copy_payload(next_ptr->data, ret); tagged_node_handle new_head(pool.get_handle(next), head.get_next_tag()); head_.store(new_head); pool.template destruct<false>(head); return true; } } } # 489 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" template <typename Functor> bool consume_one(Functor & f) { T element; bool success = pop(element); if (success) f(element); return success; } template <typename Functor> bool consume_one(Functor const & f) { T element; bool success = pop(element); if (success) f(element); return success; } # 520 "/Users/kellerms/pocs/android-ndk-compiler-issue/boost/lockfree/queue.hpp" template <typename Functor> size_t consume_all(Functor & f) { size_t element_count = 0; while (consume_one(f)) element_count += 1; return element_count; } template <typename Functor> size_t consume_all(Functor const & f) { size_t element_count = 0; while (consume_one(f)) element_count += 1; return element_count; } private: atomic<tagged_node_handle> head_; static const int padding_size = 64 - sizeof(tagged_node_handle); char padding1[padding_size]; atomic<tagged_node_handle> tail_; char padding2[padding_size]; pool_t pool; }; } } # 3 "sample.cpp" 2 class MyClass { public: MyClass() : m_queue(new boost::lockfree::queue<int>(1000)) { } private: std::unique_ptr<boost::lockfree::queue<int>> m_queue; }; int main() { MyClass a; return 0; }
Become a Patron
Sponsor on GitHub
Donate via PayPal
Source on GitHub
Mailing list
Installed libraries
Wiki
Report an issue
How it works
Contact the author
CE on Mastodon
CE on Bluesky
About the author
Statistics
Changelog
Version tree