[1/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\Factor.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\Factor.cpp [2/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\Geometry.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\Geometry.cpp [3/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\CmdLineParser.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\CmdLineParser.cpp [4/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\FrameBufferObject.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\FrameBufferObject.cpp [5/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\MarchingCubes.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\MarchingCubes.cpp [6/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\PlyFile.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\PlyFile.cpp [7/156] cmd.exe /C "cd . && C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\lib.exe /machine:x64 /nologo /out:lib\VLFeat\vlfeat.lib lib\VLFeat\CMakeFiles\vlfeat.dir\aib.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\array.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\covdet.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\dsift.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\fisher.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\generic.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\getopt_long.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\gmm.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\hikmeans.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\hog.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\homkermap.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\host.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\ikmeans.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\imopv.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\kdtree.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\kmeans.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\lbp.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\liop.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\mathop.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\mser.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\pgm.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\quickshift.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\random.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\rodrigues.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\scalespace.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\sift.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\slic.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\stringop.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\svm.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\svmdataset.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\vlad.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\imopv_sse2.c.obj lib\VLFeat\CMakeFiles\vlfeat.dir\mathop_sse2.c.obj && cd ." [8/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\ShaderMan.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\ShaderMan.cpp [9/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\SurfaceTrimmer.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\SurfaceTrimmer.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(775): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(734): note: see reference to function template instantiation 'int *std::vector>::_Emplace_reallocate(int *const ,const _Ty &)' being compiled with [ _Ty=int ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(734): note: see reference to function template instantiation 'int *std::vector>::_Emplace_reallocate(int *const ,const _Ty &)' being compiled with [ _Ty=int ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(743): note: see reference to function template instantiation 'void std::vector>::emplace_back(const _Ty &)' being compiled with [ _Ty=int ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(742): note: while compiling class template member function 'void std::vector>::push_back(const _Ty &)' with [ _Ty=int ] C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\SurfaceTrimmer.cpp(263): note: see reference to function template instantiation 'void std::vector>::push_back(const _Ty &)' being compiled with [ _Ty=int ] C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\SurfaceTrimmer.cpp(220): note: see reference to class template instantiation 'std::vector>' being compiled [10/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\GLTexImage.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\GLTexImage.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(392): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(385): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::operator <<(float)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\GLTexImage.cpp(1225): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::operator <<(float)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [11/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\PyramidGL.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\PyramidGL.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(410): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(403): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::operator <<(double)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\PyramidGL.cpp(618): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::operator <<(double)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [12/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\CuTexImage.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\CuTexImage.cpp [13/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\SiftGPU.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftGPU.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(743): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftGPU.cpp(153): note: see reference to function template instantiation 'std::basic_ostream> &std::operator <<>(std::basic_ostream> &,const char *)' being compiled [14/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\SiftPyramid.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftPyramid.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(533): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(526): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::write(const _Elem *,std::streamsize)' with [ _Elem=char ] C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftPyramid.cpp(272): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::write(const _Elem *,std::streamsize)' being compiled with [ _Elem=char ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [15/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\SiftMatch.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftMatch.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(283): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(268): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::operator <<(int)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftMatch.cpp(289): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::operator <<(int)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [16/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramGLSL.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\ProgramGLSL.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(392): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(385): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::operator <<(float)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\ProgramGLSL.cpp(359): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::operator <<(float)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [17/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\GlobalUtil.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\GlobalUtil.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(301): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(294): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::operator <<(unsigned int)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\GlobalUtil.cpp(145): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::operator <<(unsigned int)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [18/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\SiftMatchCU.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftMatchCU.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(1232): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(1262): note: see reference to function template instantiation 'void std::vector>::_Resize_reallocate<_Ty2>(const unsigned __int64,const _Ty2 &)' being compiled with [ _Ty2=std::_Value_init_tag ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(1262): note: see reference to function template instantiation 'void std::vector>::_Resize_reallocate<_Ty2>(const unsigned __int64,const _Ty2 &)' being compiled with [ _Ty2=std::_Value_init_tag ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(1277): note: see reference to function template instantiation 'void std::vector>::_Resize(const unsigned __int64,const _Ty2 &)' being compiled with [ _Ty2=std::_Value_init_tag ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(1277): note: see reference to function template instantiation 'void std::vector>::_Resize(const unsigned __int64,const _Ty2 &)' being compiled with [ _Ty2=std::_Value_init_tag ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(1275): note: while compiling class template member function 'void std::vector>::resize(const unsigned __int64)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftMatchCU.cpp(121): note: see reference to function template instantiation 'void std::vector>::resize(const unsigned __int64)' being compiled C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\SiftMatchCU.h(47): note: see reference to class template instantiation 'std::vector>' being compiled [19/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:W0 /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\SiftGPU\CMakeFiles\sift_gpu.dir\PyramidCU.cpp.obj /Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\PyramidCU.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(410): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(403): note: while compiling class template member function 'std::basic_ostream> &std::basic_ostream>::operator <<(double)' C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\PyramidCU.cpp(841): note: see reference to function template instantiation 'std::basic_ostream> &std::basic_ostream>::operator <<(double)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(640): note: see reference to class template instantiation 'std::basic_ostream>' being compiled [20/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -external:IC:\Tool\V\installed\x64-windows\include -external:IC:\Tool\V\installed\x64-windows\include\eigen3 -external:IC:\Tool\V\installed\x64-windows\include\qt5 -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -external:IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:IC:\Tool\V\installed\x64-windows\include\webp -external:IC:\Tool\V\installed\x64-windows\include\OpenEXR -external:IC:\Tool\V\installed\x64-windows\include\Imath -external:IC:\Tool\V\installed\x64-windows\include\GKlib -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /MP /MP -openmp /W3 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /Zc:__cplusplus -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS /fp:strict /fp:except- /bigobj /showIncludes /Fosrc\CMakeFiles\colmap_cuda.dir\util\cudacc.cc.obj /Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\util\cudacc.cc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(743): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\util\cudacc.cc(89): note: see reference to function template instantiation 'std::basic_ostream> &std::operator <<>(std::basic_ostream> &,const char *)' being compiled [21/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -external:IC:\Tool\V\installed\x64-windows\include -external:IC:\Tool\V\installed\x64-windows\include\eigen3 -external:IC:\Tool\V\installed\x64-windows\include\qt5 -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -external:IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:IC:\Tool\V\installed\x64-windows\include\webp -external:IC:\Tool\V\installed\x64-windows\include\OpenEXR -external:IC:\Tool\V\installed\x64-windows\include\Imath -external:IC:\Tool\V\installed\x64-windows\include\GKlib -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /MP /MP -openmp /W3 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /Zc:__cplusplus -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS /fp:strict /fp:except- /bigobj /showIncludes /Fosrc\CMakeFiles\colmap_cuda.dir\util\cuda.cc.obj /Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\util\cuda.cc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ostream(743): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\util\cuda.cc(65): note: see reference to function template instantiation 'std::basic_ostream> &std::operator <<>(std::basic_ostream> &,const char *)' being compiled [22/156] C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -MD -MT lib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramCU.cu.obj -MF lib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramCU.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\ProgramCU.cu -o lib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramCU.cu.obj -Xcompiler=-Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb,-FS FAILED: lib/SiftGPU/CMakeFiles/sift_gpu.dir/ProgramCU.cu.obj C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DCGAL_ENABLED -DCUDA_ENABLED -DCUDA_SIFTGPU_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DSIFTGPU_NO_DEVIL -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -MD -MT lib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramCU.cu.obj -MF lib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramCU.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\SiftGPU\ProgramCU.cu -o lib\SiftGPU\CMakeFiles\sift_gpu.dir\ProgramCU.cu.obj -Xcompiler=-Fdlib\SiftGPU\CMakeFiles\sift_gpu.dir\sift_gpu.pdb,-FS C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime.h(197): error: invalid redeclaration of type name "size_t" typedef unsigned int size_t; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new.h(48): error: first parameter of allocation function must be of type "size_t" void* __cdecl operator new( ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new.h(53): error: first parameter of allocation function must be of type "size_t" void* __cdecl operator new( ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new.h(59): error: first parameter of allocation function must be of type "size_t" void* __cdecl operator new[]( ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new.h(64): error: first parameter of allocation function must be of type "size_t" void* __cdecl operator new[]( ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new.h(166): error: first parameter of allocation function must be of type "size_t" inline void* __cdecl operator new(size_t _Size, void* _Where) noexcept ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new.h(181): error: first parameter of allocation function must be of type "size_t" inline void* __cdecl operator new[](size_t _Size, ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new_debug.h(26): error: first parameter of allocation function must be of type "size_t" __declspec(allocator) void* __cdecl operator new( ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vcruntime_new_debug.h(34): error: first parameter of allocation function must be of type "size_t" __declspec(allocator) void* __cdecl operator new[]( ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(399): error: class template "std::_Is_memfunptr" has already been defined template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) & > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile & > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) && > : _Arg_types< _Arg0*, _Types...> { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__cdecl _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__fastcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__stdcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__thiscall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; template struct _Is_memfunptr<_Ret (__vectorcall _Arg0::*)(_Types...) const volatile && > : _Arg_types { using _Bool_type = true_type; typedef _Ret result_type; using _Class_type = _Arg0; using _Guide_type = enable_if, _Ret(_Types...)>; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1676): error: class template "std::result_of" has already been defined template struct result_of<_Callable __cdecl(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; template struct result_of<_Callable __fastcall(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; template struct result_of<_Callable __stdcall(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; template struct result_of<_Callable __vectorcall(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1676): error: class template "std::result_of" has already been defined template struct result_of<_Callable __cdecl(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; template struct result_of<_Callable __fastcall(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; template struct result_of<_Callable __stdcall(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; template struct result_of<_Callable __vectorcall(_Args...)> : _Select_invoke_traits<_Callable, _Args...> { }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\type_traits(1776): error: class template "std::_Function_args" has already been defined template struct _Function_args<_Ret __cdecl(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile & > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __cdecl(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __fastcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __stdcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; template struct _Function_args<_Ret __vectorcall(_Types...) const volatile && > : _Arg_types<_Types...> { typedef _Ret result_type; }; ^ C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\malloc.h(55): error: more than one instance of overloaded function "_alloca" has "C" linkage void* __cdecl _alloca( size_t _Size); ^ C:\NVIDIAGPU\include\crt/common_functions.h(125): error: first parameter of allocation function must be of type "size_t" extern __declspec(__host__) __declspec(__device__) __declspec(__cudart_builtin__) void* __cdecl operator new( size_t, void*) throw(); ^ C:\NVIDIAGPU\include\crt/common_functions.h(126): error: first parameter of allocation function must be of type "size_t" extern __declspec(__host__) __declspec(__device__) __declspec(__cudart_builtin__) void* __cdecl operator new[]( size_t, void*) throw(); ^ C:\NVIDIAGPU\include\crt/common_functions.h(267): error: first parameter of allocation function must be of type "size_t" extern __declspec(__host__) __declspec(__device__) __declspec(__cudart_builtin__) void* __cdecl operator new( size_t) throw(...); ^ C:\NVIDIAGPU\include\crt/common_functions.h(268): error: first parameter of allocation function must be of type "size_t" extern __declspec(__host__) __declspec(__device__) __declspec(__cudart_builtin__) void* __cdecl operator new[]( size_t) throw(...); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(132): error: cannot overload functions distinguished by return type alone __declspec(__device__) size_t __nv_cvta_generic_to_global_impl(const void *); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(133): error: cannot overload functions distinguished by return type alone __declspec(__device__) size_t __nv_cvta_generic_to_shared_impl(const void *); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(134): error: cannot overload functions distinguished by return type alone __declspec(__device__) size_t __nv_cvta_generic_to_constant_impl(const void *); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(135): error: cannot overload functions distinguished by return type alone __declspec(__device__) size_t __nv_cvta_generic_to_local_impl(const void *); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(136): warning #1581-D: declaration overloads built-in function "__nv_cvta_global_to_generic_impl" __declspec(__device__) void * __nv_cvta_global_to_generic_impl(size_t); ^ Remark: The warnings can be suppressed with "-diag-suppress " C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(136): error: more than one instance of overloaded function "__nv_cvta_global_to_generic_impl" has "C" linkage __declspec(__device__) void * __nv_cvta_global_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(137): warning #1581-D: declaration overloads built-in function "__nv_cvta_shared_to_generic_impl" __declspec(__device__) void * __nv_cvta_shared_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(137): error: more than one instance of overloaded function "__nv_cvta_shared_to_generic_impl" has "C" linkage __declspec(__device__) void * __nv_cvta_shared_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(138): warning #1581-D: declaration overloads built-in function "__nv_cvta_constant_to_generic_impl" __declspec(__device__) void * __nv_cvta_constant_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(138): error: more than one instance of overloaded function "__nv_cvta_constant_to_generic_impl" has "C" linkage __declspec(__device__) void * __nv_cvta_constant_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(139): warning #1581-D: declaration overloads built-in function "__nv_cvta_local_to_generic_impl" __declspec(__device__) void * __nv_cvta_local_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(139): error: more than one instance of overloaded function "__nv_cvta_local_to_generic_impl" has "C" linkage __declspec(__device__) void * __nv_cvta_local_to_generic_impl(size_t); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(194): error: asm operand type size(8) does not match type/size implied by constraint 'r' asm("cvta.to.param.u32 %0, %1;" : "=r"(ret) : "r"(ptr)); ^ C:\NVIDIAGPU\include\sm_20_intrinsics.hpp(208): error: asm operand type size(8) does not match type/size implied by constraint 'r' asm("cvta.param.u32 %0, %1;" : "=r"(ret) : "r"(in)); ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(104): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline long __ldg(const long *ptr) { unsigned long ret; asm volatile ("ld.global.nc.s32 %0, [%1];" : "=r"(ret) : "r" (ptr)); return (long)ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(105): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline unsigned long __ldg(const unsigned long *ptr) { unsigned long ret; asm volatile ("ld.global.nc.u32 %0, [%1];" : "=r"(ret) : "r" (ptr)); return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(109): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline char __ldg(const char *ptr) { unsigned int ret; asm volatile ("ld.global.nc.s8 %0, [%1];" : "=r"(ret) : "r" (ptr)); return (char)ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(110): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline signed char __ldg(const signed char *ptr) { unsigned int ret; asm volatile ("ld.global.nc.s8 %0, [%1];" : "=r"(ret) : "r" (ptr)); return (signed char)ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(111): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline short __ldg(const short *ptr) { unsigned short ret; asm volatile ("ld.global.nc.s16 %0, [%1];" : "=h"(ret) : "r" (ptr)); return (short)ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(112): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline int __ldg(const int *ptr) { unsigned int ret; asm volatile ("ld.global.nc.s32 %0, [%1];" : "=r"(ret) : "r" (ptr)); return (int)ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(113): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline long long __ldg(const long long *ptr) { unsigned long long ret; asm volatile ("ld.global.nc.s64 %0, [%1];" : "=l"(ret) : "r" (ptr)); return (long long)ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(114): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline char2 __ldg(const char2 *ptr) { char2 ret; int2 tmp; asm volatile ("ld.global.nc.v2.s8 {%0,%1}, [%2];" : "=r"(tmp.x), "=r"(tmp.y) : "r" (ptr)); ret.x = (char)tmp.x; ret.y = (char)tmp.y; return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(115): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline char4 __ldg(const char4 *ptr) { char4 ret; int4 tmp; asm volatile ("ld.global.nc.v4.s8 {%0,%1,%2,%3}, [%4];" : "=r"(tmp.x), "=r"(tmp.y), "=r"(tmp.z), "=r"(tmp.w) : "r" (ptr)); ret.x = (char)tmp.x; ret.y = (char)tmp.y; ret.z = (char)tmp.z; ret.w = (char)tmp.w; return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(116): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline short2 __ldg(const short2 *ptr) { short2 ret; asm volatile ("ld.global.nc.v2.s16 {%0,%1}, [%2];" : "=h"(ret.x), "=h"(ret.y) : "r" (ptr)); return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(117): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline short4 __ldg(const short4 *ptr) { short4 ret; asm volatile ("ld.global.nc.v4.s16 {%0,%1,%2,%3}, [%4];" : "=h"(ret.x), "=h"(ret.y), "=h"(ret.z), "=h"(ret.w) : "r" (ptr)); return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(118): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline int2 __ldg(const int2 *ptr) { int2 ret; asm volatile ("ld.global.nc.v2.s32 {%0,%1}, [%2];" : "=r"(ret.x), "=r"(ret.y) : "r" (ptr)); return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(119): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline int4 __ldg(const int4 *ptr) { int4 ret; asm volatile ("ld.global.nc.v4.s32 {%0,%1,%2,%3}, [%4];" : "=r"(ret.x), "=r"(ret.y), "=r"(ret.z), "=r"(ret.w) : "r" (ptr)); return ret; } ^ C:\NVIDIAGPU\include\sm_32_intrinsics.hpp(120): error: asm operand type size(8) does not match type/size implied by constraint 'r' static __declspec(__device__) __inline longlong2 __ldg(const longlong2 *ptr) { longlong2 ret; asm volatile ("ld.global.nc.v2.s64 {%0,%1}, [%2];" : "=l"(ret.x), "=l"(ret.y) : "r" (ptr)); return ret; } ^ Error limit reached. 100 errors detected in the compilation of "C:/Tool/V/buildtrees/colmap/src/b221bdabb2-e3968635af.clean/lib/SiftGPU/ProgramCU.cu". Compilation terminated. ProgramCU.cu [23/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DCGAL_ENABLED -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DOPENGL_ENABLED -DOPENMP_ENABLED -DRELEASE -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -IC:\Tool\V\installed\x64-windows\include -IC:\Tool\V\installed\x64-windows\include\eigen3 -IC:\Tool\V\installed\x64-windows\include\qt5 -IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -IC:\Tool\V\installed\x64-windows\include\qt5\QtGui /nologo /DWIN32 /D_WINDOWS /utf-8 /GR /MP /MP -openmp /W0 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /showIncludes /Folib\PoissonRecon\CMakeFiles\poisson_recon.dir\PoissonRecon.cpp.obj /Fdlib\PoissonRecon\CMakeFiles\poisson_recon.dir\poisson_recon.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\PoissonRecon.cpp C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(775): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(734): note: see reference to function template instantiation 'char **std::vector>::_Emplace_reallocate<_Ty>(char **const ,_Ty &&)' being compiled with [ _Ty=char * ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(734): note: see reference to function template instantiation 'char **std::vector>::_Emplace_reallocate<_Ty>(char **const ,_Ty &&)' being compiled with [ _Ty=char * ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(748): note: see reference to function template instantiation 'void std::vector>::emplace_back(char *&&)' being compiled C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\vector(746): note: while compiling class template member function 'void std::vector>::push_back(_Ty &&)' with [ _Ty=char * ] C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\PoissonRecon.cpp(104): note: see reference to function template instantiation 'void std::vector>::push_back(_Ty &&)' being compiled with [ _Ty=char * ] C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib\PoissonRecon\PoissonRecon.cpp(104): note: see reference to class template instantiation 'std::vector>' being compiled [24/156] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe /TP -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -external:IC:\Tool\V\installed\x64-windows\include -external:IC:\Tool\V\installed\x64-windows\include\eigen3 -external:IC:\Tool\V\installed\x64-windows\include\qt5 -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtCore -external:IC:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -external:IC:\Tool\V\installed\x64-windows\include\qt5\QtGui -external:IC:\NVIDIAGPU\include -external:IC:\Tool\V\installed\x64-windows\include\webp -external:IC:\Tool\V\installed\x64-windows\include\OpenEXR -external:IC:\Tool\V\installed\x64-windows\include\Imath -external:IC:\Tool\V\installed\x64-windows\include\GKlib -external:W0 /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /MP /MP -openmp /W3 /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /Zc:__cplusplus -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS /fp:strict /fp:except- /bigobj /showIncludes /Fosrc\CMakeFiles\colmap_cuda.dir\mvs\patch_match.cc.obj /Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb /FS -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match.cc C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\ppltasks.h(1571): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match.cc(279): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match.cc(278): warning C4244: 'initializing': conversion from 'double' to 'const float', possible loss of data C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match.cc(325): warning C4267: 'argument': conversion from 'size_t' to '_Ty', possible loss of data with [ _Ty=int ] C:\Tool\VisualStudio\VC\Tools\MSVC\14.29.30133\include\memory(3382): warning C4267: 'argument': conversion from 'size_t' to 'const int', possible loss of data C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match.cc(202): note: see reference to function template instantiation 'std::unique_ptr> std::make_unique(unsigned __int64 &&)' being compiled [25/156] C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -isystem C:\Tool\V\installed\x64-windows\include -isystem C:\Tool\V\installed\x64-windows\include\eigen3 -isystem C:\Tool\V\installed\x64-windows\include\qt5 -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtCore -isystem C:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -isystem C:\Tool\V\installed\x64-windows\include\webp -isystem C:\Tool\V\installed\x64-windows\include\OpenEXR -isystem C:\Tool\V\installed\x64-windows\include\Imath -isystem C:\Tool\V\installed\x64-windows\include\GKlib -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -MD -MT src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_prng.cu.obj -MF src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_prng.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\gpu_mat_prng.cu -o src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_prng.cu.obj -Xcompiler=-Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb,-FS FAILED: src/CMakeFiles/colmap_cuda.dir/mvs/gpu_mat_prng.cu.obj C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -isystem C:\Tool\V\installed\x64-windows\include -isystem C:\Tool\V\installed\x64-windows\include\eigen3 -isystem C:\Tool\V\installed\x64-windows\include\qt5 -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtCore -isystem C:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -isystem C:\Tool\V\installed\x64-windows\include\webp -isystem C:\Tool\V\installed\x64-windows\include\OpenEXR -isystem C:\Tool\V\installed\x64-windows\include\Imath -isystem C:\Tool\V\installed\x64-windows\include\GKlib -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -MD -MT src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_prng.cu.obj -MF src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_prng.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\gpu_mat_prng.cu -o src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_prng.cu.obj -Xcompiler=-Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb,-FS C:\Tool\V\installed\x64-windows\include\gflags/gflags.h(565): error: function "operator new" cannot be called with the given argument list argument types are: (unsigned long long, char *) return new(stringspot) clstring(value); ^ C:\Tool\V\installed\x64-windows\include\gflags/gflags.h(569): error: function "operator new" cannot be called with the given argument list argument types are: (unsigned long long, char *) return new(stringspot) clstring(value); ^ 2 errors detected in the compilation of "C:/Tool/V/buildtrees/colmap/src/b221bdabb2-e3968635af.clean/src/mvs/gpu_mat_prng.cu". gpu_mat_prng.cu [26/156] C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -isystem C:\Tool\V\installed\x64-windows\include -isystem C:\Tool\V\installed\x64-windows\include\eigen3 -isystem C:\Tool\V\installed\x64-windows\include\qt5 -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtCore -isystem C:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -isystem C:\Tool\V\installed\x64-windows\include\webp -isystem C:\Tool\V\installed\x64-windows\include\OpenEXR -isystem C:\Tool\V\installed\x64-windows\include\Imath -isystem C:\Tool\V\installed\x64-windows\include\GKlib -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -MD -MT src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_ref_image.cu.obj -MF src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_ref_image.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\gpu_mat_ref_image.cu -o src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_ref_image.cu.obj -Xcompiler=-Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb,-FS FAILED: src/CMakeFiles/colmap_cuda.dir/mvs/gpu_mat_ref_image.cu.obj C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -isystem C:\Tool\V\installed\x64-windows\include -isystem C:\Tool\V\installed\x64-windows\include\eigen3 -isystem C:\Tool\V\installed\x64-windows\include\qt5 -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtCore -isystem C:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -isystem C:\Tool\V\installed\x64-windows\include\webp -isystem C:\Tool\V\installed\x64-windows\include\OpenEXR -isystem C:\Tool\V\installed\x64-windows\include\Imath -isystem C:\Tool\V\installed\x64-windows\include\GKlib -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -MD -MT src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_ref_image.cu.obj -MF src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_ref_image.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\gpu_mat_ref_image.cu -o src\CMakeFiles\colmap_cuda.dir\mvs\gpu_mat_ref_image.cu.obj -Xcompiler=-Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb,-FS C:\Tool\V\installed\x64-windows\include\gflags/gflags.h(565): error: function "operator new" cannot be called with the given argument list argument types are: (unsigned long long, char *) return new(stringspot) clstring(value); ^ C:\Tool\V\installed\x64-windows\include\gflags/gflags.h(569): error: function "operator new" cannot be called with the given argument list argument types are: (unsigned long long, char *) return new(stringspot) clstring(value); ^ 2 errors detected in the compilation of "C:/Tool/V/buildtrees/colmap/src/b221bdabb2-e3968635af.clean/src/mvs/gpu_mat_ref_image.cu". gpu_mat_ref_image.cu [27/156] C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -isystem C:\Tool\V\installed\x64-windows\include -isystem C:\Tool\V\installed\x64-windows\include\eigen3 -isystem C:\Tool\V\installed\x64-windows\include\qt5 -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtCore -isystem C:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -isystem C:\Tool\V\installed\x64-windows\include\webp -isystem C:\Tool\V\installed\x64-windows\include\OpenEXR -isystem C:\Tool\V\installed\x64-windows\include\Imath -isystem C:\Tool\V\installed\x64-windows\include\GKlib -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -MD -MT src\CMakeFiles\colmap_cuda.dir\mvs\patch_match_cuda.cu.obj -MF src\CMakeFiles\colmap_cuda.dir\mvs\patch_match_cuda.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match_cuda.cu -o src\CMakeFiles\colmap_cuda.dir\mvs\patch_match_cuda.cu.obj -Xcompiler=-Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb,-FS FAILED: src/CMakeFiles/colmap_cuda.dir/mvs/patch_match_cuda.cu.obj C:\NVIDIAGPU\bin\nvcc.exe -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK=1 -DCGAL_ENABLED -DCGAL_USE_GMPXX=1 -DCUDA_ENABLED -DEIGEN_INITIALIZE_MATRICES_BY_NAN -DGFLAGS_IS_A_DLL=1 -DGLOG_NO_ABBREVIATED_SEVERITIES -DGL_GLEXT_PROTOTYPES -DGUI_ENABLED -DIMATH_DLL -DOPENEXR_DLL -DOPENGL_ENABLED -DOPENMP_ENABLED -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DWIN32_LEAN_AND_MEAN -D_MWAITXINTRIN_H_INCLUDED -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\lib -IC:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src -isystem C:\Tool\V\installed\x64-windows\include -isystem C:\Tool\V\installed\x64-windows\include\eigen3 -isystem C:\Tool\V\installed\x64-windows\include\qt5 -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtCore -isystem C:\Tool\V\installed\x64-windows\tools\qt5\mkspecs\win32-msvc -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtOpenGL -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtWidgets -isystem C:\Tool\V\installed\x64-windows\include\qt5\QtGui -isystem C:\NVIDIAGPU\include -isystem C:\Tool\V\installed\x64-windows\include\webp -isystem C:\Tool\V\installed\x64-windows\include\OpenEXR -isystem C:\Tool\V\installed\x64-windows\include\Imath -isystem C:\Tool\V\installed\x64-windows\include\GKlib -D_WINDOWS -Xcompiler="/W3 /GR " -D_FORCE_INLINES -Wno-deprecated-gpu-targets --use_fast_math --default-stream per-thread -Xptxas=-suppress-stack-size-warning -Xcompiler="-MDd -Zi -Ob0 -Od /RTC1" -std=c++14 -arch=native -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -MD -MT src\CMakeFiles\colmap_cuda.dir\mvs\patch_match_cuda.cu.obj -MF src\CMakeFiles\colmap_cuda.dir\mvs\patch_match_cuda.cu.obj.d -x cu -c C:\Tool\V\buildtrees\colmap\src\b221bdabb2-e3968635af.clean\src\mvs\patch_match_cuda.cu -o src\CMakeFiles\colmap_cuda.dir\mvs\patch_match_cuda.cu.obj -Xcompiler=-Fdsrc\CMakeFiles\colmap_cuda.dir\colmap_cuda.pdb,-FS C:\Tool\V\installed\x64-windows\include\gflags/gflags.h(565): error: function "operator new" cannot be called with the given argument list argument types are: (unsigned long long, char *) return new(stringspot) clstring(value); ^ C:\Tool\V\installed\x64-windows\include\gflags/gflags.h(569): error: function "operator new" cannot be called with the given argument list argument types are: (unsigned long long, char *) return new(stringspot) clstring(value); ^ 2 errors detected in the compilation of "C:/Tool/V/buildtrees/colmap/src/b221bdabb2-e3968635af.clean/src/mvs/patch_match_cuda.cu". patch_match_cuda.cu ninja: build stopped: subcommand failed.