# 1 "/Users/jrhammon/Work/Elemental/git/src/blas_like/level1-C.cpp" # 1 "/Users/jrhammon/Work/Elemental/git/include/El-lite.hpp" 1 # 1 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" 1 # 1 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/FCMangle.h" 1 # 29 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" 2 # 45 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" # 60 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" # 90 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" # 143 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" # 160 "/Users/jrhammon/Work/Elemental/git/build-intel16/include/El/config.h" # 13 "/Users/jrhammon/Work/Elemental/git/include/El-lite.hpp" 2 # 1 "/Users/jrhammon/Work/Elemental/git/include/El/core.hpp" 1 # 1 "/opt/mpich/dev/intel/default/include/mpi.h" 1 extern "C" { # 32 "/opt/mpich/dev/intel/default/include/mpi.h" # 39 "/opt/mpich/dev/intel/default/include/mpi.h" # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdint" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 1 3 # 16 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 43 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 56 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 63 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 77 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 89 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 108 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 119 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 136 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 149 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 191 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 207 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 241 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 365 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 375 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 namespace std { inline namespace __1 { } } # 568 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 588 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 597 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 638 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 649 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 697 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 711 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 734 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__config" 3 # 145 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdint" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/include/stdint.h" 1 3 # 62 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/include/stdint.h" 3 # 1 "/usr/include/stdint.h" 1 3 # 1 "/usr/include/sys/_types/_int8_t.h" 1 3 typedef __signed char int8_t; # 19 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/sys/_types/_int16_t.h" 1 3 typedef short int16_t; # 20 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/sys/_types/_int32_t.h" 1 3 typedef int int32_t; # 21 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/sys/_types/_int64_t.h" 1 3 typedef long long int64_t; # 22 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/_types/_uint8_t.h" 1 3 typedef unsigned char uint8_t; # 24 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/_types/_uint16_t.h" 1 3 typedef unsigned short uint16_t; # 25 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/_types/_uint32_t.h" 1 3 typedef unsigned int uint32_t; # 26 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/_types/_uint64_t.h" 1 3 typedef unsigned long long uint64_t; # 27 "/usr/include/stdint.h" 2 3 typedef int8_t int_least8_t; typedef int16_t int_least16_t; typedef int32_t int_least32_t; typedef int64_t int_least64_t; typedef uint8_t uint_least8_t; typedef uint16_t uint_least16_t; typedef uint32_t uint_least32_t; typedef uint64_t uint_least64_t; typedef int8_t int_fast8_t; typedef int16_t int_fast16_t; typedef int32_t int_fast32_t; typedef int64_t int_fast64_t; typedef uint8_t uint_fast8_t; typedef uint16_t uint_fast16_t; typedef uint32_t uint_fast32_t; typedef uint64_t uint_fast64_t; # 1 "/usr/include/sys/_types.h" 1 3 # 1 "/usr/include/sys/cdefs.h" 1 3 # 77 "/usr/include/sys/cdefs.h" 3 # 103 "/usr/include/sys/cdefs.h" 3 # 126 "/usr/include/sys/cdefs.h" 3 # 154 "/usr/include/sys/cdefs.h" 3 # 184 "/usr/include/sys/cdefs.h" 3 # 227 "/usr/include/sys/cdefs.h" 3 # 259 "/usr/include/sys/cdefs.h" 3 # 268 "/usr/include/sys/cdefs.h" 3 # 289 "/usr/include/sys/cdefs.h" 3 # 406 "/usr/include/sys/cdefs.h" 3 # 430 "/usr/include/sys/cdefs.h" 3 # 452 "/usr/include/sys/cdefs.h" 3 # 462 "/usr/include/sys/cdefs.h" 3 # 476 "/usr/include/sys/cdefs.h" 3 # 486 "/usr/include/sys/cdefs.h" 3 # 496 "/usr/include/sys/cdefs.h" 3 # 509 "/usr/include/sys/cdefs.h" 3 # 1 "/usr/include/sys/_symbol_aliasing.h" 1 3 # 534 "/usr/include/sys/cdefs.h" 2 3 # 542 "/usr/include/sys/cdefs.h" 3 # 589 "/usr/include/sys/cdefs.h" 3 # 1 "/usr/include/sys/_posix_availability.h" 1 3 # 600 "/usr/include/sys/cdefs.h" 2 3 # 619 "/usr/include/sys/cdefs.h" 3 # 33 "/usr/include/sys/_types.h" 2 3 # 1 "/usr/include/machine/_types.h" 1 3 # 1 "/usr/include/i386/_types.h" 1 3 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 long __darwin_intptr_t; typedef unsigned int __darwin_natural_t; typedef int __darwin_ct_rune_t; typedef union { char __mbstate8[128]; long long _mbstateL; } __mbstate_t; typedef __mbstate_t __darwin_mbstate_t; typedef long __darwin_ptrdiff_t; typedef unsigned long __darwin_size_t; typedef __builtin_va_list __darwin_va_list; typedef int __darwin_wchar_t; typedef __darwin_wchar_t __darwin_rune_t; typedef int __darwin_wint_t; typedef unsigned long __darwin_clock_t; typedef __uint32_t __darwin_socklen_t; typedef long __darwin_ssize_t; typedef long __darwin_time_t; # 33 "/usr/include/machine/_types.h" 2 3 # 34 "/usr/include/sys/_types.h" 2 3 # 54 "/usr/include/sys/_types.h" 3 typedef __int64_t __darwin_blkcnt_t; typedef __int32_t __darwin_blksize_t; typedef __int32_t __darwin_dev_t; typedef unsigned int __darwin_fsblkcnt_t; typedef unsigned int __darwin_fsfilcnt_t; typedef __uint32_t __darwin_gid_t; typedef __uint32_t __darwin_id_t; typedef __uint64_t __darwin_ino64_t; typedef __darwin_ino64_t __darwin_ino_t; typedef __darwin_natural_t __darwin_mach_port_name_t; typedef __darwin_mach_port_name_t __darwin_mach_port_t; typedef __uint16_t __darwin_mode_t; typedef __int64_t __darwin_off_t; typedef __int32_t __darwin_pid_t; typedef __uint32_t __darwin_sigset_t; typedef __int32_t __darwin_suseconds_t; typedef __uint32_t __darwin_uid_t; typedef __uint32_t __darwin_useconds_t; typedef unsigned char __darwin_uuid_t[16]; typedef char __darwin_uuid_string_t[37]; # 1 "/usr/include/sys/_pthread/_pthread_types.h" 1 3 # 56 "/usr/include/sys/_pthread/_pthread_types.h" 3 struct __darwin_pthread_handler_rec { void (*__routine)(void *); void *__arg; struct __darwin_pthread_handler_rec *__next; }; struct _opaque_pthread_attr_t { long __sig; char __opaque[56]; }; struct _opaque_pthread_cond_t { long __sig; char __opaque[40]; }; struct _opaque_pthread_condattr_t { long __sig; char __opaque[8]; }; struct _opaque_pthread_mutex_t { long __sig; char __opaque[56]; }; struct _opaque_pthread_mutexattr_t { long __sig; char __opaque[8]; }; struct _opaque_pthread_once_t { long __sig; char __opaque[8]; }; struct _opaque_pthread_rwlock_t { long __sig; char __opaque[192]; }; struct _opaque_pthread_rwlockattr_t { long __sig; char __opaque[16]; }; struct _opaque_pthread_t { long __sig; struct __darwin_pthread_handler_rec *__cleanup_stack; char __opaque[8176]; }; typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t; typedef struct _opaque_pthread_cond_t __darwin_pthread_cond_t; typedef struct _opaque_pthread_condattr_t __darwin_pthread_condattr_t; typedef unsigned long __darwin_pthread_key_t; typedef struct _opaque_pthread_mutex_t __darwin_pthread_mutex_t; typedef struct _opaque_pthread_mutexattr_t __darwin_pthread_mutexattr_t; typedef struct _opaque_pthread_once_t __darwin_pthread_once_t; typedef struct _opaque_pthread_rwlock_t __darwin_pthread_rwlock_t; typedef struct _opaque_pthread_rwlockattr_t __darwin_pthread_rwlockattr_t; typedef struct _opaque_pthread_t *__darwin_pthread_t; # 81 "/usr/include/sys/_types.h" 2 3 # 53 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/sys/_types/_intptr_t.h" 1 3 typedef __darwin_intptr_t intptr_t; # 54 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/sys/_types/_uintptr_t.h" 1 3 typedef unsigned long uintptr_t; # 55 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/_types/_intmax_t.h" 1 3 typedef long int intmax_t; # 59 "/usr/include/stdint.h" 2 3 # 1 "/usr/include/_types/_uintmax_t.h" 1 3 typedef long unsigned int uintmax_t; # 60 "/usr/include/stdint.h" 2 3 # 130 "/usr/include/stdint.h" 3 # 151 "/usr/include/stdint.h" 3 # 169 "/usr/include/stdint.h" 3 # 181 "/usr/include/stdint.h" 3 # 206 "/usr/include/stdint.h" 3 # 64 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/include/stdint.h" 2 3 # 73 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/include/stdint.h" 3 # 146 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdint" 2 3 # 149 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdint" 3 namespace std {inline namespace __1 { using::int8_t; using::int16_t; using::int32_t; using::int64_t; using::uint8_t; using::uint16_t; using::uint32_t; using::uint64_t; using::int_least8_t; using::int_least16_t; using::int_least32_t; using::int_least64_t; using::uint_least8_t; using::uint_least16_t; using::uint_least32_t; using::uint_least64_t; using::int_fast8_t; using::int_fast16_t; using::int_fast32_t; using::int_fast64_t; using::uint_fast8_t; using::uint_fast16_t; using::uint_fast32_t; using::uint_fast64_t; using::intptr_t; using::uintptr_t; using::intmax_t; using::uintmax_t; } } # 45 "/opt/mpich/dev/intel/default/include/mpi.h" 2 # 57 "/opt/mpich/dev/intel/default/include/mpi.h" # 74 "/opt/mpich/dev/intel/default/include/mpi.h" # 91 "/opt/mpich/dev/intel/default/include/mpi.h" typedef int MPI_Datatype; # 116 "/opt/mpich/dev/intel/default/include/mpi.h" # 137 "/opt/mpich/dev/intel/default/include/mpi.h" # 156 "/opt/mpich/dev/intel/default/include/mpi.h" # 190 "/opt/mpich/dev/intel/default/include/mpi.h" # 199 "/opt/mpich/dev/intel/default/include/mpi.h" # 213 "/opt/mpich/dev/intel/default/include/mpi.h" # 226 "/opt/mpich/dev/intel/default/include/mpi.h" # 236 "/opt/mpich/dev/intel/default/include/mpi.h" # 247 "/opt/mpich/dev/intel/default/include/mpi.h" # 263 "/opt/mpich/dev/intel/default/include/mpi.h" typedef int MPI_Comm; typedef int MPI_Group; typedef int MPI_Win; typedef struct ADIOI_FileD *MPI_File; typedef int MPI_Op; # 318 "/opt/mpich/dev/intel/default/include/mpi.h" # 339 "/opt/mpich/dev/intel/default/include/mpi.h" typedef enum MPIR_Win_flavor { MPI_WIN_FLAVOR_CREATE = 1, MPI_WIN_FLAVOR_ALLOCATE = 2, MPI_WIN_FLAVOR_DYNAMIC = 3, MPI_WIN_FLAVOR_SHARED = 4 } MPIR_Win_flavor_t; typedef enum MPIR_Win_model { MPI_WIN_SEPARATE = 1, MPI_WIN_UNIFIED = 2 } MPIR_Win_model_t; typedef enum MPIR_Topo_type { MPI_GRAPH=1, MPI_CART=2, MPI_DIST_GRAPH=3 } MPIR_Topo_type; extern int * const MPI_UNWEIGHTED; extern int * const MPI_WEIGHTS_EMPTY; typedef void (MPI_Handler_function) ( MPI_Comm *, int *, ... ); typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, void *, void *, int *); typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *); typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, void *, void *, int *); typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int, void *, void *); typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *, void *, void *, int *); typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *); typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...); typedef void (MPI_File_errhandler_function)(MPI_File *, int *, ...); typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...); typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn; typedef MPI_File_errhandler_function MPI_File_errhandler_fn; typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn; typedef int MPI_Errhandler; # 443 "/opt/mpich/dev/intel/default/include/mpi.h" typedef int MPI_Request; typedef int MPI_Message; typedef void (MPI_User_function) ( void *, void *, int *, MPI_Datatype * ); typedef int (MPI_Copy_function) ( MPI_Comm, int, void *, void *, void *, int * ); typedef int (MPI_Delete_function) ( MPI_Comm, int, void *, void * ); enum MPIR_Combiner_enum { MPI_COMBINER_NAMED = 1, MPI_COMBINER_DUP = 2, MPI_COMBINER_CONTIGUOUS = 3, MPI_COMBINER_VECTOR = 4, MPI_COMBINER_HVECTOR_INTEGER = 5, MPI_COMBINER_HVECTOR = 6, MPI_COMBINER_INDEXED = 7, MPI_COMBINER_HINDEXED_INTEGER = 8, MPI_COMBINER_HINDEXED = 9, MPI_COMBINER_INDEXED_BLOCK = 10, MPI_COMBINER_STRUCT_INTEGER = 11, MPI_COMBINER_STRUCT = 12, MPI_COMBINER_SUBARRAY = 13, MPI_COMBINER_DARRAY = 14, MPI_COMBINER_F90_REAL = 15, MPI_COMBINER_F90_COMPLEX = 16, MPI_COMBINER_F90_INTEGER = 17, MPI_COMBINER_RESIZED = 18, MPI_COMBINER_HINDEXED_BLOCK = 19 }; typedef int MPI_Info; # 535 "/opt/mpich/dev/intel/default/include/mpi.h" typedef long MPI_Aint; typedef int MPI_Fint; typedef long long MPI_Count; typedef long long MPI_Offset; typedef struct MPI_Status { int count_lo; int count_hi_and_cancelled; int MPI_SOURCE; int MPI_TAG; int MPI_ERROR; } MPI_Status; struct MPIR_T_enum_s; struct MPIR_T_cvar_handle_s; struct MPIR_T_pvar_handle_s; struct MPIR_T_pvar_session_s; typedef struct MPIR_T_enum_s * MPI_T_enum; typedef struct MPIR_T_cvar_handle_s * MPI_T_cvar_handle; typedef struct MPIR_T_pvar_handle_s * MPI_T_pvar_handle; typedef struct MPIR_T_pvar_session_s * MPI_T_pvar_session; extern struct MPIR_T_pvar_handle_s * const MPI_T_PVAR_ALL_HANDLES; typedef enum MPIR_T_verbosity_t { MPIX_T_VERBOSITY_INVALID = 0, MPI_T_VERBOSITY_USER_BASIC = 221, MPI_T_VERBOSITY_USER_DETAIL, MPI_T_VERBOSITY_USER_ALL, MPI_T_VERBOSITY_TUNER_BASIC, MPI_T_VERBOSITY_TUNER_DETAIL, MPI_T_VERBOSITY_TUNER_ALL, MPI_T_VERBOSITY_MPIDEV_BASIC, MPI_T_VERBOSITY_MPIDEV_DETAIL, MPI_T_VERBOSITY_MPIDEV_ALL } MPIR_T_verbosity_t; typedef enum MPIR_T_bind_t { MPIX_T_BIND_INVALID = 0, MPI_T_BIND_NO_OBJECT = 9700, MPI_T_BIND_MPI_COMM, MPI_T_BIND_MPI_DATATYPE, MPI_T_BIND_MPI_ERRHANDLER, MPI_T_BIND_MPI_FILE, MPI_T_BIND_MPI_GROUP, MPI_T_BIND_MPI_OP, MPI_T_BIND_MPI_REQUEST, MPI_T_BIND_MPI_WIN, MPI_T_BIND_MPI_MESSAGE, MPI_T_BIND_MPI_INFO } MPIR_T_bind_t; typedef enum MPIR_T_scope_t { MPIX_T_SCOPE_INVALID = 0, MPI_T_SCOPE_CONSTANT = 60438, MPI_T_SCOPE_READONLY, MPI_T_SCOPE_LOCAL, MPI_T_SCOPE_GROUP, MPI_T_SCOPE_GROUP_EQ, MPI_T_SCOPE_ALL, MPI_T_SCOPE_ALL_EQ } MPIR_T_scope_t; typedef enum MPIR_T_pvar_class_t { MPIX_T_PVAR_CLASS_INVALID = 0, MPIR_T_PVAR_CLASS_FIRST = 240, MPI_T_PVAR_CLASS_STATE = MPIR_T_PVAR_CLASS_FIRST, MPI_T_PVAR_CLASS_LEVEL, MPI_T_PVAR_CLASS_SIZE, MPI_T_PVAR_CLASS_PERCENTAGE, MPI_T_PVAR_CLASS_HIGHWATERMARK, MPI_T_PVAR_CLASS_LOWWATERMARK, MPI_T_PVAR_CLASS_COUNTER, MPI_T_PVAR_CLASS_AGGREGATE, MPI_T_PVAR_CLASS_TIMER, MPI_T_PVAR_CLASS_GENERIC, MPIR_T_PVAR_CLASS_LAST, MPIR_T_PVAR_CLASS_NUMBER = MPIR_T_PVAR_CLASS_LAST - MPIR_T_PVAR_CLASS_FIRST } MPIR_T_pvar_class_t; # 703 "/opt/mpich/dev/intel/default/include/mpi.h" # 723 "/opt/mpich/dev/intel/default/include/mpi.h" extern MPI_Fint * MPI_F_STATUS_IGNORE; extern MPI_Fint * MPI_F_STATUSES_IGNORE; typedef struct { MPI_Fint count_lo; MPI_Fint count_hi_and_cancelled; MPI_Fint MPI_SOURCE; MPI_Fint MPI_TAG; MPI_Fint MPI_ERROR; } MPI_F08_Status; extern MPI_F08_Status MPIR_F08_MPI_STATUS_IGNORE_OBJ; extern MPI_F08_Status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1]; extern int MPIR_F08_MPI_IN_PLACE; extern int MPIR_F08_MPI_BOTTOM; extern MPI_F08_Status *MPI_F08_STATUS_IGNORE; extern MPI_F08_Status *MPI_F08_STATUSES_IGNORE; typedef int (MPI_Grequest_cancel_function)(void *, int); typedef int (MPI_Grequest_free_function)(void *); typedef int (MPI_Grequest_query_function)(void *, MPI_Status *); typedef int (MPIX_Grequest_poll_function)(void *, MPI_Status *); typedef int (MPIX_Grequest_wait_function)(int, void **, double, MPI_Status *); # 786 "/opt/mpich/dev/intel/default/include/mpi.h" # 823 "/opt/mpich/dev/intel/default/include/mpi.h" # 840 "/opt/mpich/dev/intel/default/include/mpi.h" # 849 "/opt/mpich/dev/intel/default/include/mpi.h" # 875 "/opt/mpich/dev/intel/default/include/mpi.h" typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int, void *, MPI_Offset, void *); typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *, void *); int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) ; int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count); int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int MPI_Buffer_attach(void *buffer, int size); int MPI_Buffer_detach(void *buffer_addr, int *size); int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Wait(MPI_Request *request, MPI_Status *status); int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status); int MPI_Request_free(MPI_Request *request); int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status *status); int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx, int *flag, MPI_Status *status); int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]); int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, MPI_Status array_of_statuses[]); int MPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]); int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]); int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status); int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); int MPI_Cancel(MPI_Request *request); int MPI_Test_cancelled(const MPI_Status *status, int *flag); int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) ; int MPI_Start(MPI_Request *request); int MPI_Startall(int count, MPI_Request array_of_requests[]); int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status) ; int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status) ; int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_indexed(int count, const int *array_of_blocklengths, const int *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_hindexed(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_struct(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype *array_of_types, MPI_Datatype *newtype); int MPI_Address(void *location, MPI_Aint *address); int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent); int MPI_Type_size(MPI_Datatype datatype, int *size); int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint *displacement); int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement); int MPI_Type_commit(MPI_Datatype *datatype); int MPI_Type_free(MPI_Datatype *datatype); int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count); int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm) ; int MPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm) ; int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size); int MPI_Barrier(MPI_Comm comm); int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) ; int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Alltoallv(const void *sendbuf, const int *sendcounts, const int *sdispls, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm); int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) ; int MPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op); int MPI_Op_free(MPI_Op *op); int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int MPI_Group_size(MPI_Group group, int *size); int MPI_Group_rank(MPI_Group group, int *rank); int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], MPI_Group group2, int ranks2[]); int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); int MPI_Comm_group(MPI_Comm comm, MPI_Group *group); int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup); int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup); int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup); int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup); int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup); int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup); int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup); int MPI_Group_free(MPI_Group *group); int MPI_Comm_size(MPI_Comm comm, int *size); int MPI_Comm_rank(MPI_Comm comm, int *rank); int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm); int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); int MPI_Comm_free(MPI_Comm *comm); int MPI_Comm_test_inter(MPI_Comm comm, int *flag); int MPI_Comm_remote_size(MPI_Comm comm, int *size); int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *newintercomm); int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintracomm); int MPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void *extra_state); int MPI_Keyval_free(int *keyval); int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val); int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag); int MPI_Attr_delete(MPI_Comm comm, int keyval); int MPI_Topo_test(MPI_Comm comm, int *status); int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], int reorder, MPI_Comm *comm_cart); int MPI_Dims_create(int nnodes, int ndims, int dims[]); int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], const int edges[], int reorder, MPI_Comm *comm_graph); int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]); int MPI_Cartdim_get(MPI_Comm comm, int *ndims); int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[]); int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank); int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]); int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]); int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest); int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm); int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank); int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank); int MPI_Get_processor_name(char *name, int *resultlen); int MPI_Get_version(int *version, int *subversion); int MPI_Get_library_version(char *version, int *resultlen); int MPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler); int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler); int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler); int MPI_Errhandler_free(MPI_Errhandler *errhandler); int MPI_Error_string(int errorcode, char *string, int *resultlen); int MPI_Error_class(int errorcode, int *errorclass); double MPI_Wtime(void); double MPI_Wtick(void); int MPI_Init(int *argc, char ***argv); int MPI_Finalize(void); int MPI_Initialized(int *flag); int MPI_Abort(MPI_Comm comm, int errorcode); int MPI_Pcontrol(const int level, ...); int MPIR_Dup_fn(MPI_Comm oldcomm, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag); int MPI_Close_port(const char *port_name); int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm); int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm); int MPI_Comm_disconnect(MPI_Comm *comm); int MPI_Comm_get_parent(MPI_Comm *parent); int MPI_Comm_join(int fd, MPI_Comm *intercomm); int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]); int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], const int array_of_maxprocs[], const MPI_Info array_of_info[], int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]); int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); int MPI_Open_port(MPI_Info info, char *port_name); int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name); int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name); int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info); int MPI_Comm_get_info(MPI_Comm comm, MPI_Info *info); int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) ; int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) ; int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) ; int MPI_Win_complete(MPI_Win win); int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win); int MPI_Win_fence(int assert, MPI_Win win); int MPI_Win_free(MPI_Win *win); int MPI_Win_get_group(MPI_Win win, MPI_Group *group); int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); int MPI_Win_post(MPI_Group group, int assert, MPI_Win win); int MPI_Win_start(MPI_Group group, int assert, MPI_Win win); int MPI_Win_test(MPI_Win win, int *flag); int MPI_Win_unlock(int rank, MPI_Win win); int MPI_Win_wait(MPI_Win win); int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win); int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win); int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr); int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win); int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size); int MPI_Win_detach(MPI_Win win, const void *base); int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used); int MPI_Win_set_info(MPI_Win win, MPI_Info info); int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) ; int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win) ; int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Win win) ; int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request) ; int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request) ; int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request) ; int MPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request) ; int MPI_Win_lock_all(int assert, MPI_Win win); int MPI_Win_unlock_all(MPI_Win win); int MPI_Win_flush(int rank, MPI_Win win); int MPI_Win_flush_all(MPI_Win win); int MPI_Win_flush_local(int rank, MPI_Win win); int MPI_Win_flush_local_all(MPI_Win win); int MPI_Win_sync(MPI_Win win); int MPI_Add_error_class(int *errorclass); int MPI_Add_error_code(int errorclass, int *errorcode); int MPI_Add_error_string(int errorcode, const char *string); int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, void *extra_state); int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); int MPI_Comm_free_keyval(int *comm_keyval); int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag); int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name); int MPI_File_call_errhandler(MPI_File fh, int errorcode); int MPI_Grequest_complete(MPI_Request request); int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, void *extra_state, MPI_Request *request); int MPI_Init_thread(int *argc, char ***argv, int required, int *provided); int MPI_Is_thread_main(int *flag); int MPI_Query_thread(int *provided); int MPI_Status_set_cancelled(MPI_Status *status, int flag); int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count); int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, MPI_Type_delete_attr_function *type_delete_attr_fn, int *type_keyval, void *extra_state); int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval); int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_free_keyval(int *type_keyval); int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag); int MPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]); int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner); int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen); int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val); int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name); int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *datatype); int MPI_Win_call_errhandler(MPI_Win win, int errorcode); int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, void *extra_state); int MPI_Win_delete_attr(MPI_Win win, int win_keyval); int MPI_Win_free_keyval(int *win_keyval); int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag); int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); int MPI_Win_set_name(MPI_Win win, const char *win_name); int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr); int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn, MPI_Errhandler *errhandler); int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler); int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); int MPI_File_create_errhandler(MPI_File_errhandler_function *file_errhandler_fn, MPI_Errhandler *errhandler); int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler); int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler); int MPI_Finalized(int *flag); int MPI_Free_mem(void *base); int MPI_Get_address(const void *location, MPI_Aint *address); int MPI_Info_create(MPI_Info *info); int MPI_Info_delete(MPI_Info info, const char *key); int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo); int MPI_Info_free(MPI_Info *info); int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag); int MPI_Info_get_nkeys(MPI_Info info, int *nkeys); int MPI_Info_get_nthkey(MPI_Info info, int n, char *key); int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag); int MPI_Info_set(MPI_Info info, const char *key, const char *value); int MPI_Pack_external(const char datarep[], const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position) ; int MPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, MPI_Aint *size); int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status); int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status); int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status); int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], const int array_of_distribs[], const int array_of_dargs[], const int array_of_psizes[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_create_hindexed_block(int count, int blocklength, const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype); int MPI_Type_create_struct(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype *newtype); int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[], const int array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype); int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent); int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent); int MPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype) ; int MPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, MPI_Errhandler *errhandler); int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); int MPI_Type_create_f90_integer(int range, MPI_Datatype *newtype); int MPI_Type_create_f90_real(int precision, int range, MPI_Datatype *newtype); int MPI_Type_create_f90_complex(int precision, int range, MPI_Datatype *newtype); int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op) ; int MPI_Op_commutative(MPI_Op op, int *commute); int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, const int sources[], const int sourceweights[], int outdegree, const int destinations[], const int destweights[], MPI_Info info, int reorder, MPI_Comm *comm_dist_graph); int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], const int degrees[], const int destinations[], const int weights[], MPI_Info info, int reorder, MPI_Comm *comm_dist_graph); int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted); int MPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, int sources[], int sourceweights[], int maxoutdegree, int destinations[], int destweights[]); int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, MPI_Status *status); int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Request *request) ; int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status); int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Status *status) ; int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request); int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request); int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request *request) ; int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request); int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) ; int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request); int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) ; int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm); int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm); int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count); int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count); int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent); int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent); int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size); int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp); MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2); int MPI_T_init_thread(int required, int *provided); int MPI_T_finalize(void); int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); int MPI_T_enum_get_item(MPI_T_enum enumtype, int indx, int *value, char *name, int *name_len); int MPI_T_cvar_get_num(int *num_cvar); int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosity, MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, int *binding, int *scope); int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle *handle, int *count); int MPI_T_cvar_handle_free(MPI_T_cvar_handle *handle); int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf); int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf); int MPI_T_pvar_get_num(int *num_pvar); int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, int *var_class, MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, int *binding, int *readonly, int *continuous, int *atomic); int MPI_T_pvar_session_create(MPI_T_pvar_session *session); int MPI_T_pvar_session_free(MPI_T_pvar_session *session); int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, void *obj_handle, MPI_T_pvar_handle *handle, int *count); int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle); int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle); int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle); int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf); int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf); int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle); int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf); int MPI_T_category_get_num(int *num_cat); int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, int *desc_len, int *num_cvars, int *num_pvars, int *num_categories); int MPI_T_category_get_cvars(int cat_index, int len, int indices[]); int MPI_T_category_get_pvars(int cat_index, int len, int indices[]); int MPI_T_category_get_categories(int cat_index, int len, int indices[]); int MPI_T_category_changed(int *stamp); int MPI_T_cvar_get_index(const char *name, int *cvar_index); int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index); int MPI_T_category_get_index(const char *name, int *cat_index); int MPIX_Comm_failure_ack(MPI_Comm comm); int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group *failedgrp); int MPIX_Comm_revoke(MPI_Comm comm); int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm); int MPIX_Comm_agree(MPI_Comm comm, int *flag); int PMPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) ; int PMPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count); int PMPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int PMPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int PMPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) ; int PMPI_Buffer_attach(void *buffer, int size); int PMPI_Buffer_detach(void *buffer_addr, int *size); int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Wait(MPI_Request *request, MPI_Status *status); int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status); int PMPI_Request_free(MPI_Request *request); int PMPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status *status); int PMPI_Testany(int count, MPI_Request array_of_requests[], int *indx, int *flag, MPI_Status *status); int PMPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]); int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag, MPI_Status array_of_statuses[]); int PMPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]); int PMPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]); int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status); int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); int PMPI_Cancel(MPI_Request *request); int PMPI_Test_cancelled(const MPI_Status *status, int *flag); int PMPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) ; int PMPI_Start(MPI_Request *request); int PMPI_Startall(int count, MPI_Request array_of_requests[]); int PMPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status) ; int PMPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status) ; int PMPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_indexed(int count, const int *array_of_blocklengths, const int *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_hindexed(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_struct(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype *array_of_types, MPI_Datatype *newtype); int PMPI_Address(void *location, MPI_Aint *address); int PMPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent); int PMPI_Type_size(MPI_Datatype datatype, int *size); int PMPI_Type_lb(MPI_Datatype datatype, MPI_Aint *displacement); int PMPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement); int PMPI_Type_commit(MPI_Datatype *datatype); int PMPI_Type_free(MPI_Datatype *datatype); int PMPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count); int PMPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm) ; int PMPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm) ; int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size); int PMPI_Barrier(MPI_Comm comm); int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) ; int PMPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int PMPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int PMPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int PMPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) ; int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Alltoallv(const void *sendbuf, const int *sendcounts, const int *sdispls, MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm); int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int PMPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) ; int PMPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op); int PMPI_Op_free(MPI_Op *op); int PMPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int PMPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int PMPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int PMPI_Group_size(MPI_Group group, int *size); int PMPI_Group_rank(MPI_Group group, int *rank); int PMPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], MPI_Group group2, int ranks2[]); int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group); int PMPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup); int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup); int PMPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup); int PMPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup); int PMPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup); int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup); int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup); int PMPI_Group_free(MPI_Group *group); int PMPI_Comm_size(MPI_Comm comm, int *size); int PMPI_Comm_rank(MPI_Comm comm, int *rank); int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm); int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); int PMPI_Comm_free(MPI_Comm *comm); int PMPI_Comm_test_inter(MPI_Comm comm, int *flag); int PMPI_Comm_remote_size(MPI_Comm comm, int *size); int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *newintercomm); int PMPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintracomm); int PMPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void *extra_state); int PMPI_Keyval_free(int *keyval); int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val); int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag); int PMPI_Attr_delete(MPI_Comm comm, int keyval); int PMPI_Topo_test(MPI_Comm comm, int *status); int PMPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], int reorder, MPI_Comm *comm_cart); int PMPI_Dims_create(int nnodes, int ndims, int dims[]); int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], const int edges[], int reorder, MPI_Comm *comm_graph); int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]); int PMPI_Cartdim_get(MPI_Comm comm, int *ndims); int PMPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[]); int PMPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank); int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]); int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]); int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest); int PMPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm); int PMPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank); int PMPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank); int PMPI_Get_processor_name(char *name, int *resultlen); int PMPI_Get_version(int *version, int *subversion); int PMPI_Get_library_version(char *version, int *resultlen); int PMPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler); int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler); int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler); int PMPI_Errhandler_free(MPI_Errhandler *errhandler); int PMPI_Error_string(int errorcode, char *string, int *resultlen); int PMPI_Error_class(int errorcode, int *errorclass); double PMPI_Wtime(void); double PMPI_Wtick(void); int PMPI_Init(int *argc, char ***argv); int PMPI_Finalize(void); int PMPI_Initialized(int *flag); int PMPI_Abort(MPI_Comm comm, int errorcode); int PMPI_Pcontrol(const int level, ...); int PMPI_Close_port(const char *port_name); int PMPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm); int PMPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm); int PMPI_Comm_disconnect(MPI_Comm *comm); int PMPI_Comm_get_parent(MPI_Comm *parent); int PMPI_Comm_join(int fd, MPI_Comm *intercomm); int PMPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]); int PMPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], const int array_of_maxprocs[], const MPI_Info array_of_info[], int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]); int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); int PMPI_Open_port(MPI_Info info, char *port_name); int PMPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name); int PMPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name); int PMPI_Comm_set_info(MPI_Comm comm, MPI_Info info); int PMPI_Comm_get_info(MPI_Comm comm, MPI_Info *info); int PMPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) ; int PMPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) ; int PMPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win) ; int PMPI_Win_complete(MPI_Win win); int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win); int PMPI_Win_fence(int assert, MPI_Win win); int PMPI_Win_free(MPI_Win *win); int PMPI_Win_get_group(MPI_Win win, MPI_Group *group); int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win); int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win); int PMPI_Win_test(MPI_Win win, int *flag); int PMPI_Win_unlock(int rank, MPI_Win win); int PMPI_Win_wait(MPI_Win win); int PMPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win); int PMPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win); int PMPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr); int PMPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win); int PMPI_Win_attach(MPI_Win win, void *base, MPI_Aint size); int PMPI_Win_detach(MPI_Win win, const void *base); int PMPI_Win_get_info(MPI_Win win, MPI_Info *info_used); int PMPI_Win_set_info(MPI_Win win, MPI_Info info); int PMPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) ; int PMPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win) ; int PMPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Win win) ; int PMPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request) ; int PMPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request) ; int PMPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request) ; int PMPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request) ; int PMPI_Win_lock_all(int assert, MPI_Win win); int PMPI_Win_unlock_all(MPI_Win win); int PMPI_Win_flush(int rank, MPI_Win win); int PMPI_Win_flush_all(MPI_Win win); int PMPI_Win_flush_local(int rank, MPI_Win win); int PMPI_Win_flush_local_all(MPI_Win win); int PMPI_Win_sync(MPI_Win win); int PMPI_Add_error_class(int *errorclass); int PMPI_Add_error_code(int errorclass, int *errorcode); int PMPI_Add_error_string(int errorcode, const char *string); int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, void *extra_state); int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); int PMPI_Comm_free_keyval(int *comm_keyval); int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag); int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); int PMPI_Comm_set_name(MPI_Comm comm, const char *comm_name); int PMPI_File_call_errhandler(MPI_File fh, int errorcode); int PMPI_Grequest_complete(MPI_Request request); int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, void *extra_state, MPI_Request *request); int PMPI_Init_thread(int *argc, char ***argv, int required, int *provided); int PMPI_Is_thread_main(int *flag); int PMPI_Query_thread(int *provided); int PMPI_Status_set_cancelled(MPI_Status *status, int flag); int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count); int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, MPI_Type_delete_attr_function *type_delete_attr_fn, int *type_keyval, void *extra_state); int PMPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval); int PMPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_free_keyval(int *type_keyval); int PMPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag); int PMPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]); int PMPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner); int PMPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen); int PMPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val); int PMPI_Type_set_name(MPI_Datatype datatype, const char *type_name); int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *datatype); int PMPI_Win_call_errhandler(MPI_Win win, int errorcode); int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, void *extra_state); int PMPI_Win_delete_attr(MPI_Win win, int win_keyval); int PMPI_Win_free_keyval(int *win_keyval); int PMPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag); int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); int PMPI_Win_set_name(MPI_Win win, const char *win_name); int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr); int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn, MPI_Errhandler *errhandler); int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler); int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); int PMPI_File_create_errhandler(MPI_File_errhandler_function *file_errhandler_fn, MPI_Errhandler *errhandler); int PMPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler); int PMPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler); int PMPI_Finalized(int *flag); int PMPI_Free_mem(void *base); int PMPI_Get_address(const void *location, MPI_Aint *address); int PMPI_Info_create(MPI_Info *info); int PMPI_Info_delete(MPI_Info info, const char *key); int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo); int PMPI_Info_free(MPI_Info *info); int PMPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag); int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys); int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key); int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag); int PMPI_Info_set(MPI_Info info, const char *key, const char *value); int PMPI_Pack_external(const char datarep[], const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position) ; int PMPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, MPI_Aint *size); int PMPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status); int PMPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status); int PMPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status); int PMPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], const int array_of_distribs[], const int array_of_dargs[], const int array_of_psizes[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_create_hindexed(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_create_hindexed_block(int count, int blocklength, const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype); int PMPI_Type_create_struct(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype *newtype); int PMPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[], const int array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype); int PMPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent); int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent); int PMPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype) ; int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, MPI_Errhandler *errhandler); int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); int PMPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op) ; int PMPI_Op_commutative(MPI_Op op, int *commute); int PMPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) ; int PMPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, const int sources[], const int sourceweights[], int outdegree, const int destinations[], const int destweights[], MPI_Info info, int reorder, MPI_Comm *comm_dist_graph); int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], const int degrees[], const int destinations[], const int weights[], MPI_Info info, int reorder, MPI_Comm *comm_dist_graph); int PMPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted); int PMPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, int sources[], int sourceweights[], int maxoutdegree, int destinations[], int destweights[]); int PMPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, MPI_Status *status); int PMPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Request *request) ; int PMPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status); int PMPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Status *status) ; int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request); int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request); int PMPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request *request) ; int PMPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int PMPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request); int PMPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) ; int PMPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request); int PMPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) ; int PMPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm); int PMPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm); int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); int PMPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count); int PMPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count); int PMPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent); int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent); int PMPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size); MPI_Aint PMPI_Aint_add(MPI_Aint base, MPI_Aint disp); MPI_Aint PMPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2); int PMPI_T_init_thread(int required, int *provided); int PMPI_T_finalize(void); int PMPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); int PMPI_T_enum_get_item(MPI_T_enum enumtype, int indx, int *value, char *name, int *name_len); int PMPI_T_cvar_get_num(int *num_cvar); int PMPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosity, MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, int *binding, int *scope); int PMPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle *handle, int *count); int PMPI_T_cvar_handle_free(MPI_T_cvar_handle *handle); int PMPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf); int PMPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf); int PMPI_T_pvar_get_num(int *num_pvar); int PMPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, int *var_class, MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, int *binding, int *readonly, int *continuous, int *atomic); int PMPI_T_pvar_session_create(MPI_T_pvar_session *session); int PMPI_T_pvar_session_free(MPI_T_pvar_session *session); int PMPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, void *obj_handle, MPI_T_pvar_handle *handle, int *count); int PMPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle); int PMPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle); int PMPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle); int PMPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf); int PMPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf); int PMPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle); int PMPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf); int PMPI_T_category_get_num(int *num_cat); int PMPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, int *desc_len, int *num_cvars, int *num_pvars, int *num_categories); int PMPI_T_category_get_cvars(int cat_index, int len, int indices[]); int PMPI_T_category_get_pvars(int cat_index, int len, int indices[]); int PMPI_T_category_get_categories(int cat_index, int len, int indices[]); int PMPI_T_category_changed(int *stamp); int PMPI_T_cvar_get_index(const char *name, int *cvar_index); int PMPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index); int PMPI_T_category_get_index(const char *name, int *cat_index); int PMPIX_Comm_failure_ack(MPI_Comm comm); int PMPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group *failedgrp); int PMPIX_Comm_revoke(MPI_Comm comm); int PMPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm); int PMPIX_Comm_agree(MPI_Comm comm, int *flag); # 2216 "/opt/mpich/dev/intel/default/include/mpi.h" # 1 "/opt/mpich/dev/intel/default/include/mpio.h" 1 # 1 "/opt/mpich/dev/intel/default/include/mpi.h" 1 # 14 "/opt/mpich/dev/intel/default/include/mpio.h" 2 extern "C" { # 33 "/opt/mpich/dev/intel/default/include/mpio.h" # 40 "/opt/mpich/dev/intel/default/include/mpio.h" # 53 "/opt/mpich/dev/intel/default/include/mpio.h" # 70 "/opt/mpich/dev/intel/default/include/mpio.h" # 80 "/opt/mpich/dev/intel/default/include/mpio.h" # 90 "/opt/mpich/dev/intel/default/include/mpio.h" # 112 "/opt/mpich/dev/intel/default/include/mpio.h" int MPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh); int MPI_File_close(MPI_File *fh); int MPI_File_delete(const char *filename, MPI_Info info); int MPI_File_set_size(MPI_File fh, MPI_Offset size); int MPI_File_preallocate(MPI_File fh, MPI_Offset size); int MPI_File_get_size(MPI_File fh, MPI_Offset *size); int MPI_File_get_group(MPI_File fh, MPI_Group *group); int MPI_File_get_amode(MPI_File fh, int *amode); int MPI_File_set_info(MPI_File fh, MPI_Info info); int MPI_File_get_info(MPI_File fh, MPI_Info *info_used); int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, const char *datarep, MPI_Info info); int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep); int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void * buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_write(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_write_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_iwrite(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); int MPI_File_get_position(MPI_File fh, MPI_Offset *offset); int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp); int MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_write_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_write_ordered(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Status *status) ; int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype) ; int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, int count, MPI_Datatype datatype) ; int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status); int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) ; int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype) ; int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status); int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) ; int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype) ; int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status); int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent); int MPI_Register_datarep(const char *datarep, MPI_Datarep_conversion_function *read_conversion_fn, MPI_Datarep_conversion_function *write_conversion_fn, MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state); int MPI_File_set_atomicity(MPI_File fh, int flag); int MPI_File_get_atomicity(MPI_File fh, int *flag); int MPI_File_sync(MPI_File fh); int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; # 268 "/opt/mpich/dev/intel/default/include/mpio.h" # 281 "/opt/mpich/dev/intel/default/include/mpio.h" MPI_File MPI_File_f2c(MPI_Fint file); MPI_Fint MPI_File_c2f(MPI_File file); # 306 "/opt/mpich/dev/intel/default/include/mpio.h" # 335 "/opt/mpich/dev/intel/default/include/mpio.h" int PMPI_File_open(MPI_Comm, const char *, int, MPI_Info, MPI_File *); int PMPI_File_close(MPI_File *); int PMPI_File_delete(const char *, MPI_Info); int PMPI_File_set_size(MPI_File, MPI_Offset); int PMPI_File_preallocate(MPI_File, MPI_Offset); int PMPI_File_get_size(MPI_File, MPI_Offset *); int PMPI_File_get_group(MPI_File, MPI_Group *); int PMPI_File_get_amode(MPI_File, int *); int PMPI_File_set_info(MPI_File, MPI_Info); int PMPI_File_get_info(MPI_File, MPI_Info *); int PMPI_File_set_view(MPI_File, MPI_Offset, MPI_Datatype, MPI_Datatype, const char *, MPI_Info); int PMPI_File_get_view(MPI_File, MPI_Offset *, MPI_Datatype *, MPI_Datatype *, char *); int PMPI_File_read_at(MPI_File, MPI_Offset, void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_read_at_all(MPI_File, MPI_Offset, void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_write_at(MPI_File, MPI_Offset, const void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_write_at_all(MPI_File, MPI_Offset, const void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_iread_at(MPI_File, MPI_Offset, void *, int, MPI_Datatype, MPI_Request *) ; int PMPI_File_iwrite_at(MPI_File, MPI_Offset, const void *, int, MPI_Datatype, MPI_Request *) ; int PMPI_File_read(MPI_File, void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_read_all(MPI_File, void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_write(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_write_all(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_iread(MPI_File, void *, int, MPI_Datatype, MPI_Request *) ; int PMPI_File_iwrite(MPI_File, const void *, int, MPI_Datatype, MPI_Request *) ; int PMPI_File_seek(MPI_File, MPI_Offset, int); int PMPI_File_get_position(MPI_File, MPI_Offset *); int PMPI_File_get_byte_offset(MPI_File, MPI_Offset, MPI_Offset *); int PMPI_File_read_shared(MPI_File, void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_write_shared(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_iread_shared(MPI_File, void *, int, MPI_Datatype, MPI_Request *) ; int PMPI_File_iwrite_shared(MPI_File, const void *, int, MPI_Datatype, MPI_Request *) ; int PMPI_File_read_ordered(MPI_File, void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_write_ordered(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) ; int PMPI_File_seek_shared(MPI_File, MPI_Offset, int); int PMPI_File_get_position_shared(MPI_File, MPI_Offset *); int PMPI_File_read_at_all_begin(MPI_File, MPI_Offset, void *, int, MPI_Datatype) ; int PMPI_File_read_at_all_end(MPI_File, void *, MPI_Status *); int PMPI_File_write_at_all_begin(MPI_File, MPI_Offset, const void *, int, MPI_Datatype) ; int PMPI_File_write_at_all_end(MPI_File, const void *, MPI_Status *); int PMPI_File_read_all_begin(MPI_File, void *, int, MPI_Datatype) ; int PMPI_File_read_all_end(MPI_File, void *, MPI_Status *); int PMPI_File_write_all_begin(MPI_File, const void *, int, MPI_Datatype) ; int PMPI_File_write_all_end(MPI_File, const void *, MPI_Status *); int PMPI_File_read_ordered_begin(MPI_File, void *, int, MPI_Datatype) ; int PMPI_File_read_ordered_end(MPI_File, void *, MPI_Status *); int PMPI_File_write_ordered_begin(MPI_File, const void *, int, MPI_Datatype) ; int PMPI_File_write_ordered_end(MPI_File, const void *, MPI_Status *); int PMPI_File_get_type_extent(MPI_File, MPI_Datatype, MPI_Aint *); int PMPI_Register_datarep(const char *, MPI_Datarep_conversion_function *, MPI_Datarep_conversion_function *, MPI_Datarep_extent_function *, void *); int PMPI_File_set_atomicity(MPI_File, int); int PMPI_File_get_atomicity(MPI_File, int *); int PMPI_File_sync(MPI_File); int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int PMPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, MPI_Request *request) ; # 493 "/opt/mpich/dev/intel/default/include/mpio.h" MPI_File PMPI_File_f2c(MPI_Fint); MPI_Fint PMPI_File_c2f(MPI_File); # 513 "/opt/mpich/dev/intel/default/include/mpio.h" # 530 "/opt/mpich/dev/intel/default/include/mpio.h" } # 2218 "/opt/mpich/dev/intel/default/include/mpi.h" 2 } # 1 "/opt/mpich/dev/intel/default/include/mpicxx.h" 1 # 26 "/opt/mpich/dev/intel/default/include/mpicxx.h" # 41 "/opt/mpich/dev/intel/default/include/mpicxx.h" # 1 "/usr/include/stdio.h" 1 3 # 1 "/usr/include/Availability.h" 1 3 # 136 "/usr/include/Availability.h" 3 # 163 "/usr/include/Availability.h" 3 # 1 "/usr/include/AvailabilityInternal.h" 1 3 # 41 "/usr/include/AvailabilityInternal.h" 3 # 51 "/usr/include/AvailabilityInternal.h" 3 # 61 "/usr/include/AvailabilityInternal.h" 3 # 79 "/usr/include/AvailabilityInternal.h" 3 # 13781 "/usr/include/AvailabilityInternal.h" 3 # 14765 "/usr/include/AvailabilityInternal.h" 3 # 15582 "/usr/include/AvailabilityInternal.h" 3 # 173 "/usr/include/Availability.h" 2 3 # 187 "/usr/include/Availability.h" 3 # 207 "/usr/include/Availability.h" 3 # 222 "/usr/include/Availability.h" 3 # 235 "/usr/include/Availability.h" 3 # 258 "/usr/include/Availability.h" 3 # 285 "/usr/include/Availability.h" 3 # 312 "/usr/include/Availability.h" 3 # 66 "/usr/include/stdio.h" 2 3 # 1 "/usr/include/_types.h" 1 3 # 38 "/usr/include/_types.h" 3 typedef int __darwin_nl_item; typedef int __darwin_wctrans_t; typedef __uint32_t __darwin_wctype_t; # 59 "/usr/include/_types.h" 3 # 67 "/usr/include/_types.h" 3 # 68 "/usr/include/stdio.h" 2 3 # 1 "/usr/include/sys/_types/_va_list.h" 1 3 typedef __darwin_va_list va_list; # 72 "/usr/include/stdio.h" 2 3 # 1 "/usr/include/sys/_types/_size_t.h" 1 3 typedef __darwin_size_t size_t; # 73 "/usr/include/stdio.h" 2 3 # 1 "/usr/include/sys/_types/_null.h" 1 3 # 74 "/usr/include/stdio.h" 2 3 # 1 "/usr/include/sys/stdio.h" 1 3 extern "C" { int renameat(int, const char *, int, const char *) __attribute__((weak_import)); } # 76 "/usr/include/stdio.h" 2 3 typedef __darwin_off_t fpos_t; struct __sbuf { unsigned char *_base; int _size; }; struct __sFILEX; typedef struct __sFILE { unsigned char *_p; int _r; int _w; short _flags; short _file; struct __sbuf _bf; int _lbfsize; void *_cookie; int (*_close)(void *); int (*_read) (void *, char *, int); fpos_t (*_seek) (void *, fpos_t, int); int (*_write)(void *, const char *, int); struct __sbuf _ub; struct __sFILEX *_extra; int _ur; unsigned char _ubuf[3]; unsigned char _nbuf[1]; struct __sbuf _lb; int _blksize; fpos_t _offset; } FILE; extern "C" { extern FILE *__stdinp; extern FILE *__stdoutp; extern FILE *__stderrp; } # 178 "/usr/include/stdio.h" 3 # 215 "/usr/include/stdio.h" 3 # 227 "/usr/include/stdio.h" 3 extern "C" { void clearerr(FILE *); int fclose(FILE *); int feof(FILE *); int ferror(FILE *); int fflush(FILE *); int fgetc(FILE *); int fgetpos(FILE * , fpos_t *); char *fgets(char * , int, FILE *); FILE *fopen(const char * , const char * ) __asm("_" "fopen" ); int fprintf(FILE * , const char * , ...) __attribute__((__format__ (__printf__, 2, 3))); int fputc(int, FILE *); int fputs(const char * , FILE * ) __asm("_" "fputs" ); size_t fread(void * , size_t, size_t, FILE * ); FILE *freopen(const char * , const char * , FILE * ) __asm("_" "freopen" ); int fscanf(FILE * , const char * , ...) __attribute__((__format__ (__scanf__, 2, 3))); int fseek(FILE *, long, int); int fsetpos(FILE *, const fpos_t *); long ftell(FILE *); size_t fwrite(const void * , size_t, size_t, FILE * ) __asm("_" "fwrite" ); int getc(FILE *); int getchar(void); char *gets(char *); void perror(const char *); int printf(const char * , ...) __attribute__((__format__ (__printf__, 1, 2))); int putc(int, FILE *); int putchar(int); int puts(const char *); int remove(const char *); int rename (const char *, const char *); void rewind(FILE *); int scanf(const char * , ...) __attribute__((__format__ (__scanf__, 1, 2))); void setbuf(FILE * , char * ); int setvbuf(FILE * , char * , int, size_t); int sprintf(char * , const char * , ...) __attribute__((__format__ (__printf__, 2, 3))); int sscanf(const char * , const char * , ...) __attribute__((__format__ (__scanf__, 2, 3))); FILE *tmpfile(void); __attribute__((deprecated("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tmpnam(3), it is highly recommended that you use mkstemp(3) instead."))) char *tmpnam(char *); int ungetc(int, FILE *); int vfprintf(FILE * , const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))); int vprintf(const char * , va_list) __attribute__((__format__ (__printf__, 1, 0))); int vsprintf(char * , const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))); } extern "C" { char *ctermid(char *); FILE *fdopen(int, const char *) __asm("_" "fdopen" ); int fileno(FILE *); } extern "C" { int pclose(FILE *); FILE *popen(const char *, const char *) __asm("_" "popen" ); } extern "C" { int __srget(FILE *); int __svfscanf(FILE *, const char *, va_list) __attribute__((__format__ (__scanf__, 2, 0))); int __swbuf(int, FILE *); } inline __attribute__ ((__always_inline__)) int __sputc(int _c, FILE *_p) { if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) return (*_p->_p++ = _c); else return (__swbuf(_c, _p)); } # 367 "/usr/include/stdio.h" 3 extern "C" { void flockfile(FILE *); int ftrylockfile(FILE *); void funlockfile(FILE *); int getc_unlocked(FILE *); int getchar_unlocked(void); int putc_unlocked(int, FILE *); int putchar_unlocked(int); int getw(FILE *); int putw(int, FILE *); __attribute__((deprecated("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of tempnam(3), it is highly recommended that you use mkstemp(3) instead."))) char *tempnam(const char *, const char *) __asm("_" "tempnam" ); } # 1 "/usr/include/sys/_types/_off_t.h" 1 3 typedef __darwin_off_t off_t; # 412 "/usr/include/stdio.h" 2 3 extern "C" { int fseeko(FILE *, off_t, int); off_t ftello(FILE *); } extern "C" { int snprintf(char * , size_t, const char * , ...) __attribute__((__format__ (__printf__, 3, 4))); int vfscanf(FILE * , const char * , va_list) __attribute__((__format__ (__scanf__, 2, 0))); int vscanf(const char * , va_list) __attribute__((__format__ (__scanf__, 1, 0))); int vsnprintf(char * , size_t, const char * , va_list) __attribute__((__format__ (__printf__, 3, 0))); int vsscanf(const char * , const char * , va_list) __attribute__((__format__ (__scanf__, 2, 0))); } # 1 "/usr/include/sys/_types/_ssize_t.h" 1 3 typedef __darwin_ssize_t ssize_t; # 437 "/usr/include/stdio.h" 2 3 extern "C" { int dprintf(int, const char * , ...) __attribute__((__format__ (__printf__, 2, 3))) ; int vdprintf(int, const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))) ; ssize_t getdelim(char ** , size_t * , int, FILE * ) ; ssize_t getline(char ** , size_t * , FILE * ) ; } extern "C" { extern const int sys_nerr; extern const char *const sys_errlist[]; int asprintf(char ** , const char * , ...) __attribute__((__format__ (__printf__, 2, 3))); char *ctermid_r(char *); char *fgetln(FILE *, size_t *); const char *fmtcheck(const char *, const char *); int fpurge(FILE *); void setbuffer(FILE *, char *, int); int setlinebuf(FILE *); int vasprintf(char ** , const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))); FILE *zopen(const char *, const char *, int); FILE *funopen(const void *, int (*)(void *, char *, int), int (*)(void *, const char *, int), fpos_t (*)(void *, fpos_t, int), int (*)(void *)); } # 55 "/opt/mpich/dev/intel/default/include/mpicxx.h" 2 enum MPIR_Dummy_seek_type { MPIR_DUMMY_SEEK_COMMA_VAL = -1 , MPIR_SEEK_SET = 0 , SEEK_SET = MPIR_SEEK_SET , MPIR_SEEK_CUR = 1 , SEEK_CUR = MPIR_SEEK_CUR , MPIR_SEEK_END = 2 , SEEK_END = MPIR_SEEK_END # 79 "/opt/mpich/dev/intel/default/include/mpicxx.h" }; namespace MPI { # 90 "/opt/mpich/dev/intel/default/include/mpicxx.h" extern void MPIR_Call_world_errhand( int ); typedef MPI_Offset Offset; typedef MPI_Aint Aint; typedef MPI_Fint Fint; void MPIR_CXX_InitDatatypeNames( void ); class Comm; class Nullcomm; class Intercomm; class Intracomm; class Cartcomm; class Graphcomm; class File; extern int Detach_buffer( void *&v1 ) ; extern bool Is_initialized( void ) ; extern void Get_processor_name( char * v1, int &v2 ) ; extern void Get_error_string( int v1, char * v2, int &v3 ) ; extern void Compute_dims( int v1, int v2, int v3[] ) ; extern void Get_version( int &v1, int &v2 ) ; extern void Finalize( void ) ; extern void Pcontrol( const int v1, ... ) ; extern void Attach_buffer( void * v1, int v2 ) ; extern int Get_error_class( int v1 ) ; extern Intracomm COMM_WORLD; extern File FILE_NULL; class Exception { protected: int the_real_exception; public: inline Exception(int obj) : the_real_exception(obj) {} inline Exception(void) : the_real_exception(0) {} virtual ~Exception() {} Exception(const Exception &obj) : the_real_exception(obj.the_real_exception){} Exception& operator=(const Exception &obj) { the_real_exception = obj.the_real_exception; return *this; } bool operator== (const Exception &obj) { return (the_real_exception == obj.the_real_exception); } bool operator!= (const Exception &obj) { return (the_real_exception != obj.the_real_exception); } inline operator int*() { return &the_real_exception; } inline operator int() const { return the_real_exception; } Exception& operator=(const int& obj) { the_real_exception = obj; return *this; } protected: char the_error_message[512]; public: int Get_error_code(void) { return the_real_exception; } int Get_error_class(void) { return MPI::Get_error_class(the_real_exception); } const char *Get_error_string(void) { int len; MPI_Error_string(the_real_exception, the_error_message, &len); return the_error_message; } }; class Datatype { friend class Comm; friend class Status; friend class Intracomm; friend class Intercomm; friend class Win; friend class File; friend class Op; protected: MPI_Datatype the_real_datatype; public: inline Datatype(MPI_Datatype obj) : the_real_datatype(obj) {} inline Datatype(void) : the_real_datatype(((MPI_Datatype)0x0c000000)) {} virtual ~Datatype() {} Datatype(const Datatype &obj) : the_real_datatype(obj.the_real_datatype){} Datatype& operator=(const Datatype &obj) { the_real_datatype = obj.the_real_datatype; return *this; } bool operator== (const Datatype &obj) { return (the_real_datatype == obj.the_real_datatype); } bool operator!= (const Datatype &obj) { return (the_real_datatype != obj.the_real_datatype); } inline operator MPI_Datatype*() { return &the_real_datatype; } inline operator MPI_Datatype() const { return the_real_datatype; } Datatype& operator=(const MPI_Datatype& obj) { the_real_datatype = obj; return *this; } virtual void Commit( void ) { { int err = MPI_Type_commit( (MPI_Datatype *) &the_real_datatype ) ; if (err) MPIR_Call_world_errhand( err ); }; } virtual void Free( void ) { { int err = MPI_Type_free( (MPI_Datatype *) &the_real_datatype ) ; if (err) MPIR_Call_world_errhand( err ); }; } virtual Datatype Create_indexed( int v1, const int * v2, const int * v3 ) const { Datatype v5; { int err = MPI_Type_indexed( v1, (const int *)v2, (const int *)v3, (MPI_Datatype) the_real_datatype, &(v5 . the_real_datatype) ) ; if (err) MPIR_Call_world_errhand( err ); }; return v5; } virtual Datatype Create_contiguous( int v1 ) const { Datatype v3; { int err = MPI_Type_contiguous( v1, (MPI_Datatype) the_real_datatype, &(v3 . the_real_datatype) ) ; if (err) MPIR_Call_world_errhand( err ); }; return v3; } virtual Datatype Create_vector( int v1, int v2, int v3 ) const { Datatype v5; { int err = MPI_Type_vector( v1, v2, v3, (MPI_Datatype) the_real_datatype, &(v5 . the_real_datatype) ) ; if (err) MPIR_Call_world_errhand( err ); }; return v5; } static Datatype Create_struct( int v1, int v2[], Aint v3[], const Datatype v4[] ) { Datatype v5; MPI_Datatype *l4 = new MPI_Datatype[v1]; { int i4; for (i4=0;i4Call_errhandler( err ); }}; return v2; } virtual int Get_rank( void ) const { int v2; { int err = MPI_Comm_rank( (MPI_Comm) the_real_comm, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual Prequest Bsend_init( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; { int err = MPI_Bsend_init( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual Prequest Ssend_init( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; { int err = MPI_Ssend_init( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual bool Is_inter( void ) const { int v2; { int err = MPI_Comm_test_inter( (MPI_Comm) the_real_comm, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2!= 0; } virtual Prequest Rsend_init( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; { int err = MPI_Rsend_init( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual Request Ibsend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; { int err = MPI_Ibsend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual void Abort( int v2 ) const { { int err = MPI_Abort( (MPI_Comm) the_real_comm, v2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Free( void ) { { int err = MPI_Comm_free( (MPI_Comm *) &the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Prequest Send_init( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; { int err = MPI_Send_init( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual void Recv( void * v1, int v2, const Datatype &v3, int v4, int v5, Status & v7 ) const { { int err = MPI_Recv( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, (MPI_Status *)&(v7 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Recv( void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { { int err = MPI_Recv( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Sendrecv( const void * v1, int v2, const Datatype &v3, int v4, int v5, void * v6, int v7, const Datatype &v8, int v9, int v10, Status & v12 ) const { { int err = MPI_Sendrecv( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, v7, (MPI_Datatype)(v8 . the_real_datatype), v9, v10, (MPI_Comm) the_real_comm, (MPI_Status *)&(v12 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Sendrecv( const void * v1, int v2, const Datatype &v3, int v4, int v5, void * v6, int v7, const Datatype &v8, int v9, int v10 ) const { { int err = MPI_Sendrecv( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, v7, (MPI_Datatype)(v8 . the_real_datatype), v9, v10, (MPI_Comm) the_real_comm, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Sendrecv_replace( void * v1, int v2, const Datatype &v3, int v4, int v5, int v6, int v7, Status & v9 ) const { { int err = MPI_Sendrecv_replace( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, v7, (MPI_Comm) the_real_comm, (MPI_Status *)&(v9 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Sendrecv_replace( void * v1, int v2, const Datatype &v3, int v4, int v5, int v6, int v7 ) const { { int err = MPI_Sendrecv_replace( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, v7, (MPI_Comm) the_real_comm, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual int Get_topology( void ) const { int v2; { int err = MPI_Topo_test( (MPI_Comm) the_real_comm, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual Request Isend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; { int err = MPI_Isend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual void Probe( int v1, int v2, Status & v4 ) const { { int err = MPI_Probe( v1, v2, (MPI_Comm) the_real_comm, (MPI_Status *)&(v4 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Probe( int v1, int v2 ) const { { int err = MPI_Probe( v1, v2, (MPI_Comm) the_real_comm, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } static int Compare( const Comm &v1, const Comm &v2 ) { int v3; { int err = MPI_Comm_compare( (MPI_Comm)(v1 . the_real_comm), (MPI_Comm)(v2 . the_real_comm), &v3 ) ; if (err) MPIR_Call_world_errhand( err ); }; return v3; } virtual int Get_size( void ) const { int v2; { int err = MPI_Comm_size( (MPI_Comm) the_real_comm, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual Request Issend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; { int err = MPI_Issend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual void Set_errhandler( const Errhandler &v2 ) { { int err = MPI_Comm_set_errhandler( (MPI_Comm) the_real_comm, (MPI_Errhandler)(v2 . the_real_errhandler) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Send( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { { int err = MPI_Send( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Request Irsend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; { int err = MPI_Irsend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual void Ssend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { { int err = MPI_Ssend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Prequest Recv_init( void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Prequest v7; { int err = MPI_Recv_init( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual bool Iprobe( int v1, int v2, Status & v5 ) const { int v4; { int err = MPI_Iprobe( v1, v2, (MPI_Comm) the_real_comm, &v4, (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; return v4!= 0; } virtual bool Iprobe( int v1, int v2 ) const { int v4; { int err = MPI_Iprobe( v1, v2, (MPI_Comm) the_real_comm, &v4, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; return v4!= 0; } virtual void Bsend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { { int err = MPI_Bsend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Request Irecv( void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { Request v7; { int err = MPI_Irecv( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm, &(v7 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v7; } virtual Errhandler Get_errhandler( void ) const { Errhandler v2; { int err = MPI_Comm_get_errhandler( (MPI_Comm) the_real_comm, &(v2 . the_real_errhandler) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Rsend( const void * v1, int v2, const Datatype &v3, int v4, int v5 ) const { { int err = MPI_Rsend( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Gatherv( const void * v1, int v2, const Datatype &v3, void * v4, const int * v5, const int * v6, const Datatype &v7, int v8 ) const { { int err = MPI_Gatherv( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, (const int *)v5, (const int *)v6, (MPI_Datatype)(v7 . the_real_datatype), v8, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Disconnect( void ) { { int err = MPI_Comm_disconnect( (MPI_Comm *) &the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Allreduce( const void * v1, void * v2, int v3, const Datatype &v4, const Op &v5 ) const { { int err = MPI_Allreduce( (const void *)v1, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Op)(v5 . the_real_op), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Alltoallw( const void * v1, const int v2[], const int v3[], const Datatype v4[], void * v5, const int v6[], const int v7[], const Datatype v8[] ) const { MPI_Datatype *l4 = new MPI_Datatype[Get_size()]; MPI_Datatype *l8 = new MPI_Datatype[Get_size()]; { int i4; for (i4=0;i4Call_errhandler( err ); }}; delete[] l4; delete[] l8; } static Intercomm Join( const int v1 ) ; virtual void Alltoall( const void * v1, int v2, const Datatype &v3, void * v4, int v5, const Datatype &v6 ) const { { int err = MPI_Alltoall( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Datatype)(v6 . the_real_datatype), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual bool Get_attr( int v2, void * v3 ) const { int v4; { int err = MPI_Comm_get_attr( (MPI_Comm) the_real_comm, v2, v3, &v4 ); if (err) { (this)->Call_errhandler( err ); }}; return v4!= 0; } virtual void Barrier( void ) const { { int err = MPI_Barrier( (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Bcast( void * v1, int v2, const Datatype &v3, int v4 ) const { { int err = MPI_Bcast( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_attr( int v2, const void * v3 ) { { int err = MPI_Comm_set_attr( (MPI_Comm) the_real_comm, v2, (void *)v3 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_name( const char * v2 ) { { int err = MPI_Comm_set_name( (MPI_Comm) the_real_comm, (const char *)v2 ); if (err) { (this)->Call_errhandler( err ); }}; } static Intercomm Get_parent( void ) ; virtual void Alltoallv( const void * v1, const int * v2, const int * v3, const Datatype &v4, void * v5, const int * v6, const int * v7, const Datatype &v8 ) const { { int err = MPI_Alltoallv( (const void *)v1, (const int *)v2, (const int *)v3, (MPI_Datatype)(v4 . the_real_datatype), v5, (const int *)v6, (const int *)v7, (MPI_Datatype)(v8 . the_real_datatype), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Reduce_scatter( const void * v1, void * v2, const int v3[], const Datatype &v4, const Op &v5 ) const { { int err = MPI_Reduce_scatter( (const void *)v1, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Op)(v5 . the_real_op), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Scatter( const void * v1, int v2, const Datatype &v3, void * v4, int v5, const Datatype &v6, int v7 ) const { { int err = MPI_Scatter( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Datatype)(v6 . the_real_datatype), v7, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Gather( const void * v1, int v2, const Datatype &v3, void * v4, int v5, const Datatype &v6, int v7 ) const { { int err = MPI_Gather( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Datatype)(v6 . the_real_datatype), v7, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } static void Free_keyval( int &v1 ) { { int err = MPI_Comm_free_keyval( &v1 ) ; if (err) MPIR_Call_world_errhand( err ); }; } virtual void Reduce( const void * v1, void * v2, int v3, const Datatype &v4, const Op &v5, int v6 ) const { { int err = MPI_Reduce( (const void *)v1, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Op)(v5 . the_real_op), v6, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Allgather( const void * v1, int v2, const Datatype &v3, void * v4, int v5, const Datatype &v6 ) const { { int err = MPI_Allgather( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, (MPI_Datatype)(v6 . the_real_datatype), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Delete_attr( int v2 ) { { int err = MPI_Comm_delete_attr( (MPI_Comm) the_real_comm, v2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Scatterv( const void * v1, const int * v2, const int * v3, const Datatype &v4, void * v5, int v6, const Datatype &v7, int v8 ) const { { int err = MPI_Scatterv( (const void *)v1, (const int *)v2, (const int *)v3, (MPI_Datatype)(v4 . the_real_datatype), v5, v6, (MPI_Datatype)(v7 . the_real_datatype), v8, (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Get_name( char * v2, int &v3 ) const { { int err = MPI_Comm_get_name( (MPI_Comm) the_real_comm, v2, &v3 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Allgatherv( const void * v1, int v2, const Datatype &v3, void * v4, const int * v5, const int * v6, const Datatype &v7 ) const { { int err = MPI_Allgatherv( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, (const int *)v5, (const int *)v6, (MPI_Datatype)(v7 . the_real_datatype), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Comm &Clone(void) const = 0; typedef int Copy_attr_function(const Comm& oldcomm, int comm_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, bool& flag); typedef int Delete_attr_function(Comm& comm, int comm_keyval, void* attribute_val, void* extra_state); typedef void Errhandler_function(Comm &, int *, ... ); typedef Errhandler_function Errhandler_fn; static int Create_keyval( Copy_attr_function *, Delete_attr_function *, void * ); static int NULL_COPY_FN( const Comm &oldcomm __attribute__((unused)), int keyval __attribute__((unused)), void *ex __attribute__((unused)), void *attr_in __attribute__((unused)), void *attr_out __attribute__((unused)), bool &flag ) { flag = 0; return 0;} static int NULL_DELETE_FN( Comm &comm __attribute__((unused)), int keyval __attribute__((unused)), void * attr __attribute__((unused)), void *ex __attribute__((unused)) ) { return 0; } static int DUP_FN( const Comm &oldcomm __attribute__((unused)), int keyval __attribute__((unused)), void *ex __attribute__((unused)), void *attr_in, void *attr_out, bool &flag ) { flag = 1; *(void **)attr_out = attr_in; return 0;} static Errhandler Create_errhandler( Errhandler_function * ); virtual void Call_errhandler( int v2 ) const; virtual void Reduce_scatter_block( const void * v1, void * v2, int v3, const Datatype &v4, const Op &v5 ) const { { int err = MPI_Reduce_scatter_block( (const void *)v1, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Op)(v5 . the_real_op), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } }; class Nullcomm : public Comm { public: inline Nullcomm(MPI_Comm obj) : Comm(obj) {} inline Nullcomm(void) : Comm() {} virtual ~Nullcomm() {} Nullcomm(const Nullcomm &obj) : Comm(obj) {} Nullcomm& operator=(const Nullcomm &obj) { the_real_comm = obj.the_real_comm; return *this; } inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Nullcomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; } # 1525 "/opt/mpich/dev/intel/default/include/mpicxx.h" virtual Nullcomm & Clone(void) const { Nullcomm *clone = new Nullcomm(); return *clone; }; }; class Intercomm : public Comm { friend class Intracomm; public: inline Intercomm(MPI_Comm obj) : Comm(obj) {} inline Intercomm(void) : Comm() {} virtual ~Intercomm() {} Intercomm(const Intercomm &obj) : Comm(obj) {} Intercomm& operator=(const Intercomm &obj) { the_real_comm = obj.the_real_comm; return *this; } inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Intercomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; } virtual Intracomm Merge( bool v2 ) const; virtual Group Get_remote_group( void ) const { Group v2; { int err = MPI_Comm_remote_group( (MPI_Comm) the_real_comm, &(v2 . the_real_group) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual int Get_remote_size( void ) const { int v2; { int err = MPI_Comm_remote_size( (MPI_Comm) the_real_comm, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } Intercomm Dup( void ) const { Intercomm v2; { int err = MPI_Comm_dup( (MPI_Comm) the_real_comm, &(v2 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual Intercomm Split( int v2, int v3 ) const { Intercomm v4; { int err = MPI_Comm_split( (MPI_Comm) the_real_comm, v2, v3, &(v4 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v4; } # 1591 "/opt/mpich/dev/intel/default/include/mpicxx.h" virtual Intercomm & Clone(void) const { MPI_Comm ncomm; MPI_Comm_dup( (MPI_Comm)the_real_comm, &ncomm); Intercomm *clone = new Intercomm(ncomm); return *clone; }; }; class Intracomm : public Comm { friend class Cartcomm; friend class Graphcomm; friend class Datatype; public: inline Intracomm(MPI_Comm obj) : Comm(obj) {} inline Intracomm(void) : Comm() {} virtual ~Intracomm() {} Intracomm(const Intracomm &obj) : Comm(obj) {} Intracomm& operator=(const Intracomm &obj) { the_real_comm = obj.the_real_comm; return *this; } inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Intracomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; } virtual Intercomm Create_intercomm( int v2, const Comm &v3, int v4, int v5 ) const { Intercomm v6; { int err = MPI_Intercomm_create( (MPI_Comm) the_real_comm, v2, (MPI_Comm)(v3 . the_real_comm), v4, v5, &(v6 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v6; } virtual Intracomm Split( int v2, int v3 ) const { Intracomm v4; { int err = MPI_Comm_split( (MPI_Comm) the_real_comm, v2, v3, &(v4 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v4; } virtual Graphcomm Create_graph( int v2, const int v3[], const int v4[], bool v5 ) const; virtual Cartcomm Create_cart( int v2, const int v3[], const bool v4[], bool v5 ) const; virtual Intracomm Create( const Group &v2 ) const { Intracomm v3; { int err = MPI_Comm_create( (MPI_Comm) the_real_comm, (MPI_Group)(v2 . the_real_group), &(v3 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v3; } Intracomm Dup( void ) const { Intracomm v2; { int err = MPI_Comm_dup( (MPI_Comm) the_real_comm, &(v2 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Scan( const void * v1, void * v2, int v3, const Datatype &v4, const Op &v5 ) const { { int err = MPI_Scan( (const void *)v1, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Op)(v5 . the_real_op), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Exscan( const void * v1, void * v2, int v3, const Datatype &v4, const Op &v5 ) const { { int err = MPI_Exscan( (const void *)v1, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Op)(v5 . the_real_op), (MPI_Comm) the_real_comm ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Intercomm Accept( const char * v1, const Info &v2, int v3 ) const { Intercomm v5; { int err = MPI_Comm_accept( (const char *)v1, (MPI_Info)(v2 . the_real_info), v3, (MPI_Comm) the_real_comm, &(v5 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } virtual Intercomm Connect( const char * v1, const Info &v2, int v3 ) const { Intercomm v5; { int err = MPI_Comm_connect( (const char *)v1, (MPI_Info)(v2 . the_real_info), v3, (MPI_Comm) the_real_comm, &(v5 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } # 1682 "/opt/mpich/dev/intel/default/include/mpicxx.h" virtual Intracomm & Clone(void) const { MPI_Comm ncomm; MPI_Comm_dup( (MPI_Comm)the_real_comm, &ncomm); Intracomm *clone = new Intracomm(ncomm); return *clone; }; Intercomm Spawn(const char* command, const char* argv[], int maxprocs, const MPI::Info& info, int root) const { Intercomm ic; { int err = MPI_Comm_spawn( (char *)command, (char * *)argv, maxprocs, info . the_real_info, root, the_real_comm, &(ic . the_real_comm), (int *)0 ); if (err) { (this)->Call_errhandler( err ); }}; return ic; } Intercomm Spawn(const char* command, const char* argv[], int maxprocs, const MPI::Info& info, int root, int array_of_errcodes[]) const { Intercomm ic; { int err = MPI_Comm_spawn( (char *)command, (char * *)argv, maxprocs, info . the_real_info, root, the_real_comm, &(ic . the_real_comm), array_of_errcodes ); if (err) { (this)->Call_errhandler( err ); }}; return ic; } Intercomm Spawn_multiple(int count, const char* array_of_commands[], const char** array_of_argv[], const int array_of_maxprocs[], const MPI::Info array_of_info[], int root) { Intercomm ic; MPI_Info *li = new MPI_Info [count]; int i; for (i=0; iCall_errhandler( err ); }}; delete [] li; return ic; } Intercomm Spawn_multiple(int count, const char* array_of_commands[], const char** array_of_argv[], const int array_of_maxprocs[], const MPI::Info array_of_info[], int root, int array_of_errcodes[]) { Intercomm ic; MPI_Info *li = new MPI_Info [count]; int i; for (i=0; iCall_errhandler( err ); }}; delete [] li; return ic; } }; class Grequest : public Request { public: inline Grequest(MPI_Request obj) : Request(obj) {} inline Grequest(void) : Request() {} virtual ~Grequest() {} Grequest(const Grequest &obj) : Request(obj) {} Grequest& operator=(const Grequest &obj) { the_real_request = obj.the_real_request; return *this; } bool operator== (const Grequest &obj) { return (the_real_request == obj.the_real_request); } bool operator!= (const Grequest &obj) { return (the_real_request != obj.the_real_request); } inline operator MPI_Request*() { return &the_real_request; } inline operator MPI_Request() const { return the_real_request; } Grequest& operator=(const MPI_Request& obj) { the_real_request = obj; return *this; } virtual void Complete( void ) { { int err = MPI_Grequest_complete( (MPI_Request) the_real_request ) ; if (err) MPIR_Call_world_errhand( err ); }; } typedef int Query_function( void *, Status & ); typedef int Free_function( void * ); typedef int Cancel_function( void *, bool ); Grequest Start( Query_function *query_fn, Free_function *free_fn, Cancel_function *cancel_fn, void *extra_state ); }; class Win { protected: MPI_Win the_real_win; public: inline Win(MPI_Win obj) : the_real_win(obj) {} inline Win(void) : the_real_win(((MPI_Win)0x20000000)) {} virtual ~Win() {} Win(const Win &obj) : the_real_win(obj.the_real_win){} Win& operator=(const Win &obj) { the_real_win = obj.the_real_win; return *this; } bool operator== (const Win &obj) { return (the_real_win == obj.the_real_win); } bool operator!= (const Win &obj) { return (the_real_win != obj.the_real_win); } inline operator MPI_Win*() { return &the_real_win; } inline operator MPI_Win() const { return the_real_win; } Win& operator=(const MPI_Win& obj) { the_real_win = obj; return *this; } virtual Group Get_group( void ) const { Group v2; { int err = MPI_Win_get_group( (MPI_Win) the_real_win, &(v2 . the_real_group) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Fence( int v1 ) const { { int err = MPI_Win_fence( v1, (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Start( const Group &v1, int v2 ) const { { int err = MPI_Win_start( (MPI_Group)(v1 . the_real_group), v2, (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Free( void ) { { int err = MPI_Win_free( (MPI_Win *) &the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Put( const void * v1, int v2, const Datatype &v3, int v4, Aint v5, int v6, const Datatype &v7 ) const { { int err = MPI_Put( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, (MPI_Datatype)(v7 . the_real_datatype), (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Wait( void ) const { { int err = MPI_Win_wait( (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual bool Test( void ) const { int v2; { int err = MPI_Win_test( (MPI_Win) the_real_win, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2!= 0; } virtual void Get( void * v1, int v2, const Datatype &v3, int v4, Aint v5, int v6, const Datatype &v7 ) const { { int err = MPI_Get( v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, (MPI_Datatype)(v7 . the_real_datatype), (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual bool Get_attr( int v2, void * v3 ) const { int v4; { int err = MPI_Win_get_attr( (MPI_Win) the_real_win, v2, v3, &v4 ); if (err) { (this)->Call_errhandler( err ); }}; return v4!= 0; } virtual void Set_attr( int v2, const void * v3 ) { { int err = MPI_Win_set_attr( (MPI_Win) the_real_win, v2, (void *)v3 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Complete( void ) const { { int err = MPI_Win_complete( (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_errhandler( const Errhandler &v2 ) { { int err = MPI_Win_set_errhandler( (MPI_Win) the_real_win, (MPI_Errhandler)(v2 . the_real_errhandler) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_name( const char * v2 ) { { int err = MPI_Win_set_name( (MPI_Win) the_real_win, (const char *)v2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Accumulate( const void * v1, int v2, const Datatype &v3, int v4, Aint v5, int v6, const Datatype &v7, const Op &v8 ) const { { int err = MPI_Accumulate( (const void *)v1, v2, (MPI_Datatype)(v3 . the_real_datatype), v4, v5, v6, (MPI_Datatype)(v7 . the_real_datatype), (MPI_Op)(v8 . the_real_op), (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } static Win Create( const void * v1, Aint v2, int v3, const Info &v4, const Intracomm &v5 ) { Win v6; { int err = MPI_Win_create( (void *)v1, v2, v3, (MPI_Info)(v4 . the_real_info), (MPI_Comm)(v5 . the_real_comm), &(v6 . the_real_win) ); if (err) { (v5). Call_errhandler( err ); }}; return v6; } static void Free_keyval( int &v1 ) { { int err = MPI_Win_free_keyval( &v1 ) ; if (err) MPIR_Call_world_errhand( err ); }; } virtual void Post( const Group &v1, int v2 ) const { { int err = MPI_Win_post( (MPI_Group)(v1 . the_real_group), v2, (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Unlock( int v1 ) const { { int err = MPI_Win_unlock( v1, (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Delete_attr( int v2 ) { { int err = MPI_Win_delete_attr( (MPI_Win) the_real_win, v2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Lock( int v1, int v2, int v3 ) const { { int err = MPI_Win_lock( v1, v2, v3, (MPI_Win) the_real_win ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Errhandler Get_errhandler( void ) const { Errhandler v2; { int err = MPI_Win_get_errhandler( (MPI_Win) the_real_win, &(v2 . the_real_errhandler) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Get_name( char * v2, int &v3 ) const { { int err = MPI_Win_get_name( (MPI_Win) the_real_win, v2, &v3 ); if (err) { (this)->Call_errhandler( err ); }}; } typedef void Errhandler_function(Win &, int *, ... ); typedef Errhandler_function Errhandler_fn; static Errhandler Create_errhandler( Errhandler_function * ); typedef int Copy_attr_function(const Win& oldwin, int win_keyval, void* extra_state, void* attribute_val_in, void* attribute_val_out, bool& flag); typedef int Delete_attr_function(Win& win, int win_keyval, void* attribute_val, void* extra_state); static int Create_keyval( Copy_attr_function *, Delete_attr_function *, void * ); static int NULL_COPY_FN( const Win &oldwin __attribute__((unused)), int keyval __attribute__((unused)), void *ex __attribute__((unused)), void *attr_in __attribute__((unused)), void *attr_out __attribute__((unused)), bool &flag ) { flag = 1; return 0;} static int NULL_DELETE_FN( Win &win __attribute__((unused)), int keyval __attribute__((unused)), void * attr __attribute__((unused)), void *ex __attribute__((unused)) ) { return 0; } static int DUP_FN( const Win &oldwin __attribute__((unused)), int keyval __attribute__((unused)), void *ex __attribute__((unused)), void *attr_in, void *attr_out, bool &flag ) { flag = 1; *(void **)attr_out = attr_in; return 0;} virtual void Call_errhandler( int v2 ) const; }; class File { protected: MPI_File the_real_file; public: inline File(MPI_File obj) : the_real_file(obj) {} inline File(void) : the_real_file(((MPI_File)0)) {} virtual ~File() {} File(const File &obj) : the_real_file(obj.the_real_file){} File& operator=(const File &obj) { the_real_file = obj.the_real_file; return *this; } bool operator== (const File &obj) { return (the_real_file == obj.the_real_file); } bool operator!= (const File &obj) { return (the_real_file != obj.the_real_file); } inline operator MPI_File*() { return &the_real_file; } inline operator MPI_File() const { return the_real_file; } File& operator=(const MPI_File& obj) { the_real_file = obj; return *this; } virtual Aint Get_type_extent( const Datatype &v2 ) const { MPI_Aint v3; { int err = MPI_File_get_type_extent( (MPI_File) the_real_file, (MPI_Datatype)(v2 . the_real_datatype), &v3 ); if (err) { (this)->Call_errhandler( err ); }}; return v3; } virtual void Read_ordered_end( void * v2, Status & v3 ) { { int err = MPI_File_read_ordered_end( (MPI_File) the_real_file, v2, (MPI_Status *)&(v3 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_ordered_end( void * v2 ) { { int err = MPI_File_read_ordered_end( (MPI_File) the_real_file, v2, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Seek_shared( Offset v2, int v3 ) { { int err = MPI_File_seek_shared( (MPI_File) the_real_file, v2, v3 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_ordered( void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_read_ordered( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_ordered( void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_read_ordered( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Request Iread_shared( void * v2, int v3, const Datatype &v4 ) { Request v5; { int err = MPI_File_iread_shared( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Request *)&(v5 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } virtual Info Get_info( void ) const { Info v2; { int err = MPI_File_get_info( (MPI_File) the_real_file, &(v2 . the_real_info) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Write_ordered_begin( const void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_write_ordered_begin( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_info( const Info &v2 ) { { int err = MPI_File_set_info( (MPI_File) the_real_file, (MPI_Info)(v2 . the_real_info) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_ordered( const void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_write_ordered( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_ordered( const void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_write_ordered( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Sync( void ) { { int err = MPI_File_sync( (MPI_File) the_real_file ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read( void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_read( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read( void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_read( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_all( const void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_write_all( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_all( const void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_write_all( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Offset Get_size( void ) const { MPI_Offset v2; { int err = MPI_File_get_size( (MPI_File) the_real_file, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Write_all_end( const void * v2, Status & v3 ) { { int err = MPI_File_write_all_end( (MPI_File) the_real_file, (const void *)v2, (MPI_Status *)&(v3 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_all_end( const void * v2 ) { { int err = MPI_File_write_all_end( (MPI_File) the_real_file, (const void *)v2, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } static void Delete( const char * v1, const Info &v2 ) { { int err = MPI_File_delete( (const char *)v1, (MPI_Info)(v2 . the_real_info) ); if (err) { (FILE_NULL). Call_errhandler( err ); }}; } virtual void Read_ordered_begin( void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_read_ordered_begin( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Request Iread_at( Offset v2, void * v3, int v4, const Datatype &v5 ) { Request v6; { int err = MPI_File_iread_at( (MPI_File) the_real_file, v2, v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Request *)&(v6 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v6; } virtual void Write_at_all_end( const void * v2, Status & v3 ) { { int err = MPI_File_write_at_all_end( (MPI_File) the_real_file, (const void *)v2, (MPI_Status *)&(v3 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_at_all_end( const void * v2 ) { { int err = MPI_File_write_at_all_end( (MPI_File) the_real_file, (const void *)v2, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Offset Get_position_shared( void ) const { MPI_Offset v2; { int err = MPI_File_get_position_shared( (MPI_File) the_real_file, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Write_shared( const void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_write_shared( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_shared( const void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_write_shared( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Request Iwrite_at( Offset v2, const void * v3, int v4, const Datatype &v5 ) { Request v6; { int err = MPI_File_iwrite_at( (MPI_File) the_real_file, (MPI_Offset)v2, (const void *)v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Request *)&(v6 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v6; } virtual void Get_view( Offset & v2, Datatype &v3, Datatype &v4, char * v5 ) const { { int err = MPI_File_get_view( (MPI_File) the_real_file, &v2, (MPI_Datatype *)&(v3 . the_real_datatype), (MPI_Datatype *)&(v4 . the_real_datatype), v5 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_all_begin( const void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_write_all_begin( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_all_end( void * v2, Status & v3 ) { { int err = MPI_File_read_all_end( (MPI_File) the_real_file, v2, (MPI_Status *)&(v3 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_all_end( void * v2 ) { { int err = MPI_File_read_all_end( (MPI_File) the_real_file, v2, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Offset Get_byte_offset( const Offset v2 ) const { MPI_Offset v3; { int err = MPI_File_get_byte_offset( (MPI_File) the_real_file, (MPI_Offset)v2, &v3 ); if (err) { (this)->Call_errhandler( err ); }}; return v3; } virtual Request Iread( void * v2, int v3, const Datatype &v4 ) { Request v5; { int err = MPI_File_iread( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Request *)&(v5 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } virtual void Read_at_all_end( void * v2, Status & v3 ) { { int err = MPI_File_read_at_all_end( (MPI_File) the_real_file, v2, (MPI_Status *)&(v3 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_at_all_end( void * v2 ) { { int err = MPI_File_read_at_all_end( (MPI_File) the_real_file, v2, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_at( Offset v2, const void * v3, int v4, const Datatype &v5, Status & v6 ) { { int err = MPI_File_write_at( (MPI_File) the_real_file, v2, (const void *)v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)&(v6 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_at( Offset v2, const void * v3, int v4, const Datatype &v5 ) { { int err = MPI_File_write_at( (MPI_File) the_real_file, v2, (const void *)v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_at_all_begin( Offset v2, const void * v3, int v4, const Datatype &v5 ) { { int err = MPI_File_write_at_all_begin( (MPI_File) the_real_file, v2, (const void *)v3, v4, (MPI_Datatype)(v5 . the_real_datatype) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Errhandler Get_errhandler( void ) const { Errhandler v2; { int err = MPI_File_get_errhandler( (MPI_File) the_real_file, &(v2 . the_real_errhandler) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual int Get_amode( void ) const { int v2; { int err = MPI_File_get_amode( (MPI_File) the_real_file, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Set_atomicity( bool v2 ) { int l2; l2 = (v2 == true) ? 1 : 0; { int err = MPI_File_set_atomicity( (MPI_File) the_real_file, l2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Group Get_group( void ) const { Group v2; { int err = MPI_File_get_group( (MPI_File) the_real_file, &(v2 . the_real_group) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual Offset Get_position( void ) const { MPI_Offset v2; { int err = MPI_File_get_position( (MPI_File) the_real_file, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } static File Open( const Intracomm &v1, const char * v2, int v3, const Info &v4 ) { File v5; { int err = MPI_File_open( (MPI_Comm)(v1 . the_real_comm), (const char *)v2, v3, (MPI_Info)(v4 . the_real_info), &(v5 . the_real_file) ); if (err) { (FILE_NULL). Call_errhandler( err ); }}; return v5; } virtual void Seek( Offset v2, int v3 ) { { int err = MPI_File_seek( (MPI_File) the_real_file, v2, v3 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_all_begin( void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_read_all_begin( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_at_all_begin( Offset v2, void * v3, int v4, const Datatype &v5 ) { { int err = MPI_File_read_at_all_begin( (MPI_File) the_real_file, v2, v3, v4, (MPI_Datatype)(v5 . the_real_datatype) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_all( void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_read_all( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_all( void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_read_all( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Preallocate( Offset v2 ) { { int err = MPI_File_preallocate( (MPI_File) the_real_file, v2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_at_all( Offset v2, void * v3, int v4, const Datatype &v5, Status & v6 ) { { int err = MPI_File_read_at_all( (MPI_File) the_real_file, v2, v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)&(v6 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_at_all( Offset v2, void * v3, int v4, const Datatype &v5 ) { { int err = MPI_File_read_at_all( (MPI_File) the_real_file, v2, v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_shared( void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_read_shared( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_shared( void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_read_shared( (MPI_File) the_real_file, v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual Request Iwrite( const void * v2, int v3, const Datatype &v4 ) { Request v5; { int err = MPI_File_iwrite( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Request *)&(v5 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } virtual Request Iwrite_shared( const void * v2, int v3, const Datatype &v4 ) { Request v5; { int err = MPI_File_iwrite_shared( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Request *)&(v5 . the_real_request) ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } virtual void Set_errhandler( const Errhandler &v2 ) { { int err = MPI_File_set_errhandler( (MPI_File) the_real_file, (MPI_Errhandler)(v2 . the_real_errhandler) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_at_all( Offset v2, const void * v3, int v4, const Datatype &v5, Status & v6 ) { { int err = MPI_File_write_at_all( (MPI_File) the_real_file, v2, (const void *)v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)&(v6 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_at_all( Offset v2, const void * v3, int v4, const Datatype &v5 ) { { int err = MPI_File_write_at_all( (MPI_File) the_real_file, v2, (const void *)v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_size( Offset v2 ) { { int err = MPI_File_set_size( (MPI_File) the_real_file, v2 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Set_view( Offset v2, const Datatype &v3, const Datatype v4, const char * v5, const Info &v6 ) { { int err = MPI_File_set_view( (MPI_File) the_real_file, v2, (MPI_Datatype)(v3 . the_real_datatype), (MPI_Datatype)v4, (const char *)v5, (MPI_Info)(v6 . the_real_info) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_at( Offset v2, void * v3, int v4, const Datatype &v5, Status & v6 ) { { int err = MPI_File_read_at( (MPI_File) the_real_file, v2, v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)&(v6 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Read_at( Offset v2, void * v3, int v4, const Datatype &v5 ) { { int err = MPI_File_read_at( (MPI_File) the_real_file, v2, v3, v4, (MPI_Datatype)(v5 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Close( void ) { { int err = MPI_File_close( (MPI_File *) &the_real_file ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_ordered_end( const void * v2, Status & v3 ) { { int err = MPI_File_write_ordered_end( (MPI_File) the_real_file, (const void *)v2, (MPI_Status *)&(v3 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write_ordered_end( const void * v2 ) { { int err = MPI_File_write_ordered_end( (MPI_File) the_real_file, (const void *)v2, (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write( const void * v2, int v3, const Datatype &v4, Status & v5 ) { { int err = MPI_File_write( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)&(v5 . the_real_status ) ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Write( const void * v2, int v3, const Datatype &v4 ) { { int err = MPI_File_write( (MPI_File) the_real_file, (const void *)v2, v3, (MPI_Datatype)(v4 . the_real_datatype), (MPI_Status *)1 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual bool Get_atomicity( void ) const { int v2; { int err = MPI_File_get_atomicity( (MPI_File) the_real_file, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2!= 0; } typedef void Errhandler_function(File &, int *, ... ); typedef Errhandler_function Errhandler_fn; static Errhandler Create_errhandler( Errhandler_function * ); virtual void Call_errhandler( int v2 ) const; }; class Graphcomm : public Intracomm { public: inline Graphcomm(MPI_Comm obj) : Intracomm(obj) {} inline Graphcomm(void) : Intracomm() {} virtual ~Graphcomm() {} Graphcomm(const Graphcomm &obj) : Intracomm(obj) {} Graphcomm& operator=(const Graphcomm &obj) { the_real_comm = obj.the_real_comm; return *this; } inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Graphcomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; } virtual void Get_dims( int * v2, int * v3 ) const { { int err = MPI_Graphdims_get( (MPI_Comm) the_real_comm, v2, v3 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual void Get_topo( int v2, int v3, int v4[], int v5[] ) const { { int err = MPI_Graph_get( (MPI_Comm) the_real_comm, v2, v3, v4, v5 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual int Map( int v2, const int v3[], const int v4[] ) const { int v5; { int err = MPI_Graph_map( (MPI_Comm) the_real_comm, v2, (const int *)v3, (const int *)v4, &v5 ); if (err) { (this)->Call_errhandler( err ); }}; return v5; } virtual void Get_neighbors( int v2, int v3, int v4[] ) const { { int err = MPI_Graph_neighbors( (MPI_Comm) the_real_comm, v2, v3, v4 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual int Get_neighbors_count( int v2 ) const { int v3; { int err = MPI_Graph_neighbors_count( (MPI_Comm) the_real_comm, v2, &v3 ); if (err) { (this)->Call_errhandler( err ); }}; return v3; } Graphcomm Dup( void ) const { Graphcomm v2; { int err = MPI_Comm_dup( (MPI_Comm) the_real_comm, &(v2 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } # 2360 "/opt/mpich/dev/intel/default/include/mpicxx.h" virtual Graphcomm & Clone(void) const { MPI_Comm ncomm; MPI_Comm_dup( (MPI_Comm)the_real_comm, &ncomm); Graphcomm *clone = new Graphcomm(ncomm); return *clone; }; }; class Cartcomm : public Intracomm { public: inline Cartcomm(MPI_Comm obj) : Intracomm(obj) {} inline Cartcomm(void) : Intracomm() {} virtual ~Cartcomm() {} Cartcomm(const Cartcomm &obj) : Intracomm(obj) {} Cartcomm& operator=(const Cartcomm &obj) { the_real_comm = obj.the_real_comm; return *this; } inline operator MPI_Comm*() { return &the_real_comm; } inline operator MPI_Comm() const { return the_real_comm; } Cartcomm& operator=(const MPI_Comm& obj) { the_real_comm = obj; return *this; } virtual void Get_coords( int v2, int v3, int v4[] ) const { { int err = MPI_Cart_coords( (MPI_Comm) the_real_comm, v2, v3, v4 ); if (err) { (this)->Call_errhandler( err ); }}; } virtual int Get_cart_rank( const int v2[] ) const { int v3; { int err = MPI_Cart_rank( (MPI_Comm) the_real_comm, (const int *)v2, &v3 ); if (err) { (this)->Call_errhandler( err ); }}; return v3; } virtual int Get_dim( void ) const { int v2; { int err = MPI_Cartdim_get( (MPI_Comm) the_real_comm, &v2 ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } Cartcomm Dup( void ) const { Cartcomm v2; { int err = MPI_Comm_dup( (MPI_Comm) the_real_comm, &(v2 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; return v2; } virtual void Get_topo( int v2, int v3[], bool v4[], int v5[] ) const { int *l4 = new int[v2]; { int err = MPI_Cart_get( (MPI_Comm) the_real_comm, v2, v3, l4, v5 ); if (err) { (this)->Call_errhandler( err ); }}; { int i4; for (i4=0;i4Call_errhandler( err ); }}; delete[] l4; return v5; } virtual Cartcomm Sub( const bool v2[] ) const { Cartcomm v3; int *l2 = new int[10]; { int i2; for (i2=0;i2<10;i2++) { l2[i2] = v2[i2] == true ? 1 : 0; } } { int err = MPI_Cart_sub( (MPI_Comm) the_real_comm, l2, &(v3 . the_real_comm) ); if (err) { (this)->Call_errhandler( err ); }}; delete[] l2; return v3; } virtual void Shift( int v2, int v3, int &v4, int &v5 ) const { { int err = MPI_Cart_shift( (MPI_Comm) the_real_comm, v2, v3, &v4, &v5 ); if (err) { (this)->Call_errhandler( err ); }}; } # 2475 "/opt/mpich/dev/intel/default/include/mpicxx.h" virtual Cartcomm & Clone(void) const { MPI_Comm ncomm; MPI_Comm_dup( (MPI_Comm)the_real_comm, &ncomm); Cartcomm *clone = new Cartcomm(ncomm); return *clone; }; }; extern int Add_error_class( void ) ; extern void* Alloc_mem( Aint v1, const Info &v2 ) ; extern void Lookup_name( const char * v1, const Info &v2, char * v3 ) ; extern void Publish_name( const char * v1, const Info &v2, const char * v3 ) ; extern void Unpublish_name( const char * v1, const Info &v2, const char * v3 ) ; extern Aint Get_address( const void * v1 ) ; extern void Add_error_string( int v1, const char * v2 ) ; extern int Query_thread( void ) ; extern void Close_port( const char * v1 ) ; extern int Add_error_code( int v1 ) ; extern void Free_mem( void * v1 ) ; extern void Open_port( const Info &v1, char * v2 ) ; extern bool Is_finalized( void ) ; extern bool Is_thread_main( void ) ; typedef int Datarep_extent_function( const Datatype&, Aint&, void *); typedef int Datarep_conversion_function( void *, Datatype &, int, void *, Offset, void * ); extern Datatype CHAR; extern Datatype UNSIGNED_CHAR; extern Datatype BYTE; extern Datatype SHORT; extern Datatype UNSIGNED_SHORT; extern Datatype INT; extern Datatype UNSIGNED; extern Datatype LONG; extern Datatype UNSIGNED_LONG; extern Datatype FLOAT; extern Datatype DOUBLE; extern Datatype LONG_DOUBLE; extern Datatype LONG_LONG_INT; extern Datatype LONG_LONG; extern Datatype PACKED; extern Datatype LB; extern Datatype UB; extern Datatype FLOAT_INT; extern Datatype DOUBLE_INT; extern Datatype LONG_INT; extern Datatype SHORT_INT; extern Datatype LONG_DOUBLE_INT; extern Datatype REAL4; extern Datatype REAL8; extern Datatype REAL16; extern Datatype COMPLEX8; extern Datatype COMPLEX16; extern Datatype COMPLEX32; extern Datatype INTEGER1; extern Datatype INTEGER2; extern Datatype INTEGER4; extern Datatype INTEGER8; extern Datatype INTEGER16; extern Datatype WCHAR; extern Datatype SIGNED_CHAR; extern Datatype UNSIGNED_LONG_LONG; extern Datatype TWOINT; extern Datatype BOOL; extern Datatype COMPLEX; extern Datatype DOUBLE_COMPLEX; extern Datatype LONG_DOUBLE_COMPLEX; extern Datatype DATATYPE_NULL; extern Datatype INTEGER; extern Datatype REAL; extern Datatype DOUBLE_PRECISION; extern Datatype F_COMPLEX; extern Datatype F_DOUBLE_COMPLEX; extern Datatype LOGICAL; extern Datatype CHARACTER; extern Datatype TWOREAL; extern Datatype TWODOUBLE_PRECISION; extern Datatype TWOINTEGER; extern const Op MAX; extern const Op MIN; extern const Op SUM; extern const Op PROD; extern const Op LAND; extern const Op BAND; extern const Op LOR; extern const Op BOR; extern const Op LXOR; extern const Op BXOR; extern const Op MINLOC; extern const Op MAXLOC; extern const Op REPLACE; extern const Op OP_NULL; extern Intracomm COMM_SELF; extern const Group GROUP_EMPTY; extern const Nullcomm COMM_NULL; extern const Group GROUP_NULL; extern const Request REQUEST_NULL; extern const Errhandler ERRHANDLER_NULL; extern const Errhandler ERRORS_RETURN; extern const Errhandler ERRORS_ARE_FATAL; extern const Errhandler ERRORS_THROW_EXCEPTIONS; extern const Info INFO_NULL; extern const Win WIN_NULL; extern const int BSEND_OVERHEAD; extern const int KEYVAL_INVALID; extern const int CART; extern const int GRAPH; extern const int IDENT; extern const int SIMILAR; extern const int CONGRUENT; extern const int UNEQUAL; extern const int PROC_NULL; extern const int ANY_TAG; extern const int ANY_SOURCE; extern const int ROOT; extern const int TAG_UB; extern const int IO; extern const int HOST; extern const int WTIME_IS_GLOBAL; extern const int UNIVERSE_SIZE; extern const int LASTUSEDCODE; extern const int APPNUM; extern const int MAX_PROCESSOR_NAME; extern const int MAX_ERROR_STRING; extern const int MAX_PORT_NAME; extern const int MAX_OBJECT_NAME; extern const int MAX_INFO_VAL; extern const int MAX_INFO_KEY; extern const int UNDEFINED; extern const int LOCK_EXCLUSIVE; extern const int LOCK_SHARED; extern const int WIN_BASE; extern const int WIN_DISP_UNIT; extern const int WIN_SIZE; extern const int SUCCESS; extern const int ERR_BUFFER; extern const int ERR_COUNT; extern const int ERR_TYPE; extern const int ERR_TAG; extern const int ERR_COMM; extern const int ERR_RANK; extern const int ERR_REQUEST; extern const int ERR_ROOT; extern const int ERR_GROUP; extern const int ERR_OP; extern const int ERR_TOPOLOGY; extern const int ERR_DIMS; extern const int ERR_ARG; extern const int ERR_UNKNOWN; extern const int ERR_TRUNCATE; extern const int ERR_OTHER; extern const int ERR_INTERN; extern const int ERR_PENDING; extern const int ERR_IN_STATUS; extern const int ERR_LASTCODE; extern const int ERR_FILE; extern const int ERR_ACCESS; extern const int ERR_AMODE; extern const int ERR_BAD_FILE; extern const int ERR_FILE_EXISTS; extern const int ERR_FILE_IN_USE; extern const int ERR_NO_SPACE; extern const int ERR_NO_SUCH_FILE; extern const int ERR_IO; extern const int ERR_READ_ONLY; extern const int ERR_CONVERSION; extern const int ERR_DUP_DATAREP; extern const int ERR_UNSUPPORTED_DATAREP; extern const int ERR_INFO; extern const int ERR_INFO_KEY; extern const int ERR_INFO_VALUE; extern const int ERR_INFO_NOKEY; extern const int ERR_NAME; extern const int ERR_NO_MEM; extern const int ERR_NOT_SAME; extern const int ERR_PORT; extern const int ERR_QUOTA; extern const int ERR_SERVICE; extern const int ERR_SPAWN; extern const int ERR_UNSUPPORTED_OPERATION; extern const int ERR_WIN; extern const int ERR_BASE; extern const int ERR_LOCKTYPE; extern const int ERR_KEYVAL; extern const int ERR_RMA_CONFLICT; extern const int ERR_RMA_SYNC; extern const int ERR_SIZE; extern const int ERR_DISP; extern const int ERR_ASSERT; extern const int TYPECLASS_REAL; extern const int TYPECLASS_INTEGER; extern const int TYPECLASS_COMPLEX; extern const int SEEK_SET; extern const int SEEK_END; extern const int SEEK_CUR; extern const int DISTRIBUTE_BLOCK; extern const int DISTRIBUTE_CYCLIC; extern const int DISTRIBUTE_DFLT_DARG; extern const int DISTRIBUTE_NONE; extern const int ORDER_C; extern const int ORDER_FORTRAN; extern const int MAX_DATAREP_STRING; extern const MPI_Offset DISPLACEMENT_CURRENT; extern const int MODE_APPEND; extern const int MODE_CREATE; extern const int MODE_DELETE_ON_CLOSE; extern const int MODE_EXCL; extern const int MODE_RDONLY; extern const int MODE_RDWR; extern const int MODE_SEQUENTIAL; extern const int MODE_UNIQUE_OPEN; extern const int MODE_WRONLY; extern const int MODE_NOCHECK; extern const int MODE_NOPRECEDE; extern const int MODE_NOPUT; extern const int MODE_NOSTORE; extern const int MODE_NOSUCCEED; extern const int COMM_TYPE_SHARED; extern const int COMBINER_CONTIGUOUS; extern const int COMBINER_DARRAY; extern const int COMBINER_DUP; extern const int COMBINER_F90_COMPLEX; extern const int COMBINER_F90_INTEGER; extern const int COMBINER_F90_REAL; extern const int COMBINER_HINDEXED_INTEGER; extern const int COMBINER_HINDEXED; extern const int COMBINER_HVECTOR_INTEGER; extern const int COMBINER_HVECTOR; extern const int COMBINER_INDEXED_BLOCK; extern const int COMBINER_INDEXED; extern const int COMBINER_NAMED; extern const int COMBINER_RESIZED; extern const int COMBINER_STRUCT_INTEGER; extern const int COMBINER_STRUCT; extern const int COMBINER_SUBARRAY; extern const int COMBINER_VECTOR; extern const int COMBINER_HINDEXED_BLOCK; extern const int THREAD_FUNNELED; extern const int THREAD_MULTIPLE; extern const int THREAD_SERIALIZED; extern const int THREAD_SINGLE; extern const char ** const ARGV_NULL; extern const char *** const ARGVS_NULL; extern void * const BOTTOM; extern void * const IN_PLACE; extern void Init(void); extern void Init(int &, char **& ); extern int Init_thread(int); extern int Init_thread(int &, char **&, int ); extern double Wtime(void); extern double Wtick(void); } # 2234 "/opt/mpich/dev/intel/default/include/mpi.h" 2 typedef int MPIX_Grequest_class; int MPIX_Grequest_class_create(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, MPIX_Grequest_poll_function *poll_fn, MPIX_Grequest_wait_function *wait_fn, MPIX_Grequest_class *greq_class); int MPIX_Grequest_class_allocate(MPIX_Grequest_class greq_class, void *extra_state, MPI_Request *request); int MPIX_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, MPIX_Grequest_poll_function *poll_fn, MPIX_Grequest_wait_function *wait_fn, void *extra_state, MPI_Request *request); struct mpixi_mutex_s; typedef struct mpixi_mutex_s * MPIX_Mutex; int MPIX_Mutex_create(int count, MPI_Comm comm, MPIX_Mutex *hdl); int MPIX_Mutex_free(MPIX_Mutex *hdl); int MPIX_Mutex_lock(MPIX_Mutex hdl, int mutex, int proc); int MPIX_Mutex_unlock(MPIX_Mutex hdl, int mutex, int proc); int PMPIX_Grequest_class_create(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, MPIX_Grequest_poll_function *poll_fn, MPIX_Grequest_wait_function *wait_fn, MPIX_Grequest_class *greq_class); int PMPIX_Grequest_class_allocate(MPIX_Grequest_class greq_class, void *extra_state, MPI_Request *request); int PMPIX_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, MPIX_Grequest_poll_function *poll_fn, MPIX_Grequest_wait_function *wait_fn, void *extra_state, MPI_Request *request); int PMPIX_Mutex_create(int count, MPI_Comm comm, MPIX_Mutex *hdl); int PMPIX_Mutex_free(MPIX_Mutex *hdl); int PMPIX_Mutex_lock(MPIX_Mutex hdl, int mutex, int proc); int PMPIX_Mutex_unlock(MPIX_Mutex hdl, int mutex, int proc); # 15 "/Users/jrhammon/Work/Elemental/git/include/El/core.hpp" 2 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/array" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstddef" 1 3 # 1 "/opt/intel//compilers_and_libraries_2016.2.146/mac/compiler/include/stddef.h" 1 3 typedef long ptrdiff_t; # 46 "/opt/intel//compilers_and_libraries_2016.2.146/mac/compiler/include/stddef.h" 3 # 65 "/opt/intel//compilers_and_libraries_2016.2.146/mac/compiler/include/stddef.h" 3 # 76 "/opt/intel//compilers_and_libraries_2016.2.146/mac/compiler/include/stddef.h" 3 # 83 "/opt/intel//compilers_and_libraries_2016.2.146/mac/compiler/include/stddef.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; # 99 "/opt/intel//compilers_and_libraries_2016.2.146/mac/compiler/include/stddef.h" 3 # 39 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstddef" 2 3 # 42 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstddef" 3 namespace std {inline namespace __1 { using ::ptrdiff_t; using ::size_t; using ::max_align_t; # 90 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstddef" 3 } } namespace std { typedef decltype(nullptr) nullptr_t; } # 16 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 1 3 # 215 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 namespace std {inline namespace __1 { template struct __void_t { typedef void type; }; template struct __identity { typedef _Tp type; }; template struct __attribute__ ((__visibility__("default"))) __dependent_type : public _Tp {}; template struct __attribute__ ((__visibility__("default"))) conditional {typedef _If type;}; template struct __attribute__ ((__visibility__("default"))) conditional {typedef _Then type;}; template struct __attribute__ ((__visibility__("default"))) __lazy_enable_if {}; template struct __attribute__ ((__visibility__("default"))) __lazy_enable_if {typedef typename _Tp::type type;}; template struct __attribute__ ((__visibility__("default"))) enable_if {}; template struct __attribute__ ((__visibility__("default"))) enable_if {typedef _Tp type;}; struct __two {char __lx[2];}; template struct __attribute__ ((__visibility__("default"))) integral_constant { static constexpr const _Tp value = __v; typedef _Tp value_type; typedef integral_constant type; __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr operator value_type() const noexcept {return value;} }; template constexpr const _Tp integral_constant<_Tp, __v>::value; # 276 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 typedef integral_constant true_type; typedef integral_constant false_type; template struct __attribute__ ((__visibility__("default"))) is_const : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_const<_Tp const> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_volatile : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_volatile<_Tp volatile> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) remove_const {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_const {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_volatile {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_volatile {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_cv {typedef typename remove_volatile::type>::type type;}; template struct __libcpp_is_void : public false_type {}; template <> struct __libcpp_is_void : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_void : public __libcpp_is_void::type> {}; template struct __is_nullptr_t_impl : public false_type {}; template <> struct __is_nullptr_t_impl : public true_type {}; template struct __attribute__ ((__visibility__("default"))) __is_nullptr_t : public __is_nullptr_t_impl::type> {}; template struct __libcpp_is_integral : public false_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral : public true_type {}; template <> struct __libcpp_is_integral<__int128_t> : public true_type {}; template <> struct __libcpp_is_integral<__uint128_t> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_integral : public __libcpp_is_integral::type> {}; template struct __libcpp_is_floating_point : public false_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_floating_point : public __libcpp_is_floating_point::type> {}; template struct __attribute__ ((__visibility__("default"))) is_array : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_array<_Tp[]> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_array<_Tp[_Np]> : public true_type {}; template struct __libcpp_is_pointer : public false_type {}; template struct __libcpp_is_pointer<_Tp*> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_pointer : public __libcpp_is_pointer::type> {}; template struct __attribute__ ((__visibility__("default"))) is_lvalue_reference : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_lvalue_reference<_Tp&> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_rvalue_reference : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_rvalue_reference<_Tp&&> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_reference : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_reference<_Tp&> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_reference<_Tp&&> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_union : public integral_constant {}; # 420 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_class : public integral_constant {}; # 440 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_same : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_same<_Tp, _Tp> : public true_type {}; namespace __libcpp_is_function_imp { struct __dummy_type {}; template char __test(_Tp*); template char __test(__dummy_type); template __two __test(...); template _Tp& __source(int); template __dummy_type __source(...); } template ::value || is_union<_Tp>::value || is_void<_Tp>::value || is_reference<_Tp>::value || __is_nullptr_t<_Tp>::value > struct __libcpp_is_function : public integral_constant(__libcpp_is_function_imp::__source<_Tp>(0))) == 1> {}; template struct __libcpp_is_function<_Tp, true> : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_function : public __libcpp_is_function<_Tp> {}; template struct __member_pointer_traits_imp { }; template struct __libcpp_is_member_function_pointer : public false_type {}; template struct __libcpp_is_member_function_pointer<_Ret _Class::*> : public is_function<_Ret> {}; template struct __attribute__ ((__visibility__("default"))) is_member_function_pointer : public __libcpp_is_member_function_pointer::type>::type {}; template struct __libcpp_is_member_pointer : public false_type {}; template struct __libcpp_is_member_pointer<_Tp _Up::*> : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_member_pointer : public __libcpp_is_member_pointer::type> {}; template struct __attribute__ ((__visibility__("default"))) is_member_object_pointer : public integral_constant::value && !is_member_function_pointer<_Tp>::value> {}; template struct __attribute__ ((__visibility__("default"))) is_enum : public integral_constant {}; # 529 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_arithmetic : public integral_constant::value || is_floating_point<_Tp>::value> {}; template struct __attribute__ ((__visibility__("default"))) is_fundamental : public integral_constant::value || __is_nullptr_t<_Tp>::value || is_arithmetic<_Tp>::value> {}; template struct __attribute__ ((__visibility__("default"))) is_scalar : public integral_constant::value || is_member_pointer<_Tp>::value || is_pointer<_Tp>::value || __is_nullptr_t<_Tp>::value || is_enum<_Tp>::value > {}; template <> struct __attribute__ ((__visibility__("default"))) is_scalar : public true_type {}; template struct __attribute__ ((__visibility__("default"))) is_object : public integral_constant::value || is_array<_Tp>::value || is_union<_Tp>::value || is_class<_Tp>::value > {}; template struct __attribute__ ((__visibility__("default"))) is_compound : public integral_constant::value> {}; template ::value || is_function<_Tp>::value || is_const<_Tp>::value > struct __add_const {typedef _Tp type;}; template struct __add_const<_Tp, false> {typedef const _Tp type;}; template struct __attribute__ ((__visibility__("default"))) add_const {typedef typename __add_const<_Tp>::type type;}; template ::value || is_function<_Tp>::value || is_volatile<_Tp>::value > struct __add_volatile {typedef _Tp type;}; template struct __add_volatile<_Tp, false> {typedef volatile _Tp type;}; template struct __attribute__ ((__visibility__("default"))) add_volatile {typedef typename __add_volatile<_Tp>::type type;}; template struct __attribute__ ((__visibility__("default"))) add_cv {typedef typename add_const::type>::type type;}; template struct __attribute__ ((__visibility__("default"))) remove_reference {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_reference<_Tp&> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_reference<_Tp&&> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) add_lvalue_reference {typedef _Tp& type;}; template struct __attribute__ ((__visibility__("default"))) add_lvalue_reference<_Tp&> {typedef _Tp& type;}; template <> struct __attribute__ ((__visibility__("default"))) add_lvalue_reference {typedef void type;}; template <> struct __attribute__ ((__visibility__("default"))) add_lvalue_reference {typedef const void type;}; template <> struct __attribute__ ((__visibility__("default"))) add_lvalue_reference {typedef volatile void type;}; template <> struct __attribute__ ((__visibility__("default"))) add_lvalue_reference {typedef const volatile void type;}; template struct __attribute__ ((__visibility__("default"))) add_rvalue_reference {typedef _Tp&& type;}; template <> struct __attribute__ ((__visibility__("default"))) add_rvalue_reference {typedef void type;}; template <> struct __attribute__ ((__visibility__("default"))) add_rvalue_reference {typedef const void type;}; template <> struct __attribute__ ((__visibility__("default"))) add_rvalue_reference {typedef volatile void type;}; template <> struct __attribute__ ((__visibility__("default"))) add_rvalue_reference {typedef const volatile void type;}; template typename add_rvalue_reference<_Tp>::type declval() noexcept; # 662 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 struct __any { __any(...); }; template struct __attribute__ ((__visibility__("default"))) remove_pointer {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_pointer<_Tp*> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_pointer<_Tp* const> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_pointer<_Tp* volatile> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_pointer<_Tp* const volatile> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) add_pointer {typedef typename remove_reference<_Tp>::type* type;}; template ::value> struct __libcpp_is_signed_impl : public integral_constant {}; template struct __libcpp_is_signed_impl<_Tp, false> : public true_type {}; template ::value> struct __libcpp_is_signed : public __libcpp_is_signed_impl<_Tp> {}; template struct __libcpp_is_signed<_Tp, false> : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_signed : public __libcpp_is_signed<_Tp> {}; template ::value> struct __libcpp_is_unsigned_impl : public integral_constant {}; template struct __libcpp_is_unsigned_impl<_Tp, false> : public false_type {}; template ::value> struct __libcpp_is_unsigned : public __libcpp_is_unsigned_impl<_Tp> {}; template struct __libcpp_is_unsigned<_Tp, false> : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_unsigned : public __libcpp_is_unsigned<_Tp> {}; template struct __attribute__ ((__visibility__("default"))) rank : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) rank<_Tp[]> : public integral_constant::value + 1> {}; template struct __attribute__ ((__visibility__("default"))) rank<_Tp[_Np]> : public integral_constant::value + 1> {}; template struct __attribute__ ((__visibility__("default"))) extent : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) extent<_Tp[], 0> : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) extent<_Tp[], _Ip> : public integral_constant::value> {}; template struct __attribute__ ((__visibility__("default"))) extent<_Tp[_Np], 0> : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) extent<_Tp[_Np], _Ip> : public integral_constant::value> {}; template struct __attribute__ ((__visibility__("default"))) remove_extent {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_extent<_Tp[]> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_extent<_Tp[_Np]> {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_all_extents {typedef _Tp type;}; template struct __attribute__ ((__visibility__("default"))) remove_all_extents<_Tp[]> {typedef typename remove_all_extents<_Tp>::type type;}; template struct __attribute__ ((__visibility__("default"))) remove_all_extents<_Tp[_Np]> {typedef typename remove_all_extents<_Tp>::type type;}; template struct __attribute__ ((__visibility__("default"))) decay { private: typedef typename remove_reference<_Tp>::type _Up; public: typedef typename conditional < is_array<_Up>::value, typename remove_extent<_Up>::type*, typename conditional < is_function<_Up>::value, typename add_pointer<_Up>::type, typename remove_cv<_Up>::type >::type >::type type; }; namespace __is_abstract_imp { template char __test(_Tp (*)[1]); template __two __test(...); } template ::value> struct __libcpp_abstract : public integral_constant(0)) != 1> {}; template struct __libcpp_abstract<_Tp, false> : public false_type {}; template struct __attribute__ ((__visibility__("default"))) is_abstract : public __libcpp_abstract<_Tp> {}; template struct __attribute__ ((__visibility__("default"))) __libcpp_is_final : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) is_base_of : public integral_constant {}; # 856 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_convertible : public integral_constant::value> {}; # 983 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_empty : public integral_constant {}; # 1014 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_polymorphic : public integral_constant {}; # 1034 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) has_virtual_destructor : public integral_constant {}; # 1048 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) alignment_of : public integral_constant {}; template struct __type_list { typedef _Hp _Head; typedef _Tp _Tail; }; struct __nat { __nat() = delete; __nat(const __nat&) = delete; __nat& operator=(const __nat&) = delete; ~__nat() = delete; }; template struct __align_type { static const size_t value = alignment_of<_Tp>::value; typedef _Tp type; }; struct __struct_double {long double __lx;}; struct __struct_double4 {double __lx[4];}; typedef __type_list<__align_type, __type_list<__align_type, __type_list<__align_type, __type_list<__align_type, __type_list<__align_type, __type_list<__align_type, __type_list<__align_type, __type_list<__align_type<__struct_double>, __type_list<__align_type<__struct_double4>, __type_list<__align_type, __nat > > > > > > > > > > __all_types; template struct __find_pod; template struct __find_pod<__type_list<_Hp, __nat>, _Align> { typedef typename conditional< _Align == _Hp::value, typename _Hp::type, void >::type type; }; template struct __find_pod<__type_list<_Hp, _Tp>, _Align> { typedef typename conditional< _Align == _Hp::value, typename _Hp::type, typename __find_pod<_Tp, _Align>::type >::type type; }; template struct __find_max_align; template struct __find_max_align<__type_list<_Hp, __nat>, _Len> : public integral_constant {}; template 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 struct __find_max_align<__type_list<_Hp, _Tp>, _Len> : public integral_constant::value>::value> {}; template ::value> struct __attribute__ ((__visibility__("default"))) aligned_storage { typedef typename __find_pod<__all_types, _Align>::type _Aligner; static_assert(!is_void<_Aligner>::value, ""); union type { _Aligner __align; unsigned char __data[_Len]; }; }; # 1164 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x1>{ struct alignas(0x1) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x2>{ struct alignas(0x2) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x4>{ struct alignas(0x4) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x8>{ struct alignas(0x8) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x10>{ struct alignas(0x10) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x20>{ struct alignas(0x20) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x40>{ struct alignas(0x40) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x80>{ struct alignas(0x80) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x100>{ struct alignas(0x100) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x200>{ struct alignas(0x200) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x400>{ struct alignas(0x400) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x800>{ struct alignas(0x800) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x1000>{ struct alignas(0x1000) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x2000>{ struct alignas(0x2000) type { unsigned char __lx[_Len]; };}; template struct __attribute__ ((__visibility__("default"))) aligned_storage<_Len, 0x4000>{ struct alignas(0x4000) type { unsigned char __lx[_Len]; };}; template struct __static_max; template struct __static_max<_I0> { static const size_t value = _I0; }; template struct __static_max<_I0, _I1, _In...> { static const size_t value = _I0 >= _I1 ? __static_max<_I0, _In...>::value : __static_max<_I1, _In...>::value; }; template 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 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(declval<_Tp>())) type; static const bool value = !is_same::value; }; template <> struct __numeric_type { static const bool value = true; }; template ::value && __numeric_type<_A2>::value && __numeric_type<_A3>::value> class __promote_imp { public: static const bool value = false; }; template 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 __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 __promote_imp<_A1, void, void, true> { public: typedef typename __numeric_type<_A1>::type type; static const bool value = true; }; template class __promote : public __promote_imp<_A1, _A2, _A3> {}; # 1304 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 typedef __type_list > > > > > __signed_types; typedef __type_list > > > > > __unsigned_types; template struct __find_first; template struct __find_first<__type_list<_Hp, _Tp>, _Size, true> { typedef _Hp type; }; template struct __find_first<__type_list<_Hp, _Tp>, _Size, false> { typedef typename __find_first<_Tp, _Size>::type type; }; template ::type>::value, bool = is_volatile::type>::value> struct __apply_cv { typedef _Up type; }; template struct __apply_cv<_Tp, _Up, true, false> { typedef const _Up type; }; template struct __apply_cv<_Tp, _Up, false, true> { typedef volatile _Up type; }; template struct __apply_cv<_Tp, _Up, true, true> { typedef const volatile _Up type; }; template struct __apply_cv<_Tp&, _Up, false, false> { typedef _Up& type; }; template struct __apply_cv<_Tp&, _Up, true, false> { typedef const _Up& type; }; template struct __apply_cv<_Tp&, _Up, false, true> { typedef volatile _Up& type; }; template struct __apply_cv<_Tp&, _Up, true, true> { typedef const volatile _Up& type; }; template ::value || is_enum<_Tp>::value> struct __make_signed {}; template struct __make_signed<_Tp, true> { typedef typename __find_first<__signed_types, sizeof(_Tp)>::type type; }; template <> struct __make_signed {}; template <> struct __make_signed< signed short, true> {typedef short type;}; template <> struct __make_signed {typedef short type;}; template <> struct __make_signed< signed int, true> {typedef int type;}; template <> struct __make_signed {typedef int type;}; template <> struct __make_signed< signed long, true> {typedef long type;}; template <> struct __make_signed {typedef long type;}; template <> struct __make_signed< signed long long, true> {typedef long long type;}; template <> struct __make_signed {typedef long long type;}; template <> struct __make_signed<__int128_t, true> {typedef __int128_t type;}; template <> struct __make_signed<__uint128_t, true> {typedef __int128_t type;}; template struct __attribute__ ((__visibility__("default"))) make_signed { typedef typename __apply_cv<_Tp, typename __make_signed::type>::type>::type type; }; template ::value || is_enum<_Tp>::value> struct __make_unsigned {}; template struct __make_unsigned<_Tp, true> { typedef typename __find_first<__unsigned_types, sizeof(_Tp)>::type type; }; template <> struct __make_unsigned {}; template <> struct __make_unsigned< signed short, true> {typedef unsigned short type;}; template <> struct __make_unsigned {typedef unsigned short type;}; template <> struct __make_unsigned< signed int, true> {typedef unsigned int type;}; template <> struct __make_unsigned {typedef unsigned int type;}; template <> struct __make_unsigned< signed long, true> {typedef unsigned long type;}; template <> struct __make_unsigned {typedef unsigned long type;}; template <> struct __make_unsigned< signed long long, true> {typedef unsigned long long type;}; template <> struct __make_unsigned {typedef unsigned long long type;}; template <> struct __make_unsigned<__int128_t, true> {typedef __uint128_t type;}; template <> struct __make_unsigned<__uint128_t, true> {typedef __uint128_t type;}; template struct __attribute__ ((__visibility__("default"))) make_unsigned { typedef typename __apply_cv<_Tp, typename __make_unsigned::type>::type>::type type; }; # 1498 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct common_type; template struct __attribute__ ((__visibility__("default"))) common_type<_Tp> { typedef typename decay<_Tp>::type type; }; template struct __attribute__ ((__visibility__("default"))) common_type<_Tp, _Up> { private: static _Tp&& __t(); static _Up&& __u(); static bool __f(); public: typedef typename decay::type type; }; template struct __attribute__ ((__visibility__("default"))) common_type<_Tp, _Up, _Vp...> { typedef typename common_type::type, _Vp...>::type type; }; template struct __select_2nd { typedef _Tp type; }; template typename __select_2nd() = std::__1::declval<_Arg>())), true_type>::type __is_assignable_test(_Tp&&, _Arg&&); template false_type __is_assignable_test(__any, _Arg&&); template ::value || is_void<_Arg>::value> struct __is_assignable_imp : public common_type < decltype(std::__1::__is_assignable_test(declval<_Tp>(), declval<_Arg>())) >::type {}; template struct __is_assignable_imp<_Tp, _Arg, true> : public false_type { }; template struct is_assignable : public __is_assignable_imp<_Tp, _Arg> {}; template struct __attribute__ ((__visibility__("default"))) is_copy_assignable : public is_assignable::type, typename add_lvalue_reference::type>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_move_assignable : public is_assignable::type, const typename add_rvalue_reference<_Tp>::type> {}; template struct __is_destructible_apply { typedef int type; }; template struct __is_destructor_wellformed { template static char __test ( typename __is_destructible_apply().~_Tp1())>::type ); template static __two __test (...); static const bool value = sizeof(__test<_Tp>(12)) == sizeof(char); }; template struct __destructible_imp; template struct __destructible_imp<_Tp, false> : public std::__1::integral_constant::type>::value> {}; template struct __destructible_imp<_Tp, true> : public std::__1::true_type {}; template struct __destructible_false; template struct __destructible_false<_Tp, false> : public __destructible_imp<_Tp, std::__1::is_reference<_Tp>::value> {}; template struct __destructible_false<_Tp, true> : public std::__1::false_type {}; template struct is_destructible : public __destructible_false<_Tp, std::__1::is_function<_Tp>::value> {}; template struct is_destructible<_Tp[]> : public std::__1::false_type {}; template <> struct is_destructible : public std::__1::false_type {}; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename remove_reference<_Tp>::type&& move(_Tp&& __t) noexcept { typedef typename remove_reference<_Tp>::type _Up; return static_cast<_Up&&>(__t); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp&& forward(typename std::remove_reference<_Tp>::type& __t) noexcept { return static_cast<_Tp&&>(__t); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp&& forward(typename std::remove_reference<_Tp>::type&& __t) noexcept { static_assert(!std::is_lvalue_reference<_Tp>::value, "Can not forward an rvalue as an lvalue."); return static_cast<_Tp&&>(__t); } # 1712 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename decay<_Tp>::type __decay_copy(_Tp&& __t) { return std::__1::forward<_Tp>(__t); } # 1734 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...), true, false> { typedef _Class _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...), true, false> { typedef _Class _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const, true, false> { typedef _Class const _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const, true, false> { typedef _Class const _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile, true, false> { typedef _Class volatile _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile, true, false> { typedef _Class volatile _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template 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 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 struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &, true, false> { typedef _Class& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &, true, false> { typedef _Class& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&, true, false> { typedef _Class const& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&, true, false> { typedef _Class const& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&, true, false> { typedef _Class volatile& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&, true, false> { typedef _Class volatile& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template 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 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 struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) &&, true, false> { typedef _Class&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) &&, true, false> { typedef _Class&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) const&&, true, false> { typedef _Class const&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const&&, true, false> { typedef _Class const&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param...) volatile&&, true, false> { typedef _Class volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param...); }; template struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) volatile&&, true, false> { typedef _Class volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; template 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 struct __member_pointer_traits_imp<_Rp (_Class::*)(_Param..., ...) const volatile&&, true, false> { typedef _Class const volatile&& _ClassType; typedef _Rp _ReturnType; typedef _Rp (_FnType) (_Param..., ...); }; # 2193 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __member_pointer_traits_imp<_Rp _Class::*, false, true> { typedef _Class _ClassType; typedef _Rp _ReturnType; }; template struct __member_pointer_traits : public __member_pointer_traits_imp::type, is_member_function_pointer<_MP>::value, is_member_object_pointer<_MP>::value> { }; template class result_of; # 2363 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 namespace __is_construct { struct __nat {}; } # 2379 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template typename __select_2nd()...))), true_type>::type __is_constructible_test(_Tp&&, _Args&& ...); template false_type __is_constructible_test(__any, _Args&& ...); template struct __libcpp_is_constructible : public common_type < decltype(__is_constructible_test(declval<_Tp>(), declval<_Args>()...)) >::type {}; template struct __libcpp_is_constructible : public false_type {}; template struct __libcpp_is_constructible : public is_scalar<_Tp> {}; template struct __is_constructible_ref { true_type static __lxx(_Tp); false_type static __lxx(...); }; template struct __libcpp_is_constructible : public common_type < decltype(__is_constructible_ref<_Tp>::__lxx(declval<_A0>())) >::type {}; template struct __libcpp_is_constructible : public false_type {}; template struct __is_constructible_void_check : public __libcpp_is_constructible::value || is_reference<_Tp>::value, _Tp, _Args...> {}; template struct __is_constructible_void_check : public false_type {}; template struct __contains_void; template <> struct __contains_void<> : false_type {}; template struct __contains_void<_A0, _Args...> { static const bool value = is_void<_A0>::value || __contains_void<_Args...>::value; }; template struct __attribute__ ((__visibility__("default"))) is_constructible : public __is_constructible_void_check<__contains_void<_Tp, _Args...>::value || is_abstract<_Tp>::value, _Tp, _Args...> {}; template struct __libcpp_is_constructible : public is_constructible::type> {}; template struct __libcpp_is_constructible : public false_type {}; template struct __libcpp_is_constructible : public false_type {}; # 2674 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_default_constructible : public is_constructible<_Tp> {}; template struct __attribute__ ((__visibility__("default"))) is_copy_constructible : public is_constructible<_Tp, typename add_lvalue_reference::type>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_move_constructible : public is_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_trivially_constructible : integral_constant { }; # 2753 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 # 2826 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_trivially_default_constructible : public is_trivially_constructible<_Tp> {}; template struct __attribute__ ((__visibility__("default"))) is_trivially_copy_constructible : public is_trivially_constructible<_Tp, typename add_lvalue_reference::type> {}; template struct __attribute__ ((__visibility__("default"))) is_trivially_move_constructible : public is_trivially_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> {}; template struct is_trivially_assignable : integral_constant { }; # 2886 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_trivially_copy_assignable : public is_trivially_assignable::type, typename add_lvalue_reference::type>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_trivially_move_assignable : public is_trivially_assignable::type, typename add_rvalue_reference<_Tp>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_trivially_destructible : public integral_constant::value && __has_trivial_destructor(_Tp)> {}; # 2924 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 # 2935 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __libcpp_is_nothrow_constructible; template struct __libcpp_is_nothrow_constructible< true, false, _Tp, _Args...> : public integral_constant()...))> { }; template void __implicit_conversion_to(_Tp) noexcept { } template struct __libcpp_is_nothrow_constructible< true, true, _Tp, _Arg> : public integral_constant(declval<_Arg>()))> { }; template struct __libcpp_is_nothrow_constructible< false, _IsReference, _Tp, _Args...> : public false_type { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_constructible : __libcpp_is_nothrow_constructible::value, is_reference<_Tp>::value, _Tp, _Args...> { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_constructible<_Tp[_Ns]> : __libcpp_is_nothrow_constructible::value, is_reference<_Tp>::value, _Tp> { }; # 3028 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 # 3084 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_nothrow_default_constructible : public is_nothrow_constructible<_Tp> {}; template struct __attribute__ ((__visibility__("default"))) is_nothrow_copy_constructible : public is_nothrow_constructible<_Tp, typename add_lvalue_reference::type>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_nothrow_move_constructible : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> {}; template struct __libcpp_is_nothrow_assignable; template struct __libcpp_is_nothrow_assignable : public false_type { }; template struct __libcpp_is_nothrow_assignable : public integral_constant() = std::__1::declval<_Arg>()) > { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_assignable : public __libcpp_is_nothrow_assignable::value, _Tp, _Arg> { }; # 3174 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_nothrow_copy_assignable : public is_nothrow_assignable::type, typename add_lvalue_reference::type>::type> {}; template struct __attribute__ ((__visibility__("default"))) is_nothrow_move_assignable : public is_nothrow_assignable::type, typename add_rvalue_reference<_Tp>::type> {}; template struct __libcpp_is_nothrow_destructible; template struct __libcpp_is_nothrow_destructible : public false_type { }; template struct __libcpp_is_nothrow_destructible : public integral_constant().~_Tp()) > { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_destructible : public __libcpp_is_nothrow_destructible::value, _Tp> { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_destructible<_Tp[_Ns]> : public is_nothrow_destructible<_Tp> { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_destructible<_Tp&> : public true_type { }; template struct __attribute__ ((__visibility__("default"))) is_nothrow_destructible<_Tp&&> : public true_type { }; # 3252 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_pod : public integral_constant {}; # 3269 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct __attribute__ ((__visibility__("default"))) is_literal_type : integral_constant::type>::value || is_reference::type>::value> {}; template struct __attribute__ ((__visibility__("default"))) is_standard_layout : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) is_trivially_copyable : public integral_constant {}; template struct __attribute__ ((__visibility__("default"))) is_trivial : public integral_constant {}; template struct __check_complete; template <> struct __check_complete<> { }; template struct __check_complete<_Hp, _T0, _Tp...> : private __check_complete<_Hp>, private __check_complete<_T0, _Tp...> { }; template struct __check_complete<_Hp, _Hp> : private __check_complete<_Hp> { }; template struct __check_complete<_Tp> { static_assert(sizeof(_Tp) > 0, "Type must be complete."); }; template struct __check_complete<_Tp&> : private __check_complete<_Tp> { }; template struct __check_complete<_Tp&&> : private __check_complete<_Tp> { }; template struct __check_complete<_Rp (*)(_Param...)> : private __check_complete<_Rp> { }; template struct __check_complete { }; template struct __check_complete<_Rp (_Param...)> : private __check_complete<_Rp> { }; template struct __check_complete { }; template struct __check_complete<_Rp (_Class::*)(_Param...)> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) const> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) volatile> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) const volatile> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) &> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) const&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) volatile&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) const volatile&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) &&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) const&&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) volatile&&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp (_Class::*)(_Param...) const volatile&&> : private __check_complete<_Class> { }; template struct __check_complete<_Rp _Class::*> : private __check_complete<_Class> { }; template auto __invoke(__any, _Args&& ...__args) -> __nat; template ::type>::value && is_base_of::type>::_ClassType>::type, typename remove_reference<_A0>::type>::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) -> decltype((std::__1::forward<_A0>(__a0).*__f)(std::__1::forward<_Args>(__args)...)); template ::type>::value && !is_base_of::type>::_ClassType>::type, typename remove_reference<_A0>::type>::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) -> decltype(((*std::__1::forward<_A0>(__a0)).*__f)(std::__1::forward<_Args>(__args)...)); template ::type>::value && is_base_of::type>::_ClassType, typename remove_reference<_A0>::type>::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0) -> decltype(std::__1::forward<_A0>(__a0).*__f); template ::type>::value && !is_base_of::type>::_ClassType, typename remove_reference<_A0>::type>::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0) -> decltype((*std::__1::forward<_A0>(__a0)).*__f); template __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _Args&& ...__args) -> decltype(std::__1::forward<_Fp>(__f)(std::__1::forward<_Args>(__args)...)); template struct __invokable_imp : private __check_complete<_Fp> { typedef decltype( __invoke(std::__1::declval<_Fp>(), std::__1::declval<_Args>()...) ) type; static const bool value = !is_same::value; }; template struct __invokable : public integral_constant::value> { }; template struct __invoke_of_imp { }; template struct __invoke_of_imp { typedef typename __invokable_imp<_Fp, _Args...>::type type; }; template struct __invoke_of : public __invoke_of_imp<__invokable<_Fp, _Args...>::value, _Fp, _Args...> { }; template class __attribute__ ((__visibility__("default"))) result_of<_Fp(_Args...)> : public __invoke_of<_Fp, _Args...> { }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename enable_if < is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value >::type swap(_Tp& __x, _Tp& __y) noexcept(is_nothrow_move_constructible<_Tp> ::value && is_nothrow_move_assignable<_Tp> ::value) { _Tp __t(std::__1::move(__x)); __x = std::__1::move(__y); __y = std::__1::move(__t); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) noexcept(noexcept(swap(*std::__1::declval<_ForwardIterator1>(), *std::__1::declval<_ForwardIterator2>()))) { swap(*__a, *__b); } namespace __detail { using std::__1::swap; __nat swap(__any, __any); template struct __swappable { typedef decltype(swap(std::__1::declval<_Tp&>(), std::__1::declval<_Tp&>())) type; static const bool value = !is_same::value; }; } template struct __is_swappable : public integral_constant::value> { }; template struct __is_nothrow_swappable_imp : public integral_constant(), std::__1::declval<_Tp&>()))> { }; template struct __is_nothrow_swappable_imp : public false_type { }; template struct __is_nothrow_swappable : public __is_nothrow_swappable_imp<__is_swappable<_Tp>::value, _Tp> { }; # 3666 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template struct underlying_type { typedef __underlying_type(_Tp) type; }; # 3690 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits" 3 template ::value> struct __sfinae_underlying_type { typedef typename underlying_type<_Tp>::type type; typedef decltype(((type)1) + 0) __promoted_type; }; template struct __sfinae_underlying_type<_Tp, false> {}; inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) int __convert_to_integral(int __val) { return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) unsigned __convert_to_integral(unsigned __val) { return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) long __convert_to_integral(long __val) { return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) unsigned long __convert_to_integral(unsigned long __val) { return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) long long __convert_to_integral(long long __val) { return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) unsigned long long __convert_to_integral(unsigned long long __val) {return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) __int128_t __convert_to_integral(__int128_t __val) { return __val; } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) __uint128_t __convert_to_integral(__uint128_t __val) { return __val; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __sfinae_underlying_type<_Tp>::__promoted_type __convert_to_integral(_Tp __val) { return __val; } template struct __has_operator_addressof_member_imp { template static auto __test(int) -> typename __select_2nd().operator&()), true_type>::type; template static auto __test(long) -> false_type; static const bool value = decltype(__test<_Tp>(0))::value; }; template struct __has_operator_addressof_free_imp { template static auto __test(int) -> typename __select_2nd())), true_type>::type; template static auto __test(long) -> false_type; static const bool value = decltype(__test<_Tp>(0))::value; }; template struct __has_operator_addressof : public integral_constant::value || __has_operator_addressof_free_imp<_Tp>::value> {}; } } # 17 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple" 2 3 # 20 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__tuple" 3 namespace std {inline namespace __1 { template class __attribute__ ((__visibility__("default"))) tuple_size; template class __attribute__ ((__visibility__("default"))) tuple_size : public tuple_size<_Tp> {}; template class __attribute__ ((__visibility__("default"))) tuple_size : public tuple_size<_Tp> {}; template class __attribute__ ((__visibility__("default"))) tuple_size : public tuple_size<_Tp> {}; template class __attribute__ ((__visibility__("default"))) tuple_element; template class __attribute__ ((__visibility__("default"))) tuple_element<_Ip, const _Tp> { public: typedef typename add_const::type>::type type; }; template class __attribute__ ((__visibility__("default"))) tuple_element<_Ip, volatile _Tp> { public: typedef typename add_volatile::type>::type type; }; template class __attribute__ ((__visibility__("default"))) tuple_element<_Ip, const volatile _Tp> { public: typedef typename add_cv::type>::type type; }; template struct __tuple_like : false_type {}; template struct __tuple_like : public __tuple_like<_Tp> {}; template struct __tuple_like : public __tuple_like<_Tp> {}; template struct __tuple_like : public __tuple_like<_Tp> {}; template class __attribute__ ((__visibility__("default"))) tuple; template struct __tuple_like > : true_type {}; template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, tuple<_Tp...> >::type& get(tuple<_Tp...>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) const typename tuple_element<_Ip, tuple<_Tp...> >::type& get(const tuple<_Tp...>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(tuple<_Tp...>&&) noexcept; template struct __attribute__ ((__visibility__("default"))) pair; template struct __tuple_like > : true_type {}; template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(pair<_T1, _T2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) const typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(const pair<_T1, _T2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(pair<_T1, _T2>&&) noexcept; template struct __attribute__ ((__visibility__("default"))) array; template struct __tuple_like > : true_type {}; template __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp& get(array<_Tp, _Size>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Tp& get(const array<_Tp, _Size>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp&& get(array<_Tp, _Size>&&) noexcept; template struct __lazy_and_impl; template struct __lazy_and_impl : false_type {}; template <> struct __lazy_and_impl : true_type {}; template struct __lazy_and_impl : integral_constant {}; template struct __lazy_and_impl : __lazy_and_impl<_Hp::type::value, _Tp...> {}; template struct __lazy_and : __lazy_and_impl<_P1::type::value, _Pr...> {}; template struct __lazy_not : integral_constant {}; template struct __tuple_indices {}; template struct __make_indices_imp; template struct __make_indices_imp<_Sp, __tuple_indices<_Indices...>, _Ep> { typedef typename __make_indices_imp<_Sp+1, __tuple_indices<_Indices..., _Sp>, _Ep>::type type; }; template struct __make_indices_imp<_Ep, __tuple_indices<_Indices...>, _Ep> { typedef __tuple_indices<_Indices...> type; }; template struct __make_tuple_indices { static_assert(_Sp <= _Ep, "__make_tuple_indices input error"); typedef typename __make_indices_imp<_Sp, __tuple_indices<>, _Ep>::type type; }; template struct __tuple_types {}; template class __attribute__ ((__visibility__("default"))) tuple_element<_Ip, __tuple_types<> > { public: static_assert(_Ip == 0, "tuple_element index out of range"); static_assert(_Ip != 0, "tuple_element index out of range"); }; template class __attribute__ ((__visibility__("default"))) tuple_element<0, __tuple_types<_Hp, _Tp...> > { public: typedef _Hp type; }; template class __attribute__ ((__visibility__("default"))) tuple_element<_Ip, __tuple_types<_Hp, _Tp...> > { public: typedef typename tuple_element<_Ip-1, __tuple_types<_Tp...> >::type type; }; template class __attribute__ ((__visibility__("default"))) tuple_size<__tuple_types<_Tp...> > : public integral_constant { }; template struct __tuple_like<__tuple_types<_Tp...> > : true_type {}; template struct __make_tuple_types_imp; template struct __make_tuple_types_imp<__tuple_types<_Types...>, _Tp, _Sp, _Ep> { typedef typename remove_reference<_Tp>::type _Tpr; typedef typename __make_tuple_types_imp<__tuple_types<_Types..., typename conditional::value, typename tuple_element<_Sp, _Tpr>::type&, typename tuple_element<_Sp, _Tpr>::type>::type>, _Tp, _Sp+1, _Ep>::type type; }; template struct __make_tuple_types_imp<__tuple_types<_Types...>, _Tp, _Ep, _Ep> { typedef __tuple_types<_Types...> type; }; template ::type>::value, size_t _Sp = 0> struct __make_tuple_types { static_assert(_Sp <= _Ep, "__make_tuple_types input error"); typedef typename __make_tuple_types_imp<__tuple_types<>, _Tp, _Sp, _Ep>::type type; }; template struct __tuple_convertible_imp : public false_type {}; template struct __tuple_convertible_imp<__tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...> > : public integral_constant::value && __tuple_convertible_imp<__tuple_types<_Tp...>, __tuple_types<_Up...> >::value> {}; template <> struct __tuple_convertible_imp<__tuple_types<>, __tuple_types<> > : public true_type {}; template struct __tuple_convertible_apply : public false_type {}; template struct __tuple_convertible_apply : public __tuple_convertible_imp< typename __make_tuple_types<_Tp>::type , typename __make_tuple_types<_Up>::type > {}; template ::type>::value, bool = __tuple_like<_Up>::value> struct __tuple_convertible : public false_type {}; template struct __tuple_convertible<_Tp, _Up, true, true> : public __tuple_convertible_apply::type>::value == tuple_size<_Up>::value, _Tp, _Up> {}; template struct __tuple_constructible_imp : public false_type {}; template struct __tuple_constructible_imp<__tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...> > : public integral_constant::value && __tuple_constructible_imp<__tuple_types<_Tp...>, __tuple_types<_Up...> >::value> {}; template <> struct __tuple_constructible_imp<__tuple_types<>, __tuple_types<> > : public true_type {}; template struct __tuple_constructible_apply : public false_type {}; template struct __tuple_constructible_apply : public __tuple_constructible_imp< typename __make_tuple_types<_Tp>::type , typename __make_tuple_types<_Up>::type > {}; template ::type>::value, bool = __tuple_like<_Up>::value> struct __tuple_constructible : public false_type {}; template struct __tuple_constructible<_Tp, _Up, true, true> : public __tuple_constructible_apply::type>::value == tuple_size<_Up>::value, _Tp, _Up> {}; template struct __tuple_assignable_imp : public false_type {}; template struct __tuple_assignable_imp<__tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...> > : public integral_constant::value && __tuple_assignable_imp<__tuple_types<_Tp...>, __tuple_types<_Up...> >::value> {}; template <> struct __tuple_assignable_imp<__tuple_types<>, __tuple_types<> > : public true_type {}; template struct __tuple_assignable_apply : public false_type {}; template struct __tuple_assignable_apply : __tuple_assignable_imp< typename __make_tuple_types<_Tp>::type , typename __make_tuple_types<_Up>::type > {}; template ::type>::value, bool = __tuple_like<_Up>::value> struct __tuple_assignable : public false_type {}; template struct __tuple_assignable<_Tp, _Up, true, true> : public __tuple_assignable_apply::type>::value == tuple_size<_Up>::value, _Tp, _Up> {}; } } # 105 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/array" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 1 3 # 162 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 namespace std {inline namespace __1 { namespace rel_ops { template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const _Tp& __x, const _Tp& __y) { return !(__x == __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator> (const _Tp& __x, const _Tp& __y) { return __y < __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const _Tp& __x, const _Tp& __y) { return !(__y < __x); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const _Tp& __x, const _Tp& __y) { return !(__x < __y); } } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable<_Tp> ::value); template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { for(; __first1 != __last1; ++__first1, (void) ++__first2) swap(*__first1, *__first2); return __first2; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) noexcept(__is_nothrow_swappable<_Tp> ::value) { std::__1::swap_ranges(__a, __a + _Np, __b); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename conditional < !is_nothrow_move_constructible<_Tp>::value && is_copy_constructible<_Tp>::value, const _Tp&, _Tp&& >::type move_if_noexcept(_Tp& __x) noexcept { return std::__1::move(__x); } struct __attribute__ ((__visibility__("default"))) piecewise_construct_t { }; constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); template struct __attribute__ ((__visibility__("default"))) pair { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr pair() : first(), second() {} __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(const _T1& __x, const _T2& __y) : first(__x), second(__y) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(const pair<_U1, _U2>& __p ,typename enable_if::value && is_convertible::value>::type* = 0 ) : first(__p.first), second(__p.second) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(const pair& __p) = default; # 293 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 __attribute__ ((__visibility__("hidden"), __always_inline__)) pair& operator=(const pair& __p) noexcept(is_nothrow_copy_assignable ::value && is_nothrow_copy_assignable ::value) { first = __p.first; second = __p.second; return *this; } template ::value && is_convertible<_U2, second_type>::value>::type> __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(_U1&& __u1, _U2&& __u2) : first(std::__1::forward<_U1>(__u1)), second(std::__1::forward<_U2>(__u2)) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(pair<_U1, _U2>&& __p, typename enable_if::value && is_convertible<_U2, _T2>::value>::type* = 0) : first(std::__1::forward<_U1>(__p.first)), second(std::__1::forward<_U2>(__p.second)) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(pair&& __p) = default; # 335 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 __attribute__ ((__visibility__("hidden"), __always_inline__)) pair& operator=(pair&& __p) noexcept(is_nothrow_move_assignable ::value && is_nothrow_move_assignable ::value) { first = std::__1::forward(__p.first); second = std::__1::forward(__p.second); return *this; } template::value>::type> __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(_Tuple&& __p) : first(std::__1::forward::type>::type>(std::__1::get<0>(__p))), second(std::__1::forward::type>::type>(std::__1::get<1>(__p))) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args, tuple<_Args2...> __second_args) : pair(__pc, __first_args, __second_args, typename __make_tuple_indices::type(), typename __make_tuple_indices::type()) {} template ::value>::type> __attribute__ ((__visibility__("hidden"), __always_inline__)) pair& operator=(_Tuple&& __p) { typedef typename __make_tuple_types<_Tuple>::type _TupleRef; typedef typename tuple_element<0, _TupleRef>::type _U0; typedef typename tuple_element<1, _TupleRef>::type _U1; first = std::__1::forward<_U0>(std::__1::get<0>(__p)); second = std::__1::forward<_U1>(std::__1::get<1>(__p)); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) void swap(pair& __p) noexcept(__is_nothrow_swappable ::value && __is_nothrow_swappable ::value) { std::__1::iter_swap(&first, &__p.first); std::__1::iter_swap(&second, &__p.second); } private: template __attribute__ ((__visibility__("hidden"), __always_inline__)) pair(piecewise_construct_t, tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args, __tuple_indices<_I1...>, __tuple_indices<_I2...>); }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) { return !(__x == __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator< (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) { return __x.first < __y.first || (!(__y.first < __x.first) && __x.second < __y.second); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator> (const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) { return __y < __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) { return !(__x < __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const pair<_T1,_T2>& __x, const pair<_T1,_T2>& __y) { return !(__y < __x); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename enable_if < __is_swappable<_T1>::value && __is_swappable<_T2>::value, void >::type swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) noexcept((__is_nothrow_swappable<_T1> ::value && __is_nothrow_swappable<_T2> ::value)) { __x.swap(__y); } template class __attribute__ ((__visibility__("default"))) reference_wrapper; template struct __make_pair_return_impl { typedef _Tp type; }; template struct __make_pair_return_impl> { typedef _Tp& type; }; template struct __make_pair_return { typedef typename __make_pair_return_impl::type>::type type; }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) pair::type, typename __make_pair_return<_T2>::type> make_pair(_T1&& __t1, _T2&& __t2) { return pair::type, typename __make_pair_return<_T2>::type> (std::__1::forward<_T1>(__t1), std::__1::forward<_T2>(__t2)); } # 510 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 template class __attribute__ ((__visibility__("default"))) tuple_size > : public integral_constant {}; template class __attribute__ ((__visibility__("default"))) tuple_element<0, pair<_T1, _T2> > { public: typedef _T1 type; }; template class __attribute__ ((__visibility__("default"))) tuple_element<1, pair<_T1, _T2> > { public: typedef _T2 type; }; template struct __get_pair; template <> struct __get_pair<0> { template static __attribute__ ((__visibility__("hidden"), __always_inline__)) _T1& get(pair<_T1, _T2>& __p) noexcept {return __p.first;} template static __attribute__ ((__visibility__("hidden"), __always_inline__)) const _T1& get(const pair<_T1, _T2>& __p) noexcept {return __p.first;} template static __attribute__ ((__visibility__("hidden"), __always_inline__)) _T1&& get(pair<_T1, _T2>&& __p) noexcept {return std::__1::forward<_T1>(__p.first);} }; template <> struct __get_pair<1> { template static __attribute__ ((__visibility__("hidden"), __always_inline__)) _T2& get(pair<_T1, _T2>& __p) noexcept {return __p.second;} template static __attribute__ ((__visibility__("hidden"), __always_inline__)) const _T2& get(const pair<_T1, _T2>& __p) noexcept {return __p.second;} template static __attribute__ ((__visibility__("hidden"), __always_inline__)) _T2&& get(pair<_T1, _T2>&& __p) noexcept {return std::__1::forward<_T2>(__p.second);} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(pair<_T1, _T2>& __p) noexcept { return __get_pair<_Ip>::get(__p); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) const typename tuple_element<_Ip, pair<_T1, _T2> >::type& get(const pair<_T1, _T2>& __p) noexcept { return __get_pair<_Ip>::get(__p); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, pair<_T1, _T2> >::type&& get(pair<_T1, _T2>&& __p) noexcept { return __get_pair<_Ip>::get(std::__1::move(__p)); } # 655 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 # 741 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 # 752 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility" 3 } } # 107 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/array" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/exception" 1 3 # 86 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/exception" 3 namespace std { class __attribute__ ((__visibility__("default"))) exception { public: __attribute__ ((__visibility__("hidden"), __always_inline__)) exception() noexcept {} virtual ~exception() noexcept; virtual const char* what() const noexcept; }; class __attribute__ ((__visibility__("default"))) bad_exception : public exception { public: __attribute__ ((__visibility__("hidden"), __always_inline__)) bad_exception() noexcept {} virtual ~bad_exception() noexcept; virtual const char* what() const noexcept; }; typedef void (*unexpected_handler)(); __attribute__ ((__visibility__("default"))) unexpected_handler set_unexpected(unexpected_handler) noexcept; __attribute__ ((__visibility__("default"))) unexpected_handler get_unexpected() noexcept; [[noreturn]] __attribute__ ((__visibility__("default"))) void unexpected(); typedef void (*terminate_handler)(); __attribute__ ((__visibility__("default"))) terminate_handler set_terminate(terminate_handler) noexcept; __attribute__ ((__visibility__("default"))) terminate_handler get_terminate() noexcept; [[noreturn]] __attribute__ ((__visibility__("default"))) void 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); class __attribute__ ((__visibility__("default"))) exception_ptr { void* __ptr_; public: __attribute__ ((__visibility__("hidden"), __always_inline__)) exception_ptr() noexcept : __ptr_() {} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) explicit operator bool() const noexcept {return __ptr_ != nullptr;} friend __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const exception_ptr& __x, const exception_ptr& __y) noexcept {return __x.__ptr_ == __y.__ptr_;} friend __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 exception_ptr make_exception_ptr(_Ep __e) noexcept { try { throw __e; } catch (...) { return current_exception(); } } class __attribute__ ((__visibility__("default"))) nested_exception { exception_ptr __ptr_; public: nested_exception() noexcept; virtual ~nested_exception() noexcept; [[noreturn]] void rethrow_nested() const; __attribute__ ((__visibility__("hidden"), __always_inline__)) exception_ptr nested_ptr() const noexcept {return __ptr_;} }; template struct __nested : public _Tp, public nested_exception { __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __nested(const _Tp& __t) : _Tp(__t) {} }; template [[noreturn]] void throw_with_nested(_Tp&& __t, typename enable_if< is_class::type>::value && !is_base_of::type>::value && !__libcpp_is_final::type>::value >::type* = 0) { throw __nested::type>(std::__1::forward<_Tp>(__t)); } template [[noreturn]] void throw_with_nested(_Tp&& __t, typename enable_if< !is_class::type>::value || is_base_of::type>::value || __libcpp_is_final::type>::value >::type* = 0) { throw std::__1::forward<_Tp>(__t); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void rethrow_if_nested(const _Ep& __e, typename enable_if< is_polymorphic<_Ep>::value >::type* = 0) { const nested_exception* __nep = dynamic_cast(&__e); if (__nep) __nep->rethrow_nested(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void rethrow_if_nested(const _Ep&, typename enable_if< !is_polymorphic<_Ep>::value >::type* = 0) { } } # 62 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo" 2 3 # 67 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo" 3 namespace std { class __attribute__ ((__visibility__("default"))) type_info { type_info& operator=(const type_info&); type_info(const type_info&); protected: const char* __type_name; __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit type_info(const char* __n) : __type_name(__n) {} public: virtual ~type_info(); __attribute__ ((__visibility__("hidden"), __always_inline__)) const char* name() const noexcept {return __type_name;} __attribute__ ((__visibility__("hidden"), __always_inline__)) bool before(const type_info& __arg) const noexcept {return __type_name < __arg.__type_name;} __attribute__ ((__visibility__("hidden"), __always_inline__)) size_t hash_code() const noexcept {return *reinterpret_cast(&__type_name);} # 125 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo" 3 __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const type_info& __arg) const noexcept {return __type_name == __arg.__type_name;} # 136 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo" 3 __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const type_info& __arg) const noexcept {return !operator==(__arg);} # 146 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo" 3 }; class __attribute__ ((__visibility__("default"))) bad_cast : public exception { public: bad_cast() noexcept; virtual ~bad_cast() noexcept; virtual const char* what() const noexcept; }; class __attribute__ ((__visibility__("default"))) bad_typeid : public exception { public: bad_typeid() noexcept; virtual ~bad_typeid() noexcept; virtual const char* what() const noexcept; }; } # 17 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__undef___deallocate" 1 3 # 74 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new" 2 3 # 77 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new" 3 namespace std { class __attribute__ ((__visibility__("default"))) bad_alloc : public exception { public: bad_alloc() noexcept; virtual ~bad_alloc() noexcept; virtual const char* what() const noexcept; }; class __attribute__ ((__visibility__("default"))) bad_array_new_length : public bad_alloc { public: bad_array_new_length() noexcept; virtual ~bad_array_new_length() noexcept; virtual const char* what() const noexcept; }; # 114 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new" 3 __attribute__ ((__visibility__("default"))) void __throw_bad_alloc(); struct __attribute__ ((__visibility__("default"))) nothrow_t {}; extern __attribute__ ((__visibility__("default"))) const nothrow_t nothrow; typedef void (*new_handler)(); __attribute__ ((__visibility__("default"))) new_handler set_new_handler(new_handler) noexcept; __attribute__ ((__visibility__("default"))) new_handler get_new_handler() noexcept; } __attribute__ ((__visibility__("default"))) void* operator new(std::size_t __sz) ; __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 new[](std::size_t __sz) ; __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; inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void* operator new (std::size_t, void* __p) noexcept {return __p;} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void* operator new[](std::size_t, void* __p) noexcept {return __p;} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void operator delete (void*, void*) noexcept {} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void operator delete[](void*, void*) noexcept {} namespace std {inline namespace __1 { inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void *__allocate(size_t __size) { return ::operator new(__size); } inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __deallocate(void *__ptr) { ::operator delete(__ptr); } } } # 19 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 2 3 # 22 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 namespace std {inline namespace __1 { template struct __attribute__ ((__visibility__("default"))) unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template struct __attribute__ ((__visibility__("default"))) binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; template struct __attribute__ ((__visibility__("default"))) hash; template struct __has_result_type { private: struct __two {char __lx; char __lxx;}; template static __two __test(...); template static char __test(typename _Up::result_type* = 0); public: static const bool value = sizeof(__test<_Tp>(0)) == 1; }; template struct __attribute__ ((__visibility__("default"))) less : binary_function<_Tp, _Tp, bool> { __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator()(const _Tp& __x, const _Tp& __y) const {return __x < __y;} }; # 79 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp* addressof(_Tp& __x) noexcept { return (_Tp*)&reinterpret_cast(__x); } # 129 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 template struct __derives_from_unary_function { private: struct __two {char __lx; char __lxx;}; static __two __test(...); template static unary_function<_Ap, _Rp> __test(const volatile unary_function<_Ap, _Rp>*); public: static const bool value = !is_same::value; typedef decltype(__test((_Tp*)0)) type; }; template struct __derives_from_binary_function { private: struct __two {char __lx; char __lxx;}; static __two __test(...); template static binary_function<_A1, _A2, _Rp> __test(const volatile binary_function<_A1, _A2, _Rp>*); public: static const bool value = !is_same::value; typedef decltype(__test((_Tp*)0)) type; }; template ::value> struct __maybe_derive_from_unary_function : public __derives_from_unary_function<_Tp>::type { }; template struct __maybe_derive_from_unary_function<_Tp, false> { }; template ::value> struct __maybe_derive_from_binary_function : public __derives_from_binary_function<_Tp>::type { }; template struct __maybe_derive_from_binary_function<_Tp, false> { }; template ::value> struct __weak_result_type_imp : public __maybe_derive_from_unary_function<_Tp>, public __maybe_derive_from_binary_function<_Tp> { typedef typename _Tp::result_type result_type; }; template struct __weak_result_type_imp<_Tp, false> : public __maybe_derive_from_unary_function<_Tp>, public __maybe_derive_from_binary_function<_Tp> { }; template struct __weak_result_type : public __weak_result_type_imp<_Tp> { }; template struct __weak_result_type<_Rp ()> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (&)()> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (*)()> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (_A1)> : public unary_function<_A1, _Rp> { }; template struct __weak_result_type<_Rp (&)(_A1)> : public unary_function<_A1, _Rp> { }; template struct __weak_result_type<_Rp (*)(_A1)> : public unary_function<_A1, _Rp> { }; template struct __weak_result_type<_Rp (_Cp::*)()> : public unary_function<_Cp*, _Rp> { }; template struct __weak_result_type<_Rp (_Cp::*)() const> : public unary_function { }; template struct __weak_result_type<_Rp (_Cp::*)() volatile> : public unary_function { }; template struct __weak_result_type<_Rp (_Cp::*)() const volatile> : public unary_function { }; template struct __weak_result_type<_Rp (_A1, _A2)> : public binary_function<_A1, _A2, _Rp> { }; template struct __weak_result_type<_Rp (*)(_A1, _A2)> : public binary_function<_A1, _A2, _Rp> { }; template struct __weak_result_type<_Rp (&)(_A1, _A2)> : public binary_function<_A1, _A2, _Rp> { }; template struct __weak_result_type<_Rp (_Cp::*)(_A1)> : public binary_function<_Cp*, _A1, _Rp> { }; template struct __weak_result_type<_Rp (_Cp::*)(_A1) const> : public binary_function { }; template struct __weak_result_type<_Rp (_Cp::*)(_A1) volatile> : public binary_function { }; template struct __weak_result_type<_Rp (_Cp::*)(_A1) const volatile> : public binary_function { }; template struct __weak_result_type<_Rp (_A1, _A2, _A3, _A4...)> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (&)(_A1, _A2, _A3, _A4...)> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (*)(_A1, _A2, _A3, _A4...)> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...)> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) volatile> { typedef _Rp result_type; }; template struct __weak_result_type<_Rp (_Cp::*)(_A1, _A2, _A3...) const volatile> { typedef _Rp result_type; }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) -> decltype((std::__1::forward<_A0>(__a0).*__f)(std::__1::forward<_Args>(__args)...)) { return (std::__1::forward<_A0>(__a0).*__f)(std::__1::forward<_Args>(__args)...); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args) -> decltype(((*std::__1::forward<_A0>(__a0)).*__f)(std::__1::forward<_Args>(__args)...)) { return ((*std::__1::forward<_A0>(__a0)).*__f)(std::__1::forward<_Args>(__args)...); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0) -> decltype(std::__1::forward<_A0>(__a0).*__f) { return std::__1::forward<_A0>(__a0).*__f; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _A0&& __a0) -> decltype((*std::__1::forward<_A0>(__a0)).*__f) { return (*std::__1::forward<_A0>(__a0)).*__f; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto __invoke(_Fp&& __f, _Args&& ...__args) -> decltype(std::__1::forward<_Fp>(__f)(std::__1::forward<_Args>(__args)...)) { return std::__1::forward<_Fp>(__f)(std::__1::forward<_Args>(__args)...); } template struct __invoke_return { typedef decltype(__invoke(std::__1::declval<_Tp>(), std::__1::declval<_Args>()...)) type; }; template struct __invoke_void_return_wrapper { template static _Ret __call(_Args&&... __args) { return __invoke(std::__1::forward<_Args>(__args)...); } # 460 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 }; template <> struct __invoke_void_return_wrapper { template static void __call(_Args&&... __args) { __invoke(std::__1::forward<_Args>(__args)...); } # 491 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 }; template class __attribute__ ((__visibility__("default"))) reference_wrapper : public __weak_result_type<_Tp> { public: typedef _Tp type; private: type* __f_; public: __attribute__ ((__visibility__("hidden"), __always_inline__)) reference_wrapper(type& __f) noexcept : __f_(std::__1::addressof(__f)) {} private: reference_wrapper(type&&); public: __attribute__ ((__visibility__("hidden"), __always_inline__)) operator type& () const noexcept {return *__f_;} __attribute__ ((__visibility__("hidden"), __always_inline__)) type& get() const noexcept {return *__f_;} template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __invoke_of::type operator() (_ArgTypes&&... __args) const { return __invoke(get(), std::__1::forward<_ArgTypes>(__args)...); } # 557 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 }; template struct __is_reference_wrapper_impl : public false_type {}; template struct __is_reference_wrapper_impl > : public true_type {}; template struct __is_reference_wrapper : public __is_reference_wrapper_impl::type> {}; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) reference_wrapper<_Tp> ref(_Tp& __t) noexcept { return reference_wrapper<_Tp>(__t); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) reference_wrapper<_Tp> ref(reference_wrapper<_Tp> __t) noexcept { return ref(__t.get()); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) reference_wrapper cref(const _Tp& __t) noexcept { return reference_wrapper(__t); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) reference_wrapper cref(reference_wrapper<_Tp> __t) noexcept { return cref(__t.get()); } template void ref(const _Tp&&) = delete; template void cref(const _Tp&&) = delete; # 609 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 # 626 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__functional_base" 3 struct __attribute__ ((__visibility__("default"))) allocator_arg_t { }; constexpr allocator_arg_t allocator_arg = allocator_arg_t(); template struct __has_allocator_type { private: struct __two {char __lx; char __lxx;}; template static __two __test(...); template static char __test(typename _Up::allocator_type* = 0); public: static const bool value = sizeof(__test<_Tp>(0)) == 1; }; template ::value> struct __uses_allocator : public integral_constant::value> { }; template struct __uses_allocator<_Tp, _Alloc, false> : public false_type { }; template struct __attribute__ ((__visibility__("default"))) uses_allocator : public __uses_allocator<_Tp, _Alloc> { }; template struct __uses_alloc_ctor_imp { static const bool __ua = uses_allocator<_Tp, _Alloc>::value; static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value; static const int value = __ua ? 2 - __ic : 0; }; template struct __uses_alloc_ctor : integral_constant::value> {}; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __user_alloc_construct_impl (integral_constant, _Tp *__storage, const _Allocator &, _Args &&... __args ) { new (__storage) _Tp (std::__1::forward<_Args>(__args)...); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __user_alloc_construct_impl (integral_constant, _Tp *__storage, const _Allocator &__a, _Args &&... __args ) { new (__storage) _Tp (allocator_arg, __a, std::__1::forward<_Args>(__args)...); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __user_alloc_construct_impl (integral_constant, _Tp *__storage, const _Allocator &__a, _Args &&... __args ) { new (__storage) _Tp (std::__1::forward<_Args>(__args)..., __a); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __user_alloc_construct (_Tp *__storage, const _Allocator &__a, _Args &&... __args) { __user_alloc_construct_impl( __uses_alloc_ctor<_Tp, _Allocator>(), __storage, __a, std::__1::forward<_Args>(__args)... ); } } } # 344 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iosfwd" 1 3 # 1 "/usr/include/wchar.h" 1 3 # 1 "/usr/include/sys/_types/_mbstate_t.h" 1 3 typedef __darwin_mbstate_t mbstate_t; # 77 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/sys/_types/_ct_rune_t.h" 1 3 typedef __darwin_ct_rune_t ct_rune_t; # 78 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/sys/_types/_rune_t.h" 1 3 typedef __darwin_rune_t rune_t; # 79 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/sys/_types/_wchar_t.h" 1 3 # 80 "/usr/include/wchar.h" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/include/stdarg.h" 1 3 typedef __builtin_va_list va_list; typedef __builtin_va_list __gnuc_va_list; # 90 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/time.h" 1 3 # 1 "/usr/include/sys/_types/_clock_t.h" 1 3 typedef __darwin_clock_t clock_t; # 68 "/usr/include/time.h" 2 3 # 1 "/usr/include/sys/_types/_time_t.h" 1 3 typedef __darwin_time_t time_t; # 71 "/usr/include/time.h" 2 3 # 1 "/usr/include/sys/_types/_timespec.h" 1 3 struct timespec { __darwin_time_t tv_sec; long tv_nsec; }; # 72 "/usr/include/time.h" 2 3 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 tm_gmtoff; char *tm_zone; }; # 94 "/usr/include/time.h" 3 extern char *tzname[]; extern int getdate_err; extern long timezone __asm("_" "timezone" ); extern int daylight; extern "C" { char *asctime(const struct tm *); clock_t clock(void) __asm("_" "clock" ); char *ctime(const time_t *); double difftime(time_t, time_t); struct tm *getdate(const char *); struct tm *gmtime(const time_t *); struct tm *localtime(const time_t *); time_t mktime(struct tm *) __asm("_" "mktime" ); size_t strftime(char * , size_t, const char * , const struct tm * ) __asm("_" "strftime" ); char *strptime(const char * , const char * , struct tm * ) __asm("_" "strptime" ); time_t time(time_t *); void tzset(void); char *asctime_r(const struct tm * , char * ); char *ctime_r(const time_t *, char *); struct tm *gmtime_r(const time_t * , struct tm * ); struct tm *localtime_r(const time_t * , struct tm * ); time_t posix2time(time_t); void tzsetwall(void); time_t time2posix(time_t); time_t timelocal(struct tm * const); time_t timegm(struct tm * const); int nanosleep(const struct timespec *, struct timespec *) __asm("_" "nanosleep" ); } # 92 "/usr/include/wchar.h" 2 3 # 1 "/usr/include/_wctype.h" 1 3 # 1 "/usr/include/sys/_types/_wint_t.h" 1 3 typedef __darwin_wint_t wint_t; # 46 "/usr/include/_wctype.h" 2 3 # 1 "/usr/include/_types/_wctype_t.h" 1 3 typedef __darwin_wctype_t wctype_t; # 48 "/usr/include/_wctype.h" 2 3 # 1 "/usr/include/ctype.h" 1 3 # 1 "/usr/include/runetype.h" 1 3 typedef struct { __darwin_rune_t __min; __darwin_rune_t __max; __darwin_rune_t __map; __uint32_t *__types; } _RuneEntry; typedef struct { int __nranges; _RuneEntry *__ranges; } _RuneRange; typedef struct { char __name[14]; __uint32_t __mask; } _RuneCharClass; typedef struct { char __magic[8]; char __encoding[32]; __darwin_rune_t (*__sgetrune)(const char *, __darwin_size_t, char const **); int (*__sputrune)(__darwin_rune_t, char *, __darwin_size_t, char **); __darwin_rune_t __invalid_rune; __uint32_t __runetype[(1 <<8 )]; __darwin_rune_t __maplower[(1 <<8 )]; __darwin_rune_t __mapupper[(1 <<8 )]; _RuneRange __runetype_ext; _RuneRange __maplower_ext; _RuneRange __mapupper_ext; void *__variable; int __variable_len; int __ncharclasses; _RuneCharClass *__charclasses; } _RuneLocale; extern "C" { extern _RuneLocale _DefaultRuneLocale; extern _RuneLocale *_CurrentRuneLocale; } # 71 "/usr/include/ctype.h" 2 3 # 92 "/usr/include/ctype.h" 3 # 116 "/usr/include/ctype.h" 3 extern "C" { unsigned long ___runetype(__darwin_ct_rune_t); __darwin_ct_rune_t ___tolower(__darwin_ct_rune_t); __darwin_ct_rune_t ___toupper(__darwin_ct_rune_t); } inline int isascii(int _c) { return ((_c & ~0x7F) == 0); } # 147 "/usr/include/ctype.h" 3 extern "C" { int __maskrune(__darwin_ct_rune_t, unsigned long); } inline int __istype(__darwin_ct_rune_t _c, unsigned long _f) { return (isascii(_c) ? !!(_DefaultRuneLocale.__runetype[_c] & _f) : !!__maskrune(_c, _f)); } inline __darwin_ct_rune_t __isctype(__darwin_ct_rune_t _c, unsigned long _f) { return (_c < 0 || _c >= (1 <<8 )) ? 0 : !!(_DefaultRuneLocale.__runetype[_c] & _f); } # 187 "/usr/include/ctype.h" 3 extern "C" { __darwin_ct_rune_t __toupper(__darwin_ct_rune_t); __darwin_ct_rune_t __tolower(__darwin_ct_rune_t); } inline int __wcwidth(__darwin_ct_rune_t _c) { unsigned int _x; if (_c == 0) return (0); _x = (unsigned int)__maskrune(_c, 0xe0000000L|0x00040000L); if ((_x & 0xe0000000L) != 0) return ((_x & 0xe0000000L) >> 30); return ((_x & 0x00040000L) != 0 ? 1 : -1); } inline int isalnum(int _c) { return (__istype(_c, 0x00000100L|0x00000400L)); } inline int isalpha(int _c) { return (__istype(_c, 0x00000100L)); } inline int isblank(int _c) { return (__istype(_c, 0x00020000L)); } inline int iscntrl(int _c) { return (__istype(_c, 0x00000200L)); } inline int isdigit(int _c) { return (__isctype(_c, 0x00000400L)); } inline int isgraph(int _c) { return (__istype(_c, 0x00000800L)); } inline int islower(int _c) { return (__istype(_c, 0x00001000L)); } inline int isprint(int _c) { return (__istype(_c, 0x00040000L)); } inline int ispunct(int _c) { return (__istype(_c, 0x00002000L)); } inline int isspace(int _c) { return (__istype(_c, 0x00004000L)); } inline int isupper(int _c) { return (__istype(_c, 0x00008000L)); } inline int isxdigit(int _c) { return (__isctype(_c, 0x00010000L)); } inline int toascii(int _c) { return (_c & 0x7F); } inline int tolower(int _c) { return (__tolower(_c)); } inline int toupper(int _c) { return (__toupper(_c)); } inline int digittoint(int _c) { return (__maskrune(_c, 0x0F)); } inline int ishexnumber(int _c) { return (__istype(_c, 0x00010000L)); } inline int isideogram(int _c) { return (__istype(_c, 0x00080000L)); } inline int isnumber(int _c) { return (__istype(_c, 0x00000400L)); } inline int isphonogram(int _c) { return (__istype(_c, 0x00200000L)); } inline int isrune(int _c) { return (__istype(_c, 0xFFFFFFF0L)); } inline int isspecial(int _c) { return (__istype(_c, 0x00100000L)); } # 382 "/usr/include/ctype.h" 3 # 58 "/usr/include/_wctype.h" 2 3 inline int iswalnum(wint_t _wc) { return (__istype(_wc, 0x00000100L|0x00000400L)); } inline int iswalpha(wint_t _wc) { return (__istype(_wc, 0x00000100L)); } inline int iswcntrl(wint_t _wc) { return (__istype(_wc, 0x00000200L)); } inline int iswctype(wint_t _wc, wctype_t _charclass) { return (__istype(_wc, _charclass)); } inline int iswdigit(wint_t _wc) { return (__isctype(_wc, 0x00000400L)); } inline int iswgraph(wint_t _wc) { return (__istype(_wc, 0x00000800L)); } inline int iswlower(wint_t _wc) { return (__istype(_wc, 0x00001000L)); } inline int iswprint(wint_t _wc) { return (__istype(_wc, 0x00040000L)); } inline int iswpunct(wint_t _wc) { return (__istype(_wc, 0x00002000L)); } inline int iswspace(wint_t _wc) { return (__istype(_wc, 0x00004000L)); } inline int iswupper(wint_t _wc) { return (__istype(_wc, 0x00008000L)); } inline int iswxdigit(wint_t _wc) { return (__isctype(_wc, 0x00010000L)); } inline wint_t towlower(wint_t _wc) { return (__tolower(_wc)); } inline wint_t towupper(wint_t _wc) { return (__toupper(_wc)); } # 169 "/usr/include/_wctype.h" 3 extern "C" { wctype_t wctype(const char *); } # 93 "/usr/include/wchar.h" 2 3 extern "C" { wint_t btowc(int); wint_t fgetwc(FILE *); wchar_t *fgetws(wchar_t * , int, FILE * ); wint_t fputwc(wchar_t, FILE *); int fputws(const wchar_t * , FILE * ); int fwide(FILE *, int); int fwprintf(FILE * , const wchar_t * , ...); int fwscanf(FILE * , const wchar_t * , ...); wint_t getwc(FILE *); wint_t getwchar(void); size_t mbrlen(const char * , size_t, mbstate_t * ); size_t mbrtowc(wchar_t * , const char * , size_t, mbstate_t * ); int mbsinit(const mbstate_t *); size_t mbsrtowcs(wchar_t * , const char ** , size_t, mbstate_t * ); wint_t putwc(wchar_t, FILE *); wint_t putwchar(wchar_t); int swprintf(wchar_t * , size_t, const wchar_t * , ...); int swscanf(const wchar_t * , const wchar_t * , ...); wint_t ungetwc(wint_t, FILE *); int vfwprintf(FILE * , const wchar_t * , __darwin_va_list); int vswprintf(wchar_t * , size_t, const wchar_t * , __darwin_va_list); int vwprintf(const wchar_t * , __darwin_va_list); size_t wcrtomb(char * , wchar_t, mbstate_t * ); wchar_t *wcscat(wchar_t * , const wchar_t * ); wchar_t *wcschr(const wchar_t *, wchar_t); int wcscmp(const wchar_t *, const wchar_t *); int wcscoll(const wchar_t *, const wchar_t *); wchar_t *wcscpy(wchar_t * , const wchar_t * ); size_t wcscspn(const wchar_t *, const wchar_t *); size_t wcsftime(wchar_t * , size_t, const wchar_t * , const struct tm * ) __asm("_" "wcsftime" ); size_t wcslen(const wchar_t *); wchar_t *wcsncat(wchar_t * , const wchar_t * , size_t); int wcsncmp(const wchar_t *, const wchar_t *, size_t); wchar_t *wcsncpy(wchar_t * , const wchar_t * , size_t); wchar_t *wcspbrk(const wchar_t *, const wchar_t *); wchar_t *wcsrchr(const wchar_t *, wchar_t); size_t wcsrtombs(char * , const wchar_t ** , size_t, mbstate_t * ); size_t wcsspn(const wchar_t *, const wchar_t *); wchar_t *wcsstr(const wchar_t * , const wchar_t * ); size_t wcsxfrm(wchar_t * , const wchar_t * , size_t); int wctob(wint_t); double wcstod(const wchar_t * , wchar_t ** ); wchar_t *wcstok(wchar_t * , const wchar_t * , wchar_t ** ); long wcstol(const wchar_t * , wchar_t ** , int); unsigned long wcstoul(const wchar_t * , wchar_t ** , int); wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); int wmemcmp(const wchar_t *, const wchar_t *, size_t); wchar_t *wmemcpy(wchar_t * , const wchar_t * , size_t); wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); wchar_t *wmemset(wchar_t *, wchar_t, size_t); int wprintf(const wchar_t * , ...); int wscanf(const wchar_t * , ...); int wcswidth(const wchar_t *, size_t); int wcwidth(wchar_t); } extern "C" { int vfwscanf(FILE * , const wchar_t * , __darwin_va_list); int vswscanf(const wchar_t * , const wchar_t * , __darwin_va_list); int vwscanf(const wchar_t * , __darwin_va_list); float wcstof(const wchar_t * , wchar_t ** ); long double wcstold(const wchar_t * , wchar_t ** ); long long wcstoll(const wchar_t * , wchar_t ** , int); unsigned long long wcstoull(const wchar_t * , wchar_t ** , int); } extern "C" { size_t mbsnrtowcs(wchar_t * , const char ** , size_t, size_t, mbstate_t * ); wchar_t *wcpcpy(wchar_t * , const wchar_t * ) ; wchar_t *wcpncpy(wchar_t * , const wchar_t * , size_t) ; wchar_t *wcsdup(const wchar_t *) ; int wcscasecmp(const wchar_t *, const wchar_t *) ; int wcsncasecmp(const wchar_t *, const wchar_t *, size_t n) ; size_t wcsnlen(const wchar_t *, size_t) ; size_t wcsnrtombs(char * , const wchar_t ** , size_t, size_t, mbstate_t * ); } extern "C" { wchar_t *fgetwln(FILE * , size_t *) ; size_t wcslcat(wchar_t *, const wchar_t *, size_t); size_t wcslcpy(wchar_t *, const wchar_t *, size_t); } # 91 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iosfwd" 2 3 # 94 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iosfwd" 3 namespace std {inline namespace __1 { class __attribute__ ((__visibility__("default"))) ios_base; template struct __attribute__ ((__visibility__("default"))) char_traits; template class __attribute__ ((__visibility__("default"))) allocator; template > class __attribute__ ((__visibility__("default"))) basic_ios; template > class __attribute__ ((__visibility__("default"))) basic_streambuf; template > class __attribute__ ((__visibility__("default"))) basic_istream; template > class __attribute__ ((__visibility__("default"))) basic_ostream; template > class __attribute__ ((__visibility__("default"))) basic_iostream; template , class _Allocator = allocator<_CharT> > class __attribute__ ((__visibility__("default"))) basic_stringbuf; template , class _Allocator = allocator<_CharT> > class __attribute__ ((__visibility__("default"))) basic_istringstream; template , class _Allocator = allocator<_CharT> > class __attribute__ ((__visibility__("default"))) basic_ostringstream; template , class _Allocator = allocator<_CharT> > class __attribute__ ((__visibility__("default"))) basic_stringstream; template > class __attribute__ ((__visibility__("default"))) basic_filebuf; template > class __attribute__ ((__visibility__("default"))) basic_ifstream; template > class __attribute__ ((__visibility__("default"))) basic_ofstream; template > class __attribute__ ((__visibility__("default"))) basic_fstream; template > class __attribute__ ((__visibility__("default"))) istreambuf_iterator; template > class __attribute__ ((__visibility__("default"))) ostreambuf_iterator; typedef basic_ios ios; typedef basic_ios wios; typedef basic_streambuf streambuf; typedef basic_istream istream; typedef basic_ostream ostream; typedef basic_iostream iostream; typedef basic_stringbuf stringbuf; typedef basic_istringstream istringstream; typedef basic_ostringstream ostringstream; typedef basic_stringstream stringstream; typedef basic_filebuf filebuf; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; typedef basic_fstream fstream; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; typedef basic_ostream wostream; typedef basic_iostream wiostream; typedef basic_stringbuf wstringbuf; typedef basic_istringstream wistringstream; typedef basic_ostringstream wostringstream; typedef basic_stringstream wstringstream; typedef basic_filebuf wfilebuf; typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; template class __attribute__ ((__visibility__("default"))) fpos; typedef fpos streampos; typedef fpos wstreampos; typedef fpos u16streampos; typedef fpos u32streampos; typedef long long streamoff; template , class _Allocator = allocator<_CharT> > class __attribute__ ((__visibility__("default"))) basic_string; typedef basic_string, allocator > string; typedef basic_string, allocator > wstring; } } # 347 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/initializer_list" 1 3 # 51 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/initializer_list" 3 namespace std { template class __attribute__ ((__visibility__("default"))) initializer_list { const _Ep* __begin_; size_t __size_; __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) initializer_list() noexcept : __begin_(nullptr), __size_(0) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) size_t size() const noexcept {return __size_;} __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Ep* begin() const noexcept {return __begin_;} __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Ep* end() const noexcept {return __begin_ + __size_;} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Ep* begin(initializer_list<_Ep> __il) noexcept { return __il.begin(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Ep* end(initializer_list<_Ep> __il) noexcept { return __il.end(); } } # 348 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__debug" 1 3 # 18 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__debug" 3 # 28 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__debug" 3 # 220 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__debug" 3 # 353 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 2 3 # 356 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 namespace std {inline namespace __1 { struct __attribute__ ((__visibility__("default"))) input_iterator_tag {}; struct __attribute__ ((__visibility__("default"))) output_iterator_tag {}; struct __attribute__ ((__visibility__("default"))) forward_iterator_tag : public input_iterator_tag {}; struct __attribute__ ((__visibility__("default"))) bidirectional_iterator_tag : public forward_iterator_tag {}; struct __attribute__ ((__visibility__("default"))) random_access_iterator_tag : public bidirectional_iterator_tag {}; template struct __has_iterator_category { private: struct __two {char __lx; char __lxx;}; template static __two __test(...); template static char __test(typename _Up::iterator_category* = 0); public: static const bool value = sizeof(__test<_Tp>(0)) == 1; }; template struct __iterator_traits_impl {}; template 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 struct __iterator_traits {}; template struct __iterator_traits<_Iter, true> : __iterator_traits_impl < _Iter, is_convertible::value || is_convertible::value > {}; template struct __attribute__ ((__visibility__("default"))) iterator_traits : __iterator_traits<_Iter, __has_iterator_category<_Iter>::value> {}; template struct __attribute__ ((__visibility__("default"))) iterator_traits<_Tp*> { typedef ptrdiff_t difference_type; typedef typename remove_const<_Tp>::type value_type; typedef _Tp* pointer; typedef _Tp& reference; typedef random_access_iterator_tag iterator_category; }; template >::value> struct __has_iterator_category_convertible_to : public integral_constant::iterator_category, _Up>::value> {}; template struct __has_iterator_category_convertible_to<_Tp, _Up, false> : public false_type {}; template struct __is_input_iterator : public __has_iterator_category_convertible_to<_Tp, input_iterator_tag> {}; template struct __is_forward_iterator : public __has_iterator_category_convertible_to<_Tp, forward_iterator_tag> {}; template struct __is_bidirectional_iterator : public __has_iterator_category_convertible_to<_Tp, bidirectional_iterator_tag> {}; template struct __is_random_access_iterator : public __has_iterator_category_convertible_to<_Tp, random_access_iterator_tag> {}; template struct __attribute__ ((__visibility__("default"))) iterator { typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; typedef _Category iterator_category; }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __advance(_InputIter& __i, typename iterator_traits<_InputIter>::difference_type __n, input_iterator_tag) { for (; __n > 0; --__n) ++__i; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void __advance(_RandIter& __i, typename iterator_traits<_RandIter>::difference_type __n, random_access_iterator_tag) { __i += __n; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void advance(_InputIter& __i, typename iterator_traits<_InputIter>::difference_type __n) { __advance(__i, __n, typename iterator_traits<_InputIter>::iterator_category()); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename iterator_traits<_RandIter>::difference_type __distance(_RandIter __first, _RandIter __last, random_access_iterator_tag) { return __last - __first; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename iterator_traits<_InputIter>::difference_type distance(_InputIter __first, _InputIter __last) { return __distance(__first, __last, typename iterator_traits<_InputIter>::iterator_category()); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _ForwardIter next(_ForwardIter __x, typename iterator_traits<_ForwardIter>::difference_type __n = 1, typename enable_if<__is_forward_iterator<_ForwardIter>::value>::type* = 0) { std::__1::advance(__x, __n); return __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _BidiretionalIter prev(_BidiretionalIter __x, typename iterator_traits<_BidiretionalIter>::difference_type __n = 1, typename enable_if<__is_bidirectional_iterator<_BidiretionalIter>::value>::type* = 0) { std::__1::advance(__x, -__n); return __x; } template class __attribute__ ((__visibility__("default"))) reverse_iterator : public iterator::iterator_category, typename iterator_traits<_Iter>::value_type, typename iterator_traits<_Iter>::difference_type, typename iterator_traits<_Iter>::pointer, typename iterator_traits<_Iter>::reference> { private: mutable _Iter __t; protected: _Iter current; public: typedef _Iter iterator_type; typedef typename iterator_traits<_Iter>::difference_type difference_type; typedef typename iterator_traits<_Iter>::reference reference; typedef typename iterator_traits<_Iter>::pointer pointer; __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator() : current() {} __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator(const reverse_iterator<_Up>& __u) : __t(__u.base()), current(__u.base()) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) _Iter base() const {return current;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reference operator*() const {_Iter __tmp = current; return *--__tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) pointer operator->() const {return std::__1::addressof(operator*());} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator& operator++() {--current; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator operator++(int) {reverse_iterator __tmp(*this); --current; return __tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator& operator--() {++current; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator operator--(int) {reverse_iterator __tmp(*this); ++current; return __tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator operator+ (difference_type __n) const {return reverse_iterator(current - __n);} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator& operator+=(difference_type __n) {current -= __n; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator operator- (difference_type __n) const {return reverse_iterator(current + __n);} __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator& operator-=(difference_type __n) {current += __n; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reference operator[](difference_type __n) const {return *(*this + __n);} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() == __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() > __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() != __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() < __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() <= __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __x.base() >= __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename reverse_iterator<_Iter1>::difference_type operator-(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_Iter2>& __y) { return __y.base() - __x.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) reverse_iterator<_Iter> operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) { return reverse_iterator<_Iter>(__x.base() - __n); } # 653 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 template class __attribute__ ((__visibility__("default"))) back_insert_iterator : public iterator&> { protected: _Container* container; public: typedef _Container container_type; __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit back_insert_iterator(_Container& __x) : container(std::__1::addressof(__x)) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) back_insert_iterator& operator=(const typename _Container::value_type& __value_) {container->push_back(__value_); return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) back_insert_iterator& operator=(typename _Container::value_type&& __value_) {container->push_back(std::__1::move(__value_)); return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) back_insert_iterator& operator*() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) back_insert_iterator& operator++() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) back_insert_iterator operator++(int) {return *this;} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } template class __attribute__ ((__visibility__("default"))) front_insert_iterator : public iterator&> { protected: _Container* container; public: typedef _Container container_type; __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit front_insert_iterator(_Container& __x) : container(std::__1::addressof(__x)) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) front_insert_iterator& operator=(const typename _Container::value_type& __value_) {container->push_front(__value_); return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) front_insert_iterator& operator=(typename _Container::value_type&& __value_) {container->push_front(std::__1::move(__value_)); return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) front_insert_iterator& operator*() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) front_insert_iterator& operator++() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) front_insert_iterator operator++(int) {return *this;} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } template class __attribute__ ((__visibility__("default"))) insert_iterator : public iterator&> { protected: _Container* container; typename _Container::iterator iter; public: typedef _Container container_type; __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator(_Container& __x, typename _Container::iterator __i) : container(std::__1::addressof(__x)), iter(__i) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator& operator=(const typename _Container::value_type& __value_) {iter = container->insert(iter, __value_); ++iter; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator& operator=(typename _Container::value_type&& __value_) {iter = container->insert(iter, std::__1::move(__value_)); ++iter; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator& operator*() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator& operator++() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator& operator++(int) {return *this;} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) insert_iterator<_Container> inserter(_Container& __x, typename _Container::iterator __i) { return insert_iterator<_Container>(__x, __i); } template , class _Distance = ptrdiff_t> class __attribute__ ((__visibility__("default"))) istream_iterator : public iterator { public: 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"), __always_inline__)) constexpr istream_iterator() : __in_stream_(0), __value_() {} __attribute__ ((__visibility__("hidden"), __always_inline__)) istream_iterator(istream_type& __s) : __in_stream_(&__s) { if (!(*__in_stream_ >> __value_)) __in_stream_ = 0; } __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Tp& operator*() const {return __value_;} __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Tp* operator->() const {return &(operator*());} __attribute__ ((__visibility__("hidden"), __always_inline__)) istream_iterator& operator++() { if (!(*__in_stream_ >> __value_)) __in_stream_ = 0; return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) istream_iterator operator++(int) {istream_iterator __t(*this); ++(*this); return __t;} friend __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const istream_iterator& __x, const istream_iterator& __y) {return __x.__in_stream_ == __y.__in_stream_;} friend __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const istream_iterator& __x, const istream_iterator& __y) {return !(__x == __y);} }; template > class __attribute__ ((__visibility__("default"))) ostream_iterator : public iterator { public: 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"), __always_inline__)) ostream_iterator(ostream_type& __s) : __out_stream_(&__s), __delim_(0) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostream_iterator(ostream_type& __s, const _CharT* __delimiter) : __out_stream_(&__s), __delim_(__delimiter) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostream_iterator& operator=(const _Tp& __value_) { *__out_stream_ << __value_; if (__delim_) *__out_stream_ << __delim_; return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) ostream_iterator& operator*() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostream_iterator& operator++() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostream_iterator& operator++(int) {return *this;} }; template class __attribute__ ((__visibility__("default"))) istreambuf_iterator : public iterator { public: 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"), __always_inline__)) __proxy(char_type __c, streambuf_type* __s) : __keep_(__c), __sbuf_(__s) {} friend class istreambuf_iterator; public: __attribute__ ((__visibility__("hidden"), __always_inline__)) char_type operator*() const {return __keep_;} }; __attribute__ ((__visibility__("hidden"), __always_inline__)) bool __test_for_eof() const { if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sgetc(), traits_type::eof())) __sbuf_ = 0; return __sbuf_ == 0; } public: __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr istreambuf_iterator() noexcept : __sbuf_(0) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) istreambuf_iterator(istream_type& __s) noexcept : __sbuf_(__s.rdbuf()) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) istreambuf_iterator(streambuf_type* __s) noexcept : __sbuf_(__s) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) istreambuf_iterator(const __proxy& __p) noexcept : __sbuf_(__p.__sbuf_) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) char_type operator*() const {return static_cast(__sbuf_->sgetc());} __attribute__ ((__visibility__("hidden"), __always_inline__)) char_type* operator->() const {return nullptr;} __attribute__ ((__visibility__("hidden"), __always_inline__)) istreambuf_iterator& operator++() { __sbuf_->sbumpc(); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) __proxy operator++(int) { return __proxy(__sbuf_->sbumpc(), __sbuf_); } __attribute__ ((__visibility__("hidden"), __always_inline__)) bool equal(const istreambuf_iterator& __b) const {return __test_for_eof() == __b.__test_for_eof();} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const istreambuf_iterator<_CharT,_Traits>& __a, const istreambuf_iterator<_CharT,_Traits>& __b) {return __a.equal(__b);} template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const istreambuf_iterator<_CharT,_Traits>& __a, const istreambuf_iterator<_CharT,_Traits>& __b) {return !__a.equal(__b);} template class __attribute__ ((__visibility__("default"))) ostreambuf_iterator : public iterator { public: 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"), __always_inline__)) ostreambuf_iterator(ostream_type& __s) noexcept : __sbuf_(__s.rdbuf()) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostreambuf_iterator(streambuf_type* __s) noexcept : __sbuf_(__s) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostreambuf_iterator& operator=(_CharT __c) { if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sputc(__c), traits_type::eof())) __sbuf_ = 0; return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) ostreambuf_iterator& operator*() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostreambuf_iterator& operator++() {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) ostreambuf_iterator& operator++(int) {return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) bool failed() const noexcept {return __sbuf_ == 0;} template friend __attribute__ ((__visibility__("hidden"))) 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); }; template class __attribute__ ((__visibility__("default"))) move_iterator { private: _Iter __i; public: typedef _Iter iterator_type; typedef typename iterator_traits::iterator_category iterator_category; typedef typename iterator_traits::value_type value_type; typedef typename iterator_traits::difference_type difference_type; typedef typename iterator_traits::pointer pointer; typedef value_type&& reference; __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator() : __i() {} __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit move_iterator(_Iter __x) : __i(__x) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator(const move_iterator<_Up>& __u) : __i(__u.base()) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) _Iter base() const {return __i;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reference operator*() const { return static_cast(*__i); } __attribute__ ((__visibility__("hidden"), __always_inline__)) pointer operator->() const { typename iterator_traits::reference __ref = *__i; return &__ref; } __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator& operator++() {++__i; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator operator++(int) {move_iterator __tmp(*this); ++__i; return __tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator& operator--() {--__i; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator operator--(int) {move_iterator __tmp(*this); --__i; return __tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator operator+ (difference_type __n) const {return move_iterator(__i + __n);} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator& operator+=(difference_type __n) {__i += __n; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator operator- (difference_type __n) const {return move_iterator(__i - __n);} __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator& operator-=(difference_type __n) {__i -= __n; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reference operator[](difference_type __n) const { return static_cast(__i[__n]); } }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() == __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() < __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() != __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() > __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() >= __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() <= __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename move_iterator<_Iter1>::difference_type operator-(const move_iterator<_Iter1>& __x, const move_iterator<_Iter2>& __y) { return __x.base() - __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator<_Iter> operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x) { return move_iterator<_Iter>(__x.base() + __n); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) move_iterator<_Iter> make_move_iterator(_Iter __i) { return move_iterator<_Iter>(__i); } template class __wrap_iter; template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __wrap_iter<_Iter1>::difference_type operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter<_Iter> operator+(typename __wrap_iter<_Iter>::difference_type, __wrap_iter<_Iter>) noexcept; template _Op __attribute__ ((__visibility__("hidden"), __always_inline__)) copy(_Ip, _Ip, _Op); template _B2 __attribute__ ((__visibility__("hidden"), __always_inline__)) copy_backward(_B1, _B1, _B2); template _Op __attribute__ ((__visibility__("hidden"), __always_inline__)) move(_Ip, _Ip, _Op); template _B2 __attribute__ ((__visibility__("hidden"), __always_inline__)) move_backward(_B1, _B1, _B2); template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename enable_if < is_trivially_copy_assignable<_Tp>::value, _Tp* >::type __unwrap_iter(__wrap_iter<_Tp*>); template class __wrap_iter { public: typedef _Iter iterator_type; typedef typename iterator_traits::iterator_category iterator_category; typedef typename iterator_traits::value_type value_type; typedef typename iterator_traits::difference_type difference_type; typedef typename iterator_traits::pointer pointer; typedef typename iterator_traits::reference reference; private: iterator_type __i; public: __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter() noexcept { } template __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter(const __wrap_iter<_Up>& __u, typename enable_if::value>::type* = 0) noexcept : __i(__u.base()) { } # 1168 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 __attribute__ ((__visibility__("hidden"), __always_inline__)) reference operator*() const noexcept { return *__i; } __attribute__ ((__visibility__("hidden"), __always_inline__)) pointer operator->() const noexcept { return (pointer)&reinterpret_cast(*__i); } __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter& operator++() noexcept { ++__i; return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter operator++(int) noexcept {__wrap_iter __tmp(*this); ++(*this); return __tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter& operator--() noexcept { --__i; return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter operator--(int) noexcept {__wrap_iter __tmp(*this); --(*this); return __tmp;} __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter operator+ (difference_type __n) const noexcept {__wrap_iter __w(*this); __w += __n; return __w;} __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter& operator+=(difference_type __n) noexcept { __i += __n; return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter operator- (difference_type __n) const noexcept {return *this + (-__n);} __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter& operator-=(difference_type __n) noexcept {*this += -__n; return *this;} __attribute__ ((__visibility__("hidden"), __always_inline__)) reference operator[](difference_type __n) const noexcept { return __i[__n]; } __attribute__ ((__visibility__("hidden"), __always_inline__)) iterator_type base() const noexcept {return __i;} private: # 1239 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter(iterator_type __x) noexcept : __i(__x) {} template friend class __wrap_iter; template friend class basic_string; template friend class __attribute__ ((__visibility__("default"))) vector; template friend bool operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend bool operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend bool operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend bool operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend bool operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend bool operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend typename __wrap_iter<_Iter1>::difference_type operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) noexcept; template friend __wrap_iter<_Iter1> operator+(typename __wrap_iter<_Iter1>::difference_type, __wrap_iter<_Iter1>) noexcept; template friend _Op copy(_Ip, _Ip, _Op); template friend _B2 copy_backward(_B1, _B1, _B2); template friend _Op move(_Ip, _Ip, _Op); template friend _B2 move_backward(_B1, _B1, _B2); template friend typename enable_if < is_trivially_copy_assignable<_Tp>::value, _Tp* >::type __unwrap_iter(__wrap_iter<_Tp*>); }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __x.base() == __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __x.base() < __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return !(__x == __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __y < __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return !(__x < __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return !(__y < __x); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return !(__x == __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return __y < __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return !(__x < __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) noexcept { return !(__y < __x); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __wrap_iter<_Iter1>::difference_type operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) noexcept { return __x.base() - __y.base(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) __wrap_iter<_Iter> operator+(typename __wrap_iter<_Iter>::difference_type __n, __wrap_iter<_Iter> __x) noexcept { __x += __n; return __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp* begin(_Tp (&__array)[_Np]) { return __array; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _Tp* end(_Tp (&__array)[_Np]) { return __array + _Np; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto begin(_Cp& __c) -> decltype(__c.begin()) { return __c.begin(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto begin(const _Cp& __c) -> decltype(__c.begin()) { return __c.begin(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto end(_Cp& __c) -> decltype(__c.end()) { return __c.end(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) auto end(const _Cp& __c) -> decltype(__c.end()) { return __c.end(); } # 1544 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 # 1581 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 # 1610 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator" 3 } } # 108 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/array" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstring" 1 3 # 1 "/usr/include/string.h" 1 3 extern "C" { void *memchr(const void *, int, size_t); int memcmp(const void *, const void *, size_t); void *memcpy(void *, const void *, size_t); void *memmove(void *, const void *, size_t); void *memset(void *, int, size_t); char *strcat(char *, const char *); char *strchr(const char *, int); int strcmp(const char *, const char *); int strcoll(const char *, const char *); char *strcpy(char *, const char *); size_t strcspn(const char *, const char *); char *strerror(int) __asm("_" "strerror" ); size_t strlen(const char *); char *strncat(char *, const char *, size_t); int strncmp(const char *, const char *, size_t); char *strncpy(char *, const char *, size_t); char *strpbrk(const char *, const char *); char *strrchr(const char *, int); size_t strspn(const char *, const char *); char *strstr(const char *, const char *); char *strtok(char *, const char *); size_t strxfrm(char *, const char *, size_t); } extern "C" { char *strtok_r(char *, const char *, char **); } extern "C" { int strerror_r(int, char *, size_t); char *strdup(const char *); void *memccpy(void *, const void *, int, size_t); } extern "C" { char *stpcpy(char *, const char *); char *stpncpy(char *, const char *, size_t) ; char *strndup(const char *, size_t) ; size_t strnlen(const char *, size_t) ; char *strsignal(int sig); } # 148 "/usr/include/string.h" 3 extern "C" { void *memmem(const void *, size_t, const void *, size_t) ; void memset_pattern4(void *, const void *, size_t) ; void memset_pattern8(void *, const void *, size_t) ; void memset_pattern16(void *, const void *, size_t) ; char *strcasestr(const char *, const char *); char *strnstr(const char *, const char *, size_t); size_t strlcat(char *, const char *, size_t); size_t strlcpy(char *, const char *, size_t); void strmode(int, char *); char *strsep(char **, const char *); void swab(const void * , void * , ssize_t); } # 1 "/usr/include/strings.h" 1 3 extern "C" { int bcmp(const void *, const void *, size_t) ; void bcopy(const void *, void *, size_t) ; void bzero(void *, size_t) ; char *index(const char *, int) ; char *rindex(const char *, int) ; int ffs(int); int strcasecmp(const char *, const char *); int strncasecmp(const char *, const char *, size_t); } extern "C" { int ffsl(long) ; int ffsll(long long) ; int fls(int) ; int flsl(long) ; int flsll(long long) ; } # 1 "/usr/include/string.h" 1 3 # 93 "/usr/include/strings.h" 2 3 # 177 "/usr/include/string.h" 2 3 # 62 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstring" 2 3 # 65 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstring" 3 namespace std {inline namespace __1 { using ::size_t; using ::memcpy; using ::memmove; using ::strcpy; using ::strncpy; using ::strcat; using ::strncat; using ::memcmp; using ::strcmp; using ::strncmp; using ::strcoll; using ::strxfrm; using ::memchr; using ::strchr; using ::strcspn; using ::strpbrk; using ::strrchr; using ::strspn; using ::strstr; inline __attribute__ ((__visibility__("hidden"), __always_inline__)) char* strchr( char* __s, int __c) {return ::strchr(__s, __c);} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) char* strpbrk( char* __s1, const char* __s2) {return ::strpbrk(__s1, __s2);} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) char* strrchr( char* __s, int __c) {return ::strrchr(__s, __c);} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void* memchr( void* __s, int __c, size_t __n) {return ::memchr(__s, __c, __n);} inline __attribute__ ((__visibility__("hidden"), __always_inline__)) char* strstr( char* __s1, const char* __s2) {return ::strstr(__s1, __s2);} using ::strtok; using ::memset; using ::strerror; using ::strlen; } } # 627 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory" 1 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits" 1 3 # 107 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits" 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__undef_min_max" 1 3 # 20 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__undef_min_max" 3 # 113 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/limits" 2 3 namespace std {inline namespace __1 { 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 ::value> class __libcpp_numeric_limits { protected: typedef _Tp type; static constexpr const bool is_specialized = false; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type min() noexcept {return type();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return type();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return type();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type infinity() noexcept {return type();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return type();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return type();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 struct __libcpp_compute_min { static constexpr const _Tp value = _Tp(_Tp(1) << digits); }; template struct __libcpp_compute_min<_Tp, digits, false> { static constexpr const _Tp value = _Tp(0); }; template 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(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::value; static constexpr const type __max = is_signed ? type(type(~0) ^ __min) : type(~0); __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type min() noexcept {return __min;} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return __max;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type infinity() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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::__1::is_signed<_Tp>::value; static constexpr const bool traps = true; static constexpr const bool tinyness_before = false; static constexpr const float_round_style round_style = round_toward_zero; }; template <> class __libcpp_numeric_limits { 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"), __always_inline__)) static constexpr type min() noexcept {return __min;} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return __max;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type infinity() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return type(0);} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 { 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 * 30103)/100000; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type min() noexcept {return 1.17549435e-38F;} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return 3.40282347e+38F;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return 1.19209290e-7F;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type infinity() noexcept {return __builtin_huge_valf();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __builtin_nanf("");} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __builtin_nansf("");} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 = false; static constexpr const float_round_style round_style = round_to_nearest; }; template <> class __libcpp_numeric_limits { 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 * 30103)/100000; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type min() noexcept {return 2.2250738585072014e-308;} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return 1.7976931348623157e+308;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return 2.2204460492503131e-16;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type infinity() noexcept {return __builtin_huge_val();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __builtin_nan("");} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __builtin_nans("");} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 = false; static constexpr const float_round_style round_style = round_to_nearest; }; template <> class __libcpp_numeric_limits { protected: typedef long double type; static constexpr const bool is_specialized = true; static constexpr const bool is_signed = true; static constexpr const int digits = 64; static constexpr const int digits10 = 18; static constexpr const int max_digits10 = 2+(digits * 30103)/100000; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type min() noexcept {return 3.36210314311209350626e-4932L;} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return 1.18973149535723176502e+4932L;} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return 1.08420217248550443401e-19L;} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type round_error() noexcept {return 0.5;} static constexpr const int min_exponent = -16381; static constexpr const int min_exponent10 = -4931; static constexpr const int max_exponent = 16384; static constexpr const int max_exponent10 = 4932; 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"), __always_inline__)) static constexpr type infinity() noexcept {return __builtin_huge_vall();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __builtin_nanl("");} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __builtin_nansl("");} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type denorm_min() noexcept {return 3.64519953188247460253e-4951L;} 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 = false; static constexpr const float_round_style round_style = round_to_nearest; }; template class __attribute__ ((__visibility__("default"))) numeric_limits : private __libcpp_numeric_limits::type> { typedef __libcpp_numeric_limits::type> __base; typedef typename __base::type type; public: static constexpr const bool is_specialized = __base::is_specialized; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type min() noexcept {return __base::min();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return __base::max();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return __base::epsilon();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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; static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type infinity() noexcept {return __base::infinity();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 constexpr const bool numeric_limits<_Tp>::is_specialized; template constexpr const int numeric_limits<_Tp>::digits; template constexpr const int numeric_limits<_Tp>::digits10; template constexpr const int numeric_limits<_Tp>::max_digits10; template constexpr const bool numeric_limits<_Tp>::is_signed; template constexpr const bool numeric_limits<_Tp>::is_integer; template constexpr const bool numeric_limits<_Tp>::is_exact; template constexpr const int numeric_limits<_Tp>::radix; template constexpr const int numeric_limits<_Tp>::min_exponent; template constexpr const int numeric_limits<_Tp>::min_exponent10; template constexpr const int numeric_limits<_Tp>::max_exponent; template constexpr const int numeric_limits<_Tp>::max_exponent10; template constexpr const bool numeric_limits<_Tp>::has_infinity; template constexpr const bool numeric_limits<_Tp>::has_quiet_NaN; template constexpr const bool numeric_limits<_Tp>::has_signaling_NaN; template constexpr const float_denorm_style numeric_limits<_Tp>::has_denorm; template constexpr const bool numeric_limits<_Tp>::has_denorm_loss; template constexpr const bool numeric_limits<_Tp>::is_iec559; template constexpr const bool numeric_limits<_Tp>::is_bounded; template constexpr const bool numeric_limits<_Tp>::is_modulo; template constexpr const bool numeric_limits<_Tp>::traps; template constexpr const bool numeric_limits<_Tp>::tinyness_before; template constexpr const float_round_style numeric_limits<_Tp>::round_style; template class __attribute__ ((__visibility__("default"))) numeric_limits : 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"), __always_inline__)) static constexpr type min() noexcept {return __base::min();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return __base::max();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return __base::epsilon();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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; static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type infinity() noexcept {return __base::infinity();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 constexpr const bool numeric_limits::is_specialized; template constexpr const int numeric_limits::digits; template constexpr const int numeric_limits::digits10; template constexpr const int numeric_limits::max_digits10; template constexpr const bool numeric_limits::is_signed; template constexpr const bool numeric_limits::is_integer; template constexpr const bool numeric_limits::is_exact; template constexpr const int numeric_limits::radix; template constexpr const int numeric_limits::min_exponent; template constexpr const int numeric_limits::min_exponent10; template constexpr const int numeric_limits::max_exponent; template constexpr const int numeric_limits::max_exponent10; template constexpr const bool numeric_limits::has_infinity; template constexpr const bool numeric_limits::has_quiet_NaN; template constexpr const bool numeric_limits::has_signaling_NaN; template constexpr const float_denorm_style numeric_limits::has_denorm; template constexpr const bool numeric_limits::has_denorm_loss; template constexpr const bool numeric_limits::is_iec559; template constexpr const bool numeric_limits::is_bounded; template constexpr const bool numeric_limits::is_modulo; template constexpr const bool numeric_limits::traps; template constexpr const bool numeric_limits::tinyness_before; template constexpr const float_round_style numeric_limits::round_style; template class __attribute__ ((__visibility__("default"))) numeric_limits : 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"), __always_inline__)) static constexpr type min() noexcept {return __base::min();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return __base::max();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return __base::epsilon();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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; static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type infinity() noexcept {return __base::infinity();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 constexpr const bool numeric_limits::is_specialized; template constexpr const int numeric_limits::digits; template constexpr const int numeric_limits::digits10; template constexpr const int numeric_limits::max_digits10; template constexpr const bool numeric_limits::is_signed; template constexpr const bool numeric_limits::is_integer; template constexpr const bool numeric_limits::is_exact; template constexpr const int numeric_limits::radix; template constexpr const int numeric_limits::min_exponent; template constexpr const int numeric_limits::min_exponent10; template constexpr const int numeric_limits::max_exponent; template constexpr const int numeric_limits::max_exponent10; template constexpr const bool numeric_limits::has_infinity; template constexpr const bool numeric_limits::has_quiet_NaN; template constexpr const bool numeric_limits::has_signaling_NaN; template constexpr const float_denorm_style numeric_limits::has_denorm; template constexpr const bool numeric_limits::has_denorm_loss; template constexpr const bool numeric_limits::is_iec559; template constexpr const bool numeric_limits::is_bounded; template constexpr const bool numeric_limits::is_modulo; template constexpr const bool numeric_limits::traps; template constexpr const bool numeric_limits::tinyness_before; template constexpr const float_round_style numeric_limits::round_style; template class __attribute__ ((__visibility__("default"))) numeric_limits : 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"), __always_inline__)) static constexpr type min() noexcept {return __base::min();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type max() noexcept {return __base::max();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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"), __always_inline__)) static constexpr type epsilon() noexcept {return __base::epsilon();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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; static constexpr const float_denorm_style has_denorm = __base::has_denorm; static constexpr const bool has_denorm_loss = __base::has_denorm_loss; __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type infinity() noexcept {return __base::infinity();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type quiet_NaN() noexcept {return __base::quiet_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) static constexpr type signaling_NaN() noexcept {return __base::signaling_NaN();} __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 constexpr const bool numeric_limits::is_specialized; template constexpr const int numeric_limits::digits; template constexpr const int numeric_limits::digits10; template constexpr const int numeric_limits::max_digits10; template constexpr const bool numeric_limits::is_signed; template constexpr const bool numeric_limits::is_integer; template constexpr const bool numeric_limits::is_exact; template constexpr const int numeric_limits::radix; template constexpr const int numeric_limits::min_exponent; template constexpr const int numeric_limits::min_exponent10; template constexpr const int numeric_limits::max_exponent; template constexpr const int numeric_limits::max_exponent10; template constexpr const bool numeric_limits::has_infinity; template constexpr const bool numeric_limits::has_quiet_NaN; template constexpr const bool numeric_limits::has_signaling_NaN; template constexpr const float_denorm_style numeric_limits::has_denorm; template constexpr const bool numeric_limits::has_denorm_loss; template constexpr const bool numeric_limits::is_iec559; template constexpr const bool numeric_limits::is_bounded; template constexpr const bool numeric_limits::is_modulo; template constexpr const bool numeric_limits::traps; template constexpr const bool numeric_limits::tinyness_before; template constexpr const float_round_style numeric_limits::round_style; } } # 606 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple" 1 3 # 131 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple" 3 # 134 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple" 3 namespace std {inline namespace __1 { template class __attribute__ ((__visibility__("default"))) tuple_size > : public integral_constant { }; template class __attribute__ ((__visibility__("default"))) tuple_element<_Ip, tuple<_Tp...> > { public: typedef typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type; }; template ::value && !__libcpp_is_final<_Hp>::value > class __tuple_leaf; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 class __tuple_leaf { _Hp value; __tuple_leaf& operator=(const __tuple_leaf&); public: __attribute__ ((__visibility__("hidden"), __always_inline__)) 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 __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf(integral_constant, const _Alloc&) : value() {static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple");} template __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf(integral_constant, 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 __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf(integral_constant, const _Alloc& __a) : value(__a) {static_assert(!is_reference<_Hp>::value, "Attempted to default construct a reference element in a tuple");} template ::type, __tuple_leaf>> , is_constructible<_Hp, _Tp> >::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(_Tp&& __t) noexcept((is_nothrow_constructible<_Hp, _Tp> ::value)) : value(std::__1::forward<_Tp>(__t)) {static_assert(!is_reference<_Hp>::value || (is_lvalue_reference<_Hp>::value && (is_lvalue_reference<_Tp>::value || is_same::type, reference_wrapper< typename remove_reference<_Hp>::type > >::value)) || (is_rvalue_reference<_Hp>::value && !is_lvalue_reference<_Tp>::value), "Attempted to construct a reference element in a tuple with an rvalue");} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(integral_constant, const _Alloc&, _Tp&& __t) : value(std::__1::forward<_Tp>(__t)) {static_assert(!is_lvalue_reference<_Hp>::value || (is_lvalue_reference<_Hp>::value && (is_lvalue_reference<_Tp>::value || is_same::type, reference_wrapper< typename remove_reference<_Hp>::type > >::value)), "Attempted to construct a reference element in a tuple with an rvalue");} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(integral_constant, const _Alloc& __a, _Tp&& __t) : value(allocator_arg_t(), __a, std::__1::forward<_Tp>(__t)) {static_assert(!is_lvalue_reference<_Hp>::value || (is_lvalue_reference<_Hp>::value && (is_lvalue_reference<_Tp>::value || is_same::type, reference_wrapper< typename remove_reference<_Hp>::type > >::value)), "Attempted to construct a reference element in a tuple with an rvalue");} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(integral_constant, const _Alloc& __a, _Tp&& __t) : value(std::__1::forward<_Tp>(__t), __a) {static_assert(!is_lvalue_reference<_Hp>::value || (is_lvalue_reference<_Hp>::value && (is_lvalue_reference<_Tp>::value || is_same::type, reference_wrapper< typename remove_reference<_Hp>::type > >::value)), "Attempted to construct a reference element in a tuple with an rvalue");} __tuple_leaf(const __tuple_leaf& __t) = default; __tuple_leaf(__tuple_leaf&& __t) = default; template __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf& operator=(_Tp&& __t) noexcept((is_nothrow_assignable<_Hp&, _Tp> ::value)) { value = std::__1::forward<_Tp>(__t); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) int swap(__tuple_leaf& __t) noexcept(__is_nothrow_swappable<__tuple_leaf> ::value) { std::__1::swap(*this, __t); return 0; } __attribute__ ((__visibility__("hidden"), __always_inline__)) _Hp& get() noexcept {return value;} __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Hp& get() const noexcept {return value;} }; template class __tuple_leaf<_Ip, _Hp, true> : private _Hp { __tuple_leaf& operator=(const __tuple_leaf&); public: __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr __tuple_leaf() noexcept(is_nothrow_default_constructible<_Hp> ::value) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf(integral_constant, const _Alloc&) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf(integral_constant, const _Alloc& __a) : _Hp(allocator_arg_t(), __a) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf(integral_constant, const _Alloc& __a) : _Hp(__a) {} template ::type, __tuple_leaf>> , is_constructible<_Hp, _Tp> >::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(_Tp&& __t) noexcept((is_nothrow_constructible<_Hp, _Tp> ::value)) : _Hp(std::__1::forward<_Tp>(__t)) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(integral_constant, const _Alloc&, _Tp&& __t) : _Hp(std::__1::forward<_Tp>(__t)) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(integral_constant, const _Alloc& __a, _Tp&& __t) : _Hp(allocator_arg_t(), __a, std::__1::forward<_Tp>(__t)) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_leaf(integral_constant, const _Alloc& __a, _Tp&& __t) : _Hp(std::__1::forward<_Tp>(__t), __a) {} __tuple_leaf(__tuple_leaf const &) = default; __tuple_leaf(__tuple_leaf &&) = default; template __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_leaf& operator=(_Tp&& __t) noexcept((is_nothrow_assignable<_Hp&, _Tp> ::value)) { _Hp::operator=(std::__1::forward<_Tp>(__t)); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) int swap(__tuple_leaf& __t) noexcept(__is_nothrow_swappable<__tuple_leaf> ::value) { std::__1::swap(*this, __t); return 0; } __attribute__ ((__visibility__("hidden"), __always_inline__)) _Hp& get() noexcept {return static_cast<_Hp&>(*this);} __attribute__ ((__visibility__("hidden"), __always_inline__)) const _Hp& get() const noexcept {return static_cast(*this);} }; template __attribute__ ((__visibility__("hidden"), __always_inline__)) void __swallow(_Tp&&...) noexcept {} template struct __all : is_same<__all<_Pred...>, __all<(_Pred, true)...>> { }; template struct __all_default_constructible; template struct __all_default_constructible<__tuple_types<_Tp...>> : __all::value...> { }; template struct __tuple_impl; template struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...> : public __tuple_leaf<_Indx, _Tp>... { __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr __tuple_impl() noexcept(__all ::value ...> ::value) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit __tuple_impl(__tuple_indices<_Uf...>, __tuple_types<_Tf...>, __tuple_indices<_Ul...>, __tuple_types<_Tl...>, _Up&&... __u) noexcept((__all ::value ...> ::value && __all ::value ...> ::value)) : __tuple_leaf<_Uf, _Tf>(std::__1::forward<_Up>(__u))..., __tuple_leaf<_Ul, _Tl>()... {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) 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::__1::forward<_Up>(__u))..., __tuple_leaf<_Ul, _Tl>(__uses_alloc_ctor<_Tl, _Alloc>(), __a)... {} template >::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_impl(_Tuple&& __t) noexcept((__all ::type> ::type> ::value ...> ::value)) : __tuple_leaf<_Indx, _Tp>(std::__1::forward::type>::type>(std::__1::get<_Indx>(__t)))... {} template >::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) __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::__1::forward::type>::type>(std::__1::get<_Indx>(__t)))... {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename enable_if < __tuple_assignable<_Tuple, tuple<_Tp...> >::value, __tuple_impl& >::type operator=(_Tuple&& __t) noexcept((__all ::type> ::type> ::value ...> ::value)) { __swallow(__tuple_leaf<_Indx, _Tp>::operator=(std::__1::forward::type>::type>(std::__1::get<_Indx>(__t)))...); return *this; } __tuple_impl(const __tuple_impl&) = default; __tuple_impl(__tuple_impl&&) = default; __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_impl& operator=(const __tuple_impl& __t) noexcept((__all ::value ...> ::value)) { __swallow(__tuple_leaf<_Indx, _Tp>::operator=(static_cast&>(__t).get())...); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) __tuple_impl& operator=(__tuple_impl&& __t) noexcept((__all ::value ...> ::value)) { __swallow(__tuple_leaf<_Indx, _Tp>::operator=(std::__1::forward<_Tp>(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t).get()))...); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) void swap(__tuple_impl& __t) noexcept(__all<__is_nothrow_swappable<_Tp> ::value ...> ::value) { __swallow(__tuple_leaf<_Indx, _Tp>::swap(static_cast<__tuple_leaf<_Indx, _Tp>&>(__t))...); } }; template class __attribute__ ((__visibility__("default"))) tuple { typedef __tuple_impl::type, _Tp...> base; base base_; template friend typename tuple_element<_Jp, tuple<_Up...> >::type& get(tuple<_Up...>&) noexcept; template friend const typename tuple_element<_Jp, tuple<_Up...> >::type& get(const tuple<_Up...>&) noexcept; template friend typename tuple_element<_Jp, tuple<_Up...> >::type&& get(tuple<_Up...>&&) noexcept; public: template , _Dummy>::value...>::value >::type> __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr tuple() noexcept(__all ::value ...> ::value) {} __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit tuple(const _Tp& ... __t) noexcept((__all ::value ...> ::value)) : base_(typename __make_tuple_indices::type(), typename __make_tuple_types::type(), typename __make_tuple_indices<0>::type(), typename __make_tuple_types::type(), __t... ) {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(allocator_arg_t, const _Alloc& __a, const _Tp& ... __t) : base_(allocator_arg_t(), __a, typename __make_tuple_indices::type(), typename __make_tuple_types::type(), typename __make_tuple_indices<0>::type(), typename __make_tuple_types::type(), __t... ) {} template , typename __make_tuple_types::type >::value && __all_default_constructible< typename __make_tuple_types::type >::value, bool >::type = false > __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(_Up&&... __u) noexcept(( is_nothrow_constructible ::type, typename __make_tuple_types ::type, typename __make_tuple_indices ::type, typename __make_tuple_types ::type, _Up ... > ::value )) # 571 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple" 3 : base_(typename __make_tuple_indices::type(), typename __make_tuple_types::type(), typename __make_tuple_indices::type(), typename __make_tuple_types::type(), std::__1::forward<_Up>(__u)...) {} template , typename __make_tuple_types::type >::value && !__tuple_convertible < tuple<_Up...>, typename __make_tuple_types::type >::value && __all_default_constructible< typename __make_tuple_types::type >::value, bool >::type =false > __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit tuple(_Up&&... __u) noexcept(( is_nothrow_constructible ::type, typename __make_tuple_types ::type, typename __make_tuple_indices ::type, typename __make_tuple_types ::type, _Up ... > ::value )) # 618 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple" 3 : base_(typename __make_tuple_indices::type(), typename __make_tuple_types::type(), typename __make_tuple_indices::type(), typename __make_tuple_types::type(), std::__1::forward<_Up>(__u)...) {} template , typename __make_tuple_types::type >::value && __all_default_constructible< typename __make_tuple_types::type >::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(allocator_arg_t, const _Alloc& __a, _Up&&... __u) : base_(allocator_arg_t(), __a, typename __make_tuple_indices::type(), typename __make_tuple_types::type(), typename __make_tuple_indices::type(), typename __make_tuple_types::type(), std::__1::forward<_Up>(__u)...) {} template ::value, bool >::type = false > __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(_Tuple&& __t) noexcept((is_nothrow_constructible ::value)) : base_(std::__1::forward<_Tuple>(__t)) {} template ::value && !__tuple_convertible<_Tuple, tuple>::value, bool >::type = false > __attribute__ ((__visibility__("hidden"), __always_inline__)) explicit tuple(_Tuple&& __t) noexcept((is_nothrow_constructible ::value)) : base_(std::__1::forward<_Tuple>(__t)) {} template ::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(allocator_arg_t, const _Alloc& __a, _Tuple&& __t) : base_(allocator_arg_t(), __a, std::__1::forward<_Tuple>(__t)) {} template ::value >::type > __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple& operator=(_Tuple&& __t) noexcept((is_nothrow_assignable ::value)) { base_.operator=(std::__1::forward<_Tuple>(__t)); return *this; } __attribute__ ((__visibility__("hidden"), __always_inline__)) void swap(tuple& __t) noexcept(__all<__is_nothrow_swappable<_Tp> ::value ...> ::value) {base_.swap(__t.base_);} }; template <> class __attribute__ ((__visibility__("default"))) tuple<> { public: __attribute__ ((__visibility__("hidden"), __always_inline__)) constexpr tuple() noexcept {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(allocator_arg_t, const _Alloc&) noexcept {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(array<_Up, 0>) noexcept {} template __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) noexcept {} __attribute__ ((__visibility__("hidden"), __always_inline__)) void swap(tuple&) noexcept {} }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename enable_if < __all<__is_swappable<_Tp>::value...>::value, void >::type swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u) noexcept(__all<__is_nothrow_swappable<_Tp> ::value ...> ::value) {__t.swap(__u);} template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, tuple<_Tp...> >::type& get(tuple<_Tp...>& __t) noexcept { typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast<__tuple_leaf<_Ip, type>&>(__t.base_).get(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) const typename tuple_element<_Ip, tuple<_Tp...> >::type& get(const tuple<_Tp...>& __t) noexcept { typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast&>(__t.base_).get(); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename tuple_element<_Ip, tuple<_Tp...> >::type&& get(tuple<_Tp...>&& __t) noexcept { typedef typename tuple_element<_Ip, tuple<_Tp...> >::type type; return static_cast( static_cast<__tuple_leaf<_Ip, type>&&>(__t.base_).get()); } # 826 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple" 3 template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple<_Tp&...> tie(_Tp&... __t) noexcept { return tuple<_Tp&...>(__t...); } template struct __ignore_t { template __attribute__ ((__visibility__("hidden"), __always_inline__)) const __ignore_t& operator=(_Tp&&) const {return *this;} }; namespace { const __ignore_t ignore = __ignore_t(); } template struct __make_tuple_return_impl { typedef _Tp type; }; template struct __make_tuple_return_impl > { typedef _Tp& type; }; template struct __make_tuple_return { typedef typename __make_tuple_return_impl::type>::type type; }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple::type...> make_tuple(_Tp&&... __t) { return tuple::type...>(std::__1::forward<_Tp>(__t)...); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple<_Tp&&...> forward_as_tuple(_Tp&&... __t) noexcept { return tuple<_Tp&&...>(std::__1::forward<_Tp>(__t)...); } template struct __tuple_equal { template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator()(const _Tp& __x, const _Up& __y) { return __tuple_equal<_Ip - 1>()(__x, __y) && std::__1::get<_Ip-1>(__x) == std::__1::get<_Ip-1>(__y); } }; template <> struct __tuple_equal<0> { template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator()(const _Tp&, const _Up&) { return true; } }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return __tuple_equal()(__x, __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator!=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return !(__x == __y); } template struct __tuple_less { template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator()(const _Tp& __x, const _Up& __y) { const size_t __idx = tuple_size<_Tp>::value - _Ip; if (std::__1::get<__idx>(__x) < std::__1::get<__idx>(__y)) return true; if (std::__1::get<__idx>(__y) < std::__1::get<__idx>(__x)) return false; return __tuple_less<_Ip-1>()(__x, __y); } }; template <> struct __tuple_less<0> { template __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator()(const _Tp&, const _Up&) { return false; } }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return __tuple_less()(__x, __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return __y < __x; } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator>=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return !(__x < __y); } template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) bool operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) { return !(__y < __x); } template struct __tuple_cat_type; template struct __tuple_cat_type, __tuple_types<_Utypes...> > { typedef tuple<_Ttypes..., _Utypes...> type; }; template struct __tuple_cat_return_1 { }; template struct __tuple_cat_return_1, true, _Tuple0> { typedef typename __tuple_cat_type, typename __make_tuple_types::type>::type>::type type; }; template struct __tuple_cat_return_1, true, _Tuple0, _Tuple1, _Tuples...> : public __tuple_cat_return_1< typename __tuple_cat_type< tuple<_Types...>, typename __make_tuple_types::type>::type >::type, __tuple_like::type>::value, _Tuple1, _Tuples...> { }; template struct __tuple_cat_return; template struct __tuple_cat_return<_Tuple0, _Tuples...> : public __tuple_cat_return_1, __tuple_like::type>::value, _Tuple0, _Tuples...> { }; template <> struct __tuple_cat_return<> { typedef tuple<> type; }; inline __attribute__ ((__visibility__("hidden"), __always_inline__)) tuple<> tuple_cat() { return tuple<>(); } template struct __tuple_cat_return_ref_imp; template struct __tuple_cat_return_ref_imp, __tuple_indices<_I0...>, _Tuple0> { typedef typename remove_reference<_Tuple0>::type _T0; typedef tuple<_Types..., typename __apply_cv<_Tuple0, typename tuple_element<_I0, _T0>::type>::type&&...> type; }; template struct __tuple_cat_return_ref_imp, __tuple_indices<_I0...>, _Tuple0, _Tuple1, _Tuples...> : public __tuple_cat_return_ref_imp< tuple<_Types..., typename __apply_cv<_Tuple0, typename tuple_element<_I0, typename remove_reference<_Tuple0>::type>::type>::type&&...>, typename __make_tuple_indices::type>::value>::type, _Tuple1, _Tuples...> { }; template struct __tuple_cat_return_ref : public __tuple_cat_return_ref_imp, typename __make_tuple_indices< tuple_size::type>::value >::type, _Tuple0, _Tuples...> { }; template struct __tuple_cat; template struct __tuple_cat, __tuple_indices<_I0...>, __tuple_indices<_J0...> > { template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __tuple_cat_return_ref&&, _Tuple0&&>::type operator()(tuple<_Types...> __t, _Tuple0&& __t0) { return forward_as_tuple(std::__1::forward<_Types>(std::__1::get<_I0>(__t))..., std::__1::get<_J0>(std::__1::forward<_Tuple0>(__t0))...); } template __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __tuple_cat_return_ref&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&& ...__tpls) { typedef typename remove_reference<_Tuple0>::type _T0; typedef typename remove_reference<_Tuple1>::type _T1; return __tuple_cat< tuple<_Types..., typename __apply_cv<_Tuple0, typename tuple_element<_J0, _T0>::type>::type&&...>, typename __make_tuple_indices::value>::type, typename __make_tuple_indices::value>::type>() (forward_as_tuple( std::__1::forward<_Types>(std::__1::get<_I0>(__t))..., std::__1::get<_J0>(std::__1::forward<_Tuple0>(__t0))... ), std::__1::forward<_Tuple1>(__t1), std::__1::forward<_Tuples>(__tpls)...); } }; template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) typename __tuple_cat_return<_Tuple0, _Tuples...>::type tuple_cat(_Tuple0&& __t0, _Tuples&&... __tpls) { typedef typename remove_reference<_Tuple0>::type _T0; return __tuple_cat, __tuple_indices<>, typename __make_tuple_indices::value>::type>() (tuple<>(), std::__1::forward<_Tuple0>(__t0), std::__1::forward<_Tuples>(__tpls)...); } template struct __attribute__ ((__visibility__("default"))) uses_allocator, _Alloc> : true_type {}; template template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) pair<_T1, _T2>::pair(piecewise_construct_t, tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args, __tuple_indices<_I1...>, __tuple_indices<_I2...>) : first(std::__1::forward<_Args1>(std::__1::get<_I1>( __first_args))...), second(std::__1::forward<_Args2>(std::__1::get<_I2>(__second_args))...) { } } } # 610 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory" 2 3 # 1 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__undef_min_max" 1 3 # 20 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__undef_min_max" 3 # 620 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory" 2 3 # 624 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory" 3 namespace std {inline namespace __1 { template inline __attribute__ ((__visibility__("hidden"), __always_inline__)) _ValueType __libcpp_relaxed_load(_ValueType const* __value) { return __atomic_load_n(__value, 0); } template class allocator; template <> class __attribute__ ((__visibility__("default"))) allocator { public: typedef void* pointer; typedef const void* const_pointer; typedef void value_type; template struct rebind {typedef allocator<_Up> other;}; }; template <> class __attribute__ ((__visibility__("default"))) allocator { public: typedef const void* pointer; typedef const void* const_pointer; typedef const void value_type; template struct rebind {typedef allocator<_Up> other;}; }; template struct __has_element_type { private: struct __two {char __lx; char __lxx;}; template static __two __test(...); template static char __test(typename _Up::element_type* = 0); public: static const bool value = sizeof(__test<_Tp>(0)) == 1; }; template ::value> struct __pointer_traits_element_type; template struct __pointer_traits_element_type<_Ptr, true> { typedef typename _Ptr::element_type type; }; template