Copy disabled (too large)
Download .txt
Showing preview only (16,097K chars total). Download the full file to get everything.
Repository: davisking/dlib
Branch: master
Commit: 0828f313d422
Files: 1964
Total size: 24.2 MB
Directory structure:
gitextract_o0iva_dz/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug.yml
│ │ ├── config.yml
│ │ └── feature.yml
│ └── workflows/
│ ├── build_cpp.yml
│ ├── build_matlab.yml
│ └── build_python.yml
├── .gitignore
├── CMakeLists.txt
├── LICENSE.txt
├── MANIFEST.in
├── README.md
├── dlib/
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── algs.h
│ ├── all/
│ │ └── source.cpp
│ ├── any/
│ │ ├── any.h
│ │ ├── any_abstract.h
│ │ ├── any_decision_function.h
│ │ ├── any_decision_function_abstract.h
│ │ ├── any_function.h
│ │ ├── any_function_abstract.h
│ │ ├── any_trainer.h
│ │ ├── any_trainer_abstract.h
│ │ └── storage.h
│ ├── any.h
│ ├── array/
│ │ ├── array_kernel.h
│ │ ├── array_kernel_abstract.h
│ │ ├── array_tools.h
│ │ └── array_tools_abstract.h
│ ├── array.h
│ ├── array2d/
│ │ ├── array2d_generic_image.h
│ │ ├── array2d_kernel.h
│ │ ├── array2d_kernel_abstract.h
│ │ └── serialize_pixel_overloads.h
│ ├── array2d.h
│ ├── assert.h
│ ├── base64/
│ │ ├── base64_kernel_1.cpp
│ │ ├── base64_kernel_1.h
│ │ └── base64_kernel_abstract.h
│ ├── base64.h
│ ├── bayes_utils/
│ │ ├── bayes_utils.h
│ │ └── bayes_utils_abstract.h
│ ├── bayes_utils.h
│ ├── bigint/
│ │ ├── bigint_kernel_1.cpp
│ │ ├── bigint_kernel_1.h
│ │ ├── bigint_kernel_2.cpp
│ │ ├── bigint_kernel_2.h
│ │ ├── bigint_kernel_abstract.h
│ │ └── bigint_kernel_c.h
│ ├── bigint.h
│ ├── binary_search_tree/
│ │ ├── binary_search_tree_kernel_1.h
│ │ ├── binary_search_tree_kernel_2.h
│ │ ├── binary_search_tree_kernel_abstract.h
│ │ └── binary_search_tree_kernel_c.h
│ ├── binary_search_tree.h
│ ├── bit_stream/
│ │ ├── bit_stream_kernel_1.cpp
│ │ ├── bit_stream_kernel_1.h
│ │ ├── bit_stream_kernel_abstract.h
│ │ ├── bit_stream_kernel_c.h
│ │ ├── bit_stream_multi_1.h
│ │ ├── bit_stream_multi_abstract.h
│ │ └── bit_stream_multi_c.h
│ ├── bit_stream.h
│ ├── bits/
│ │ └── c++config.h
│ ├── bound_function_pointer/
│ │ ├── bound_function_pointer_kernel_1.h
│ │ └── bound_function_pointer_kernel_abstract.h
│ ├── bound_function_pointer.h
│ ├── bridge/
│ │ ├── bridge.h
│ │ └── bridge_abstract.h
│ ├── bridge.h
│ ├── bsp/
│ │ ├── bsp.cpp
│ │ ├── bsp.h
│ │ └── bsp_abstract.h
│ ├── bsp.h
│ ├── byte_orderer/
│ │ ├── byte_orderer_kernel_1.h
│ │ └── byte_orderer_kernel_abstract.h
│ ├── byte_orderer.h
│ ├── cassert
│ ├── clustering/
│ │ ├── bottom_up_cluster.h
│ │ ├── bottom_up_cluster_abstract.h
│ │ ├── chinese_whispers.h
│ │ ├── chinese_whispers_abstract.h
│ │ ├── modularity_clustering.h
│ │ ├── modularity_clustering_abstract.h
│ │ ├── spectral_cluster.h
│ │ └── spectral_cluster_abstract.h
│ ├── clustering.h
│ ├── cmake
│ ├── cmake_utils/
│ │ ├── FindCUDNN.cmake
│ │ ├── check_if_avx_instructions_executable_on_host.cmake
│ │ ├── check_if_neon_available.cmake
│ │ ├── check_if_sse4_instructions_executable_on_host.cmake
│ │ ├── dlib.pc.in
│ │ ├── dlibConfig.cmake.in
│ │ ├── find_blas.cmake
│ │ ├── find_ffmpeg.cmake
│ │ ├── find_libjpeg.cmake
│ │ ├── find_libjxl.cmake
│ │ ├── find_libpng.cmake
│ │ ├── find_libwebp.cmake
│ │ ├── release_build_by_default
│ │ ├── set_compiler_specific_options.cmake
│ │ ├── tell_visual_studio_to_use_static_runtime.cmake
│ │ ├── test_for_avx/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── avx_test.cpp
│ │ │ └── this_file_doesnt_compile.cpp
│ │ ├── test_for_libjpeg/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libjpeg_test.cpp
│ │ ├── test_for_libjxl/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libjxl_test.cpp
│ │ ├── test_for_libpng/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libpng_test.cpp
│ │ ├── test_for_libwebp/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libwebp_test.cpp
│ │ ├── test_for_neon/
│ │ │ ├── CMakeLists.txt
│ │ │ └── neon_test.cpp
│ │ └── test_for_sse4/
│ │ ├── CMakeLists.txt
│ │ ├── sse4_test.cpp
│ │ └── this_file_doesnt_compile.cpp
│ ├── cmd_line_parser/
│ │ ├── cmd_line_parser_check_1.h
│ │ ├── cmd_line_parser_check_c.h
│ │ ├── cmd_line_parser_kernel_1.h
│ │ ├── cmd_line_parser_kernel_abstract.h
│ │ ├── cmd_line_parser_kernel_c.h
│ │ ├── cmd_line_parser_print_1.h
│ │ ├── get_option.h
│ │ └── get_option_abstract.h
│ ├── cmd_line_parser.h
│ ├── compress_stream/
│ │ ├── compress_stream_kernel_1.h
│ │ ├── compress_stream_kernel_2.h
│ │ ├── compress_stream_kernel_3.h
│ │ └── compress_stream_kernel_abstract.h
│ ├── compress_stream.h
│ ├── conditioning_class/
│ │ ├── conditioning_class_kernel_1.h
│ │ ├── conditioning_class_kernel_2.h
│ │ ├── conditioning_class_kernel_3.h
│ │ ├── conditioning_class_kernel_4.h
│ │ ├── conditioning_class_kernel_abstract.h
│ │ └── conditioning_class_kernel_c.h
│ ├── conditioning_class.h
│ ├── config.h
│ ├── config.h.in
│ ├── config_reader/
│ │ ├── config_reader_kernel_1.h
│ │ ├── config_reader_kernel_abstract.h
│ │ ├── config_reader_thread_safe_1.h
│ │ └── config_reader_thread_safe_abstract.h
│ ├── config_reader.h
│ ├── console_progress_indicator.h
│ ├── constexpr_if.h
│ ├── control/
│ │ ├── approximate_linear_models.h
│ │ ├── approximate_linear_models_abstract.h
│ │ ├── lspi.h
│ │ ├── lspi_abstract.h
│ │ ├── mpc.h
│ │ └── mpc_abstract.h
│ ├── control.h
│ ├── cpp_pretty_printer/
│ │ ├── cpp_pretty_printer_kernel_1.h
│ │ ├── cpp_pretty_printer_kernel_2.h
│ │ └── cpp_pretty_printer_kernel_abstract.h
│ ├── cpp_pretty_printer.h
│ ├── cpp_tokenizer/
│ │ ├── cpp_tokenizer_kernel_1.h
│ │ ├── cpp_tokenizer_kernel_abstract.h
│ │ └── cpp_tokenizer_kernel_c.h
│ ├── cpp_tokenizer.h
│ ├── crc32/
│ │ ├── crc32_kernel_1.h
│ │ └── crc32_kernel_abstract.h
│ ├── crc32.h
│ ├── cstring
│ ├── cuda/
│ │ ├── cpu_dlib.cpp
│ │ ├── cpu_dlib.h
│ │ ├── cublas_dlibapi.cpp
│ │ ├── cublas_dlibapi.h
│ │ ├── cuda_data_ptr.cpp
│ │ ├── cuda_data_ptr.h
│ │ ├── cuda_dlib.cu
│ │ ├── cuda_dlib.h
│ │ ├── cuda_errors.h
│ │ ├── cuda_utils.h
│ │ ├── cudnn_dlibapi.cpp
│ │ ├── cudnn_dlibapi.h
│ │ ├── curand_dlibapi.cpp
│ │ ├── curand_dlibapi.h
│ │ ├── cusolver_dlibapi.cu
│ │ ├── cusolver_dlibapi.h
│ │ ├── gpu_data.cpp
│ │ ├── gpu_data.h
│ │ ├── gpu_data_abstract.h
│ │ ├── operation_mode.h
│ │ ├── tensor.h
│ │ ├── tensor_abstract.h
│ │ ├── tensor_tools.cpp
│ │ └── tensor_tools.h
│ ├── data_io/
│ │ ├── arc_agi.h
│ │ ├── arc_agi_abstract.h
│ │ ├── cifar.cpp
│ │ ├── cifar.h
│ │ ├── cifar_abstract.h
│ │ ├── image_dataset_metadata.cpp
│ │ ├── image_dataset_metadata.h
│ │ ├── libsvm_io.h
│ │ ├── libsvm_io_abstract.h
│ │ ├── load_image_dataset.h
│ │ ├── load_image_dataset_abstract.h
│ │ ├── mnist.cpp
│ │ ├── mnist.h
│ │ └── mnist_abstract.h
│ ├── data_io.h
│ ├── dir_nav/
│ │ ├── dir_nav_extensions.cpp
│ │ ├── dir_nav_extensions.h
│ │ ├── dir_nav_extensions_abstract.h
│ │ ├── dir_nav_kernel_1.cpp
│ │ ├── dir_nav_kernel_1.h
│ │ ├── dir_nav_kernel_2.cpp
│ │ ├── dir_nav_kernel_2.h
│ │ ├── dir_nav_kernel_abstract.h
│ │ ├── posix.h
│ │ └── windows.h
│ ├── dir_nav.h
│ ├── directed_graph/
│ │ ├── directed_graph_kernel_1.h
│ │ └── directed_graph_kernel_abstract.h
│ ├── directed_graph.h
│ ├── disjoint_subsets/
│ │ ├── disjoint_subsets.h
│ │ ├── disjoint_subsets_abstract.h
│ │ ├── disjoint_subsets_sized.h
│ │ └── disjoint_subsets_sized_abstract.h
│ ├── disjoint_subsets.h
│ ├── dlib_basic_cpp_build_tutorial.txt
│ ├── dlib_include_path_tutorial.txt
│ ├── dnn/
│ │ ├── core.h
│ │ ├── core_abstract.h
│ │ ├── input.h
│ │ ├── input_abstract.h
│ │ ├── layers.h
│ │ ├── layers_abstract.h
│ │ ├── loss.h
│ │ ├── loss_abstract.h
│ │ ├── solvers.h
│ │ ├── solvers_abstract.h
│ │ ├── trainer.h
│ │ ├── trainer_abstract.h
│ │ ├── utilities.h
│ │ ├── utilities_abstract.h
│ │ ├── validation.h
│ │ ├── visitors.h
│ │ └── visitors_abstract.h
│ ├── dnn.h
│ ├── enable_if.h
│ ├── entropy_decoder/
│ │ ├── entropy_decoder_kernel_1.cpp
│ │ ├── entropy_decoder_kernel_1.h
│ │ ├── entropy_decoder_kernel_2.cpp
│ │ ├── entropy_decoder_kernel_2.h
│ │ ├── entropy_decoder_kernel_abstract.h
│ │ └── entropy_decoder_kernel_c.h
│ ├── entropy_decoder.h
│ ├── entropy_decoder_model/
│ │ ├── entropy_decoder_model_kernel_1.h
│ │ ├── entropy_decoder_model_kernel_2.h
│ │ ├── entropy_decoder_model_kernel_3.h
│ │ ├── entropy_decoder_model_kernel_4.h
│ │ ├── entropy_decoder_model_kernel_5.h
│ │ ├── entropy_decoder_model_kernel_6.h
│ │ └── entropy_decoder_model_kernel_abstract.h
│ ├── entropy_decoder_model.h
│ ├── entropy_encoder/
│ │ ├── entropy_encoder_kernel_1.cpp
│ │ ├── entropy_encoder_kernel_1.h
│ │ ├── entropy_encoder_kernel_2.cpp
│ │ ├── entropy_encoder_kernel_2.h
│ │ ├── entropy_encoder_kernel_abstract.h
│ │ └── entropy_encoder_kernel_c.h
│ ├── entropy_encoder.h
│ ├── entropy_encoder_model/
│ │ ├── entropy_encoder_model_kernel_1.h
│ │ ├── entropy_encoder_model_kernel_2.h
│ │ ├── entropy_encoder_model_kernel_3.h
│ │ ├── entropy_encoder_model_kernel_4.h
│ │ ├── entropy_encoder_model_kernel_5.h
│ │ ├── entropy_encoder_model_kernel_6.h
│ │ ├── entropy_encoder_model_kernel_abstract.h
│ │ └── entropy_encoder_model_kernel_c.h
│ ├── entropy_encoder_model.h
│ ├── error.h
│ ├── external/
│ │ ├── cblas/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── README
│ │ │ ├── cblas.h
│ │ │ ├── cblas_caxpy.c
│ │ │ ├── cblas_ccopy.c
│ │ │ ├── cblas_cdotc_sub.c
│ │ │ ├── cblas_cdotu_sub.c
│ │ │ ├── cblas_cgbmv.c
│ │ │ ├── cblas_cgemm.c
│ │ │ ├── cblas_cgemv.c
│ │ │ ├── cblas_cgerc.c
│ │ │ ├── cblas_cgeru.c
│ │ │ ├── cblas_chbmv.c
│ │ │ ├── cblas_chemm.c
│ │ │ ├── cblas_chemv.c
│ │ │ ├── cblas_cher.c
│ │ │ ├── cblas_cher2.c
│ │ │ ├── cblas_cher2k.c
│ │ │ ├── cblas_cherk.c
│ │ │ ├── cblas_chpmv.c
│ │ │ ├── cblas_chpr.c
│ │ │ ├── cblas_chpr2.c
│ │ │ ├── cblas_cscal.c
│ │ │ ├── cblas_csscal.c
│ │ │ ├── cblas_cswap.c
│ │ │ ├── cblas_csymm.c
│ │ │ ├── cblas_csyr2k.c
│ │ │ ├── cblas_csyrk.c
│ │ │ ├── cblas_ctbmv.c
│ │ │ ├── cblas_ctbsv.c
│ │ │ ├── cblas_ctpmv.c
│ │ │ ├── cblas_ctpsv.c
│ │ │ ├── cblas_ctrmm.c
│ │ │ ├── cblas_ctrmv.c
│ │ │ ├── cblas_ctrsm.c
│ │ │ ├── cblas_ctrsv.c
│ │ │ ├── cblas_dasum.c
│ │ │ ├── cblas_daxpy.c
│ │ │ ├── cblas_dcopy.c
│ │ │ ├── cblas_ddot.c
│ │ │ ├── cblas_dgbmv.c
│ │ │ ├── cblas_dgemm.c
│ │ │ ├── cblas_dgemv.c
│ │ │ ├── cblas_dger.c
│ │ │ ├── cblas_dnrm2.c
│ │ │ ├── cblas_drot.c
│ │ │ ├── cblas_drotg.c
│ │ │ ├── cblas_drotm.c
│ │ │ ├── cblas_drotmg.c
│ │ │ ├── cblas_dsbmv.c
│ │ │ ├── cblas_dscal.c
│ │ │ ├── cblas_dsdot.c
│ │ │ ├── cblas_dspmv.c
│ │ │ ├── cblas_dspr.c
│ │ │ ├── cblas_dspr2.c
│ │ │ ├── cblas_dswap.c
│ │ │ ├── cblas_dsymm.c
│ │ │ ├── cblas_dsymv.c
│ │ │ ├── cblas_dsyr.c
│ │ │ ├── cblas_dsyr2.c
│ │ │ ├── cblas_dsyr2k.c
│ │ │ ├── cblas_dsyrk.c
│ │ │ ├── cblas_dtbmv.c
│ │ │ ├── cblas_dtbsv.c
│ │ │ ├── cblas_dtpmv.c
│ │ │ ├── cblas_dtpsv.c
│ │ │ ├── cblas_dtrmm.c
│ │ │ ├── cblas_dtrmv.c
│ │ │ ├── cblas_dtrsm.c
│ │ │ ├── cblas_dtrsv.c
│ │ │ ├── cblas_dzasum.c
│ │ │ ├── cblas_dznrm2.c
│ │ │ ├── cblas_f77.h
│ │ │ ├── cblas_icamax.c
│ │ │ ├── cblas_idamax.c
│ │ │ ├── cblas_isamax.c
│ │ │ ├── cblas_izamax.c
│ │ │ ├── cblas_sasum.c
│ │ │ ├── cblas_saxpy.c
│ │ │ ├── cblas_scasum.c
│ │ │ ├── cblas_scnrm2.c
│ │ │ ├── cblas_scopy.c
│ │ │ ├── cblas_sdot.c
│ │ │ ├── cblas_sdsdot.c
│ │ │ ├── cblas_sgbmv.c
│ │ │ ├── cblas_sgemm.c
│ │ │ ├── cblas_sgemv.c
│ │ │ ├── cblas_sger.c
│ │ │ ├── cblas_snrm2.c
│ │ │ ├── cblas_srot.c
│ │ │ ├── cblas_srotg.c
│ │ │ ├── cblas_srotm.c
│ │ │ ├── cblas_srotmg.c
│ │ │ ├── cblas_ssbmv.c
│ │ │ ├── cblas_sscal.c
│ │ │ ├── cblas_sspmv.c
│ │ │ ├── cblas_sspr.c
│ │ │ ├── cblas_sspr2.c
│ │ │ ├── cblas_sswap.c
│ │ │ ├── cblas_ssymm.c
│ │ │ ├── cblas_ssymv.c
│ │ │ ├── cblas_ssyr.c
│ │ │ ├── cblas_ssyr2.c
│ │ │ ├── cblas_ssyr2k.c
│ │ │ ├── cblas_ssyrk.c
│ │ │ ├── cblas_stbmv.c
│ │ │ ├── cblas_stbsv.c
│ │ │ ├── cblas_stpmv.c
│ │ │ ├── cblas_stpsv.c
│ │ │ ├── cblas_strmm.c
│ │ │ ├── cblas_strmv.c
│ │ │ ├── cblas_strsm.c
│ │ │ ├── cblas_strsv.c
│ │ │ ├── cblas_xerbla.c
│ │ │ ├── cblas_zaxpy.c
│ │ │ ├── cblas_zcopy.c
│ │ │ ├── cblas_zdotc_sub.c
│ │ │ ├── cblas_zdotu_sub.c
│ │ │ ├── cblas_zdscal.c
│ │ │ ├── cblas_zgbmv.c
│ │ │ ├── cblas_zgemm.c
│ │ │ ├── cblas_zgemv.c
│ │ │ ├── cblas_zgerc.c
│ │ │ ├── cblas_zgeru.c
│ │ │ ├── cblas_zhbmv.c
│ │ │ ├── cblas_zhemm.c
│ │ │ ├── cblas_zhemv.c
│ │ │ ├── cblas_zher.c
│ │ │ ├── cblas_zher2.c
│ │ │ ├── cblas_zher2k.c
│ │ │ ├── cblas_zherk.c
│ │ │ ├── cblas_zhpmv.c
│ │ │ ├── cblas_zhpr.c
│ │ │ ├── cblas_zhpr2.c
│ │ │ ├── cblas_zscal.c
│ │ │ ├── cblas_zswap.c
│ │ │ ├── cblas_zsymm.c
│ │ │ ├── cblas_zsyr2k.c
│ │ │ ├── cblas_zsyrk.c
│ │ │ ├── cblas_ztbmv.c
│ │ │ ├── cblas_ztbsv.c
│ │ │ ├── cblas_ztpmv.c
│ │ │ ├── cblas_ztpsv.c
│ │ │ ├── cblas_ztrmm.c
│ │ │ ├── cblas_ztrmv.c
│ │ │ ├── cblas_ztrsm.c
│ │ │ ├── cblas_ztrsv.c
│ │ │ ├── cdotcsub.f
│ │ │ ├── cdotusub.f
│ │ │ ├── dasumsub.f
│ │ │ ├── ddotsub.f
│ │ │ ├── dnrm2sub.f
│ │ │ ├── dsdotsub.f
│ │ │ ├── dzasumsub.f
│ │ │ ├── dznrm2sub.f
│ │ │ ├── icamaxsub.f
│ │ │ ├── idamaxsub.f
│ │ │ ├── isamaxsub.f
│ │ │ ├── izamaxsub.f
│ │ │ ├── sasumsub.f
│ │ │ ├── scasumsub.f
│ │ │ ├── scnrm2sub.f
│ │ │ ├── sdotsub.f
│ │ │ ├── sdsdotsub.f
│ │ │ ├── snrm2sub.f
│ │ │ ├── zdotcsub.f
│ │ │ └── zdotusub.f
│ │ ├── libjpeg/
│ │ │ ├── README
│ │ │ ├── cderror.h
│ │ │ ├── cdjpeg.h
│ │ │ ├── jaricom.c
│ │ │ ├── jcapimin.c
│ │ │ ├── jcapistd.c
│ │ │ ├── jcarith.c
│ │ │ ├── jccoefct.c
│ │ │ ├── jccolor.c
│ │ │ ├── jcdctmgr.c
│ │ │ ├── jchuff.c
│ │ │ ├── jcinit.c
│ │ │ ├── jcmainct.c
│ │ │ ├── jcmarker.c
│ │ │ ├── jcmaster.c
│ │ │ ├── jcomapi.c
│ │ │ ├── jconfig.h
│ │ │ ├── jcparam.c
│ │ │ ├── jcprepct.c
│ │ │ ├── jcsample.c
│ │ │ ├── jctrans.c
│ │ │ ├── jdapimin.c
│ │ │ ├── jdapistd.c
│ │ │ ├── jdarith.c
│ │ │ ├── jdatadst.c
│ │ │ ├── jdatasrc.c
│ │ │ ├── jdcoefct.c
│ │ │ ├── jdcolor.c
│ │ │ ├── jdct.h
│ │ │ ├── jddctmgr.c
│ │ │ ├── jdhuff.c
│ │ │ ├── jdinput.c
│ │ │ ├── jdmainct.c
│ │ │ ├── jdmarker.c
│ │ │ ├── jdmaster.c
│ │ │ ├── jdmerge.c
│ │ │ ├── jdpostct.c
│ │ │ ├── jdsample.c
│ │ │ ├── jdtrans.c
│ │ │ ├── jerror.c
│ │ │ ├── jerror.h
│ │ │ ├── jfdctflt.c
│ │ │ ├── jfdctfst.c
│ │ │ ├── jfdctint.c
│ │ │ ├── jidctflt.c
│ │ │ ├── jidctfst.c
│ │ │ ├── jidctint.c
│ │ │ ├── jinclude.h
│ │ │ ├── jmemansi.c
│ │ │ ├── jmemmgr.c
│ │ │ ├── jmemname.c
│ │ │ ├── jmemnobs.c
│ │ │ ├── jmemsys.h
│ │ │ ├── jmorecfg.h
│ │ │ ├── jpegint.h
│ │ │ ├── jpeglib.h
│ │ │ ├── jpegtran.c
│ │ │ ├── jquant1.c
│ │ │ ├── jquant2.c
│ │ │ ├── jutils.c
│ │ │ ├── jversion.h
│ │ │ ├── rdbmp.c
│ │ │ ├── rdcolmap.c
│ │ │ ├── rdgif.c
│ │ │ ├── rdjpgcom.c
│ │ │ ├── rdppm.c
│ │ │ ├── rdrle.c
│ │ │ ├── rdswitch.c
│ │ │ ├── rdtarga.c
│ │ │ ├── transupp.c
│ │ │ ├── transupp.h
│ │ │ ├── wrbmp.c
│ │ │ ├── wrgif.c
│ │ │ ├── wrjpgcom.c
│ │ │ ├── wrppm.c
│ │ │ ├── wrrle.c
│ │ │ └── wrtarga.c
│ │ ├── libpng/
│ │ │ ├── LICENSE
│ │ │ ├── README
│ │ │ ├── arm/
│ │ │ │ ├── arm_init.c
│ │ │ │ ├── filter_neon.S
│ │ │ │ ├── filter_neon_intrinsics.c
│ │ │ │ └── palette_neon_intrinsics.c
│ │ │ ├── png.c
│ │ │ ├── png.h
│ │ │ ├── pngconf.h
│ │ │ ├── pngdebug.h
│ │ │ ├── pngerror.c
│ │ │ ├── pngget.c
│ │ │ ├── pnginfo.h
│ │ │ ├── pnglibconf.h
│ │ │ ├── pngmem.c
│ │ │ ├── pngpread.c
│ │ │ ├── pngpriv.h
│ │ │ ├── pngread.c
│ │ │ ├── pngrio.c
│ │ │ ├── pngrtran.c
│ │ │ ├── pngrutil.c
│ │ │ ├── pngset.c
│ │ │ ├── pngstruct.h
│ │ │ ├── pngtrans.c
│ │ │ ├── pngwio.c
│ │ │ ├── pngwrite.c
│ │ │ ├── pngwtran.c
│ │ │ └── pngwutil.c
│ │ ├── pybind11/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── LICENSE
│ │ │ ├── README.rst
│ │ │ ├── include/
│ │ │ │ └── pybind11/
│ │ │ │ ├── attr.h
│ │ │ │ ├── buffer_info.h
│ │ │ │ ├── cast.h
│ │ │ │ ├── chrono.h
│ │ │ │ ├── common.h
│ │ │ │ ├── complex.h
│ │ │ │ ├── detail/
│ │ │ │ │ ├── class.h
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── descr.h
│ │ │ │ │ ├── init.h
│ │ │ │ │ ├── internals.h
│ │ │ │ │ ├── type_caster_base.h
│ │ │ │ │ └── typeid.h
│ │ │ │ ├── eigen/
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── matrix.h
│ │ │ │ │ └── tensor.h
│ │ │ │ ├── eigen.h
│ │ │ │ ├── embed.h
│ │ │ │ ├── eval.h
│ │ │ │ ├── functional.h
│ │ │ │ ├── gil.h
│ │ │ │ ├── gil_safe_call_once.h
│ │ │ │ ├── iostream.h
│ │ │ │ ├── numpy.h
│ │ │ │ ├── operators.h
│ │ │ │ ├── options.h
│ │ │ │ ├── pybind11.h
│ │ │ │ ├── pytypes.h
│ │ │ │ ├── stl/
│ │ │ │ │ └── filesystem.h
│ │ │ │ ├── stl.h
│ │ │ │ ├── stl_bind.h
│ │ │ │ ├── type_caster_pyobject_ptr.h
│ │ │ │ └── typing.h
│ │ │ └── tools/
│ │ │ ├── FindCatch.cmake
│ │ │ ├── FindEigen3.cmake
│ │ │ ├── FindPythonLibsNew.cmake
│ │ │ ├── JoinPaths.cmake
│ │ │ ├── check-style.sh
│ │ │ ├── cmake_uninstall.cmake.in
│ │ │ ├── codespell_ignore_lines_from_errors.py
│ │ │ ├── libsize.py
│ │ │ ├── make_changelog.py
│ │ │ ├── pybind11.pc.in
│ │ │ ├── pybind11Common.cmake
│ │ │ ├── pybind11Config.cmake.in
│ │ │ ├── pybind11NewTools.cmake
│ │ │ ├── pybind11Tools.cmake
│ │ │ ├── pyproject.toml
│ │ │ ├── setup_global.py.in
│ │ │ └── setup_main.py.in
│ │ └── zlib/
│ │ ├── README
│ │ ├── adler32.c
│ │ ├── compress.c
│ │ ├── crc32.c
│ │ ├── crc32.h
│ │ ├── deflate.c
│ │ ├── deflate.h
│ │ ├── gzclose.c
│ │ ├── gzguts.h
│ │ ├── gzlib.c
│ │ ├── gzread.c
│ │ ├── gzwrite.c
│ │ ├── infback.c
│ │ ├── inffast.c
│ │ ├── inffast.h
│ │ ├── inffixed.h
│ │ ├── inflate.c
│ │ ├── inflate.h
│ │ ├── inftrees.c
│ │ ├── inftrees.h
│ │ ├── trees.c
│ │ ├── trees.h
│ │ ├── uncompr.c
│ │ ├── zconf.h
│ │ ├── zlib.h
│ │ ├── zutil.c
│ │ └── zutil.h
│ ├── fft/
│ │ ├── fft.cpp
│ │ ├── fft.h
│ │ ├── fft_size.h
│ │ ├── fft_stl.h
│ │ ├── kiss_fft.h
│ │ └── mkl_fft.h
│ ├── filtering/
│ │ ├── kalman_filter.cpp
│ │ ├── kalman_filter.h
│ │ ├── kalman_filter_abstract.h
│ │ ├── rls_filter.h
│ │ └── rls_filter_abstract.h
│ ├── filtering.h
│ ├── float_details.h
│ ├── fstream
│ ├── functional.h
│ ├── general_hash/
│ │ ├── count_bits.h
│ │ ├── count_bits_abstract.h
│ │ ├── general_hash.h
│ │ ├── hash.h
│ │ ├── hash_abstract.h
│ │ ├── murmur_hash3.h
│ │ ├── murmur_hash3_abstract.h
│ │ ├── random_hashing.h
│ │ └── random_hashing_abstract.h
│ ├── geometry/
│ │ ├── border_enumerator.h
│ │ ├── border_enumerator_abstract.h
│ │ ├── drectangle.h
│ │ ├── drectangle_abstract.h
│ │ ├── line.h
│ │ ├── line_abstract.h
│ │ ├── point_transforms.h
│ │ ├── point_transforms_abstract.h
│ │ ├── polygon.h
│ │ ├── polygon_abstract.h
│ │ ├── rectangle.h
│ │ ├── rectangle_abstract.h
│ │ ├── vector.h
│ │ └── vector_abstract.h
│ ├── geometry.h
│ ├── global_optimization/
│ │ ├── find_max_global.h
│ │ ├── find_max_global_abstract.h
│ │ ├── global_function_search.cpp
│ │ ├── global_function_search.h
│ │ ├── global_function_search_abstract.h
│ │ ├── upper_bound_function.h
│ │ └── upper_bound_function_abstract.h
│ ├── global_optimization.h
│ ├── graph/
│ │ ├── graph_kernel_1.h
│ │ └── graph_kernel_abstract.h
│ ├── graph.h
│ ├── graph_cuts/
│ │ ├── find_max_factor_graph_potts.h
│ │ ├── find_max_factor_graph_potts_abstract.h
│ │ ├── general_flow_graph.h
│ │ ├── general_potts_problem.h
│ │ ├── graph_labeler.h
│ │ ├── graph_labeler_abstract.h
│ │ ├── min_cut.h
│ │ └── min_cut_abstract.h
│ ├── graph_cuts.h
│ ├── graph_utils/
│ │ ├── edge_list_graphs.h
│ │ ├── edge_list_graphs_abstract.h
│ │ ├── find_k_nearest_neighbors_lsh.h
│ │ ├── find_k_nearest_neighbors_lsh_abstract.h
│ │ ├── function_objects.h
│ │ ├── function_objects_abstract.h
│ │ ├── graph_utils.h
│ │ ├── graph_utils_abstract.h
│ │ ├── ordered_sample_pair.h
│ │ ├── ordered_sample_pair_abstract.h
│ │ ├── sample_pair.h
│ │ └── sample_pair_abstract.h
│ ├── graph_utils.h
│ ├── graph_utils_threaded.h
│ ├── gui_core/
│ │ ├── gui_core_kernel_1.cpp
│ │ ├── gui_core_kernel_1.h
│ │ ├── gui_core_kernel_2.cpp
│ │ ├── gui_core_kernel_2.h
│ │ ├── gui_core_kernel_abstract.h
│ │ ├── windows.h
│ │ └── xlib.h
│ ├── gui_core.h
│ ├── gui_widgets/
│ │ ├── base_widgets.cpp
│ │ ├── base_widgets.h
│ │ ├── base_widgets_abstract.h
│ │ ├── canvas_drawing.cpp
│ │ ├── canvas_drawing.h
│ │ ├── canvas_drawing_abstract.h
│ │ ├── drawable.cpp
│ │ ├── drawable.h
│ │ ├── drawable_abstract.h
│ │ ├── fonts.cpp
│ │ ├── fonts.h
│ │ ├── fonts_abstract.h
│ │ ├── nativefont.h
│ │ ├── style.cpp
│ │ ├── style.h
│ │ ├── style_abstract.h
│ │ ├── widgets.cpp
│ │ ├── widgets.h
│ │ └── widgets_abstract.h
│ ├── gui_widgets.h
│ ├── hash.h
│ ├── hash_map/
│ │ ├── hash_map_kernel_1.h
│ │ ├── hash_map_kernel_abstract.h
│ │ └── hash_map_kernel_c.h
│ ├── hash_map.h
│ ├── hash_set/
│ │ ├── hash_set_kernel_1.h
│ │ ├── hash_set_kernel_abstract.h
│ │ └── hash_set_kernel_c.h
│ ├── hash_set.h
│ ├── hash_table/
│ │ ├── hash_table_kernel_1.h
│ │ ├── hash_table_kernel_2.h
│ │ ├── hash_table_kernel_abstract.h
│ │ └── hash_table_kernel_c.h
│ ├── hash_table.h
│ ├── http_client/
│ │ ├── http_client.cpp
│ │ ├── http_client.h
│ │ └── http_client_abstract.h
│ ├── image_io.h
│ ├── image_keypoint/
│ │ ├── binned_vector_feature_image.h
│ │ ├── binned_vector_feature_image_abstract.h
│ │ ├── build_separable_poly_filters.h
│ │ ├── draw_surf_points.h
│ │ ├── draw_surf_points_abstract.h
│ │ ├── fine_hog_image.h
│ │ ├── fine_hog_image_abstract.h
│ │ ├── hashed_feature_image.h
│ │ ├── hashed_feature_image_abstract.h
│ │ ├── hessian_pyramid.h
│ │ ├── hessian_pyramid_abstract.h
│ │ ├── hog.h
│ │ ├── hog_abstract.h
│ │ ├── nearest_neighbor_feature_image.h
│ │ ├── nearest_neighbor_feature_image_abstract.h
│ │ ├── poly_image.h
│ │ ├── poly_image_abstract.h
│ │ ├── surf.h
│ │ └── surf_abstract.h
│ ├── image_keypoint.h
│ ├── image_loader/
│ │ ├── image_loader.h
│ │ ├── image_loader_abstract.h
│ │ ├── jpeg_loader.cpp
│ │ ├── jpeg_loader.h
│ │ ├── jpeg_loader_abstract.h
│ │ ├── jxl_loader.cpp
│ │ ├── jxl_loader.h
│ │ ├── jxl_loader_abstract.h
│ │ ├── load_image.h
│ │ ├── load_image_abstract.h
│ │ ├── png_loader.cpp
│ │ ├── png_loader.h
│ │ ├── png_loader_abstract.h
│ │ ├── webp_loader.cpp
│ │ ├── webp_loader.h
│ │ └── webp_loader_abstract.h
│ ├── image_processing/
│ │ ├── box_overlap_testing.h
│ │ ├── box_overlap_testing_abstract.h
│ │ ├── correlation_tracker.h
│ │ ├── correlation_tracker_abstract.h
│ │ ├── detection_template_tools.h
│ │ ├── detection_template_tools_abstract.h
│ │ ├── frontal_face_detector.h
│ │ ├── frontal_face_detector_abstract.h
│ │ ├── full_object_detection.h
│ │ ├── full_object_detection_abstract.h
│ │ ├── generic_image.h
│ │ ├── object_detector.h
│ │ ├── object_detector_abstract.h
│ │ ├── remove_unobtainable_rectangles.h
│ │ ├── remove_unobtainable_rectangles_abstract.h
│ │ ├── render_face_detections.h
│ │ ├── render_face_detections_abstract.h
│ │ ├── scan_fhog_pyramid.h
│ │ ├── scan_fhog_pyramid_abstract.h
│ │ ├── scan_image.h
│ │ ├── scan_image_abstract.h
│ │ ├── scan_image_boxes.h
│ │ ├── scan_image_boxes_abstract.h
│ │ ├── scan_image_custom.h
│ │ ├── scan_image_custom_abstract.h
│ │ ├── scan_image_pyramid.h
│ │ ├── scan_image_pyramid_abstract.h
│ │ ├── scan_image_pyramid_tools.h
│ │ ├── scan_image_pyramid_tools_abstract.h
│ │ ├── setup_hashed_features.h
│ │ ├── setup_hashed_features_abstract.h
│ │ ├── shape_predictor.h
│ │ ├── shape_predictor_abstract.h
│ │ ├── shape_predictor_trainer.h
│ │ └── shape_predictor_trainer_abstract.h
│ ├── image_processing.h
│ ├── image_saver/
│ │ ├── dng_shared.h
│ │ ├── image_saver.h
│ │ ├── image_saver_abstract.h
│ │ ├── save_jpeg.cpp
│ │ ├── save_jpeg.h
│ │ ├── save_jpeg_abstract.h
│ │ ├── save_jxl.cpp
│ │ ├── save_jxl.h
│ │ ├── save_jxl_abstract.h
│ │ ├── save_png.cpp
│ │ ├── save_png.h
│ │ ├── save_png_abstract.h
│ │ ├── save_webp.cpp
│ │ ├── save_webp.h
│ │ └── save_webp_abstract.h
│ ├── image_transforms/
│ │ ├── assign_image.h
│ │ ├── assign_image_abstract.h
│ │ ├── colormaps.h
│ │ ├── colormaps_abstract.h
│ │ ├── draw.h
│ │ ├── draw_abstract.h
│ │ ├── edge_detector.h
│ │ ├── edge_detector_abstract.h
│ │ ├── equalize_histogram.h
│ │ ├── equalize_histogram_abstract.h
│ │ ├── fhog.h
│ │ ├── fhog_abstract.h
│ │ ├── hough_transform.h
│ │ ├── hough_transform_abstract.h
│ │ ├── image_pyramid.h
│ │ ├── image_pyramid_abstract.h
│ │ ├── integral_image.h
│ │ ├── integral_image_abstract.h
│ │ ├── interpolation.h
│ │ ├── interpolation_abstract.h
│ │ ├── label_connected_blobs.h
│ │ ├── label_connected_blobs_abstract.h
│ │ ├── lbp.h
│ │ ├── lbp_abstract.h
│ │ ├── morphological_operations.h
│ │ ├── morphological_operations_abstract.h
│ │ ├── random_color_transform.h
│ │ ├── random_color_transform_abstract.h
│ │ ├── random_cropper.h
│ │ ├── random_cropper_abstract.h
│ │ ├── segment_image.h
│ │ ├── segment_image_abstract.h
│ │ ├── spatial_filtering.h
│ │ ├── spatial_filtering_abstract.h
│ │ ├── thresholding.h
│ │ └── thresholding_abstract.h
│ ├── image_transforms.h
│ ├── interfaces/
│ │ ├── cmd_line_parser_option.h
│ │ ├── enumerable.h
│ │ ├── map_pair.h
│ │ └── remover.h
│ ├── invoke.h
│ ├── iomanip
│ ├── iosfwd
│ ├── iosockstream/
│ │ ├── iosockstream.h
│ │ └── iosockstream_abstract.h
│ ├── iosockstream.h
│ ├── iostream
│ ├── is_kind.h
│ ├── istream
│ ├── java/
│ │ ├── CMakeLists.txt
│ │ ├── cmake_swig_jni
│ │ ├── java_array.h
│ │ ├── run_test.sh
│ │ ├── swig_api.h
│ │ └── swig_test.java
│ ├── linker/
│ │ ├── linker_kernel_1.cpp
│ │ ├── linker_kernel_1.h
│ │ └── linker_kernel_abstract.h
│ ├── linker.h
│ ├── locale
│ ├── logger/
│ │ ├── extra_logger_headers.cpp
│ │ ├── extra_logger_headers.h
│ │ ├── logger_config_file.cpp
│ │ ├── logger_config_file.h
│ │ ├── logger_kernel_1.cpp
│ │ ├── logger_kernel_1.h
│ │ └── logger_kernel_abstract.h
│ ├── logger.h
│ ├── lsh/
│ │ ├── create_random_projection_hash.h
│ │ ├── create_random_projection_hash_abstract.h
│ │ ├── hashes.h
│ │ ├── hashes_abstract.h
│ │ ├── projection_hash.h
│ │ └── projection_hash_abstract.h
│ ├── lsh.h
│ ├── lz77_buffer/
│ │ ├── lz77_buffer_kernel_1.h
│ │ ├── lz77_buffer_kernel_2.h
│ │ ├── lz77_buffer_kernel_abstract.h
│ │ └── lz77_buffer_kernel_c.h
│ ├── lz77_buffer.h
│ ├── lzp_buffer/
│ │ ├── lzp_buffer_kernel_1.h
│ │ ├── lzp_buffer_kernel_2.h
│ │ ├── lzp_buffer_kernel_abstract.h
│ │ └── lzp_buffer_kernel_c.h
│ ├── lzp_buffer.h
│ ├── manifold_regularization/
│ │ ├── linear_manifold_regularizer.h
│ │ └── linear_manifold_regularizer_abstract.h
│ ├── manifold_regularization.h
│ ├── map/
│ │ ├── map_kernel_1.h
│ │ ├── map_kernel_abstract.h
│ │ └── map_kernel_c.h
│ ├── map.h
│ ├── math/
│ │ ├── bessel.h
│ │ ├── details/
│ │ │ └── bessel.h
│ │ └── windows.h
│ ├── math.h
│ ├── matlab/
│ │ ├── CMakeLists.txt
│ │ ├── README.txt
│ │ ├── call_matlab.h
│ │ ├── cmake_mex_wrapper
│ │ ├── example.m
│ │ ├── example_mex_callback.cpp
│ │ ├── example_mex_class.cpp
│ │ ├── example_mex_function.cpp
│ │ ├── example_mex_struct.cpp
│ │ ├── mex_wrapper.cpp
│ │ ├── sig_traits.h
│ │ ├── subprocess_stream.cpp
│ │ └── subprocess_stream.h
│ ├── matrix/
│ │ ├── cblas_constants.h
│ │ ├── lapack/
│ │ │ ├── fortran_id.h
│ │ │ ├── gees.h
│ │ │ ├── geev.h
│ │ │ ├── geqrf.h
│ │ │ ├── gesdd.h
│ │ │ ├── gesvd.h
│ │ │ ├── getrf.h
│ │ │ ├── ormqr.h
│ │ │ ├── pbtrf.h
│ │ │ ├── potrf.h
│ │ │ ├── syev.h
│ │ │ └── syevr.h
│ │ ├── matrix.h
│ │ ├── matrix_abstract.h
│ │ ├── matrix_assign.h
│ │ ├── matrix_assign_fwd.h
│ │ ├── matrix_blas_bindings.h
│ │ ├── matrix_cholesky.h
│ │ ├── matrix_conj_trans.h
│ │ ├── matrix_conv.h
│ │ ├── matrix_conv_abstract.h
│ │ ├── matrix_data_layout.h
│ │ ├── matrix_data_layout_abstract.h
│ │ ├── matrix_default_mul.h
│ │ ├── matrix_eigenvalue.h
│ │ ├── matrix_exp.h
│ │ ├── matrix_exp_abstract.h
│ │ ├── matrix_expressions.h
│ │ ├── matrix_fft.h
│ │ ├── matrix_fft_abstract.h
│ │ ├── matrix_fwd.h
│ │ ├── matrix_generic_image.h
│ │ ├── matrix_la.h
│ │ ├── matrix_la_abstract.h
│ │ ├── matrix_lu.h
│ │ ├── matrix_mat.h
│ │ ├── matrix_mat_abstract.h
│ │ ├── matrix_math_functions.h
│ │ ├── matrix_math_functions_abstract.h
│ │ ├── matrix_op.h
│ │ ├── matrix_qr.h
│ │ ├── matrix_read_from_istream.h
│ │ ├── matrix_subexp.h
│ │ ├── matrix_subexp_abstract.h
│ │ ├── matrix_trsm.h
│ │ ├── matrix_utilities.h
│ │ ├── matrix_utilities_abstract.h
│ │ ├── symmetric_matrix_cache.h
│ │ └── symmetric_matrix_cache_abstract.h
│ ├── matrix.h
│ ├── md5/
│ │ ├── md5_kernel_1.cpp
│ │ ├── md5_kernel_1.h
│ │ └── md5_kernel_abstract.h
│ ├── md5.h
│ ├── media/
│ │ ├── ffmpeg_demuxer.h
│ │ ├── ffmpeg_details.h
│ │ ├── ffmpeg_muxer.h
│ │ ├── ffmpeg_utils.h
│ │ └── sink.h
│ ├── media.h
│ ├── member_function_pointer/
│ │ ├── make_mfp.h
│ │ ├── make_mfp_abstract.h
│ │ ├── member_function_pointer_kernel_1.h
│ │ └── member_function_pointer_kernel_abstract.h
│ ├── member_function_pointer.h
│ ├── memory_manager/
│ │ ├── memory_manager_kernel_1.h
│ │ ├── memory_manager_kernel_2.h
│ │ ├── memory_manager_kernel_3.h
│ │ └── memory_manager_kernel_abstract.h
│ ├── memory_manager.h
│ ├── memory_manager_global/
│ │ ├── memory_manager_global_kernel_1.h
│ │ └── memory_manager_global_kernel_abstract.h
│ ├── memory_manager_global.h
│ ├── memory_manager_stateless/
│ │ ├── memory_manager_stateless_kernel_1.h
│ │ ├── memory_manager_stateless_kernel_2.h
│ │ └── memory_manager_stateless_kernel_abstract.h
│ ├── memory_manager_stateless.h
│ ├── metaprogramming.h
│ ├── misc_api/
│ │ ├── misc_api_kernel_1.cpp
│ │ ├── misc_api_kernel_1.h
│ │ ├── misc_api_kernel_2.cpp
│ │ ├── misc_api_kernel_2.h
│ │ ├── misc_api_kernel_abstract.h
│ │ ├── misc_api_shared.h
│ │ ├── posix.h
│ │ └── windows.h
│ ├── misc_api.h
│ ├── mlp/
│ │ ├── mlp_kernel_1.h
│ │ ├── mlp_kernel_abstract.h
│ │ └── mlp_kernel_c.h
│ ├── mlp.h
│ ├── noncopyable.h
│ ├── numeric_constants.h
│ ├── numerical_integration/
│ │ ├── integrate_function_adapt_simpson.h
│ │ └── integrate_function_adapt_simpson_abstract.h
│ ├── numerical_integration.h
│ ├── opencv/
│ │ ├── cv_image.h
│ │ ├── cv_image_abstract.h
│ │ ├── to_open_cv.h
│ │ └── to_open_cv_abstract.h
│ ├── opencv.h
│ ├── optimization/
│ │ ├── elastic_net.h
│ │ ├── elastic_net_abstract.h
│ │ ├── find_max_factor_graph_nmplp.h
│ │ ├── find_max_factor_graph_nmplp_abstract.h
│ │ ├── find_max_factor_graph_viterbi.h
│ │ ├── find_max_factor_graph_viterbi_abstract.h
│ │ ├── find_max_parse_cky.h
│ │ ├── find_max_parse_cky_abstract.h
│ │ ├── find_optimal_parameters.h
│ │ ├── find_optimal_parameters_abstract.h
│ │ ├── isotonic_regression.h
│ │ ├── isotonic_regression_abstract.h
│ │ ├── max_cost_assignment.h
│ │ ├── max_cost_assignment_abstract.h
│ │ ├── max_sum_submatrix.h
│ │ ├── max_sum_submatrix_abstract.h
│ │ ├── optimization.h
│ │ ├── optimization_abstract.h
│ │ ├── optimization_bobyqa.h
│ │ ├── optimization_bobyqa_abstract.h
│ │ ├── optimization_least_squares.h
│ │ ├── optimization_least_squares_abstract.h
│ │ ├── optimization_line_search.h
│ │ ├── optimization_line_search_abstract.h
│ │ ├── optimization_oca.h
│ │ ├── optimization_oca_abstract.h
│ │ ├── optimization_search_strategies.h
│ │ ├── optimization_search_strategies_abstract.h
│ │ ├── optimization_solve_qp2_using_smo.h
│ │ ├── optimization_solve_qp2_using_smo_abstract.h
│ │ ├── optimization_solve_qp3_using_smo.h
│ │ ├── optimization_solve_qp3_using_smo_abstract.h
│ │ ├── optimization_solve_qp_using_smo.h
│ │ ├── optimization_solve_qp_using_smo_abstract.h
│ │ ├── optimization_stop_strategies.h
│ │ ├── optimization_stop_strategies_abstract.h
│ │ ├── optimization_trust_region.h
│ │ └── optimization_trust_region_abstract.h
│ ├── optimization.h
│ ├── optional.h
│ ├── ostream
│ ├── overloaded.h
│ ├── pipe/
│ │ ├── pipe_kernel_1.h
│ │ └── pipe_kernel_abstract.h
│ ├── pipe.h
│ ├── pixel.h
│ ├── platform.h
│ ├── python/
│ │ ├── numpy_image.h
│ │ ├── pyassert.h
│ │ ├── pybind_utils.h
│ │ └── serialize_pickle.h
│ ├── python.h
│ ├── quantum_computing/
│ │ ├── quantum_computing.h
│ │ └── quantum_computing_abstract.h
│ ├── quantum_computing.h
│ ├── queue/
│ │ ├── queue_kernel_1.h
│ │ ├── queue_kernel_2.h
│ │ ├── queue_kernel_abstract.h
│ │ ├── queue_kernel_c.h
│ │ ├── queue_sort_1.h
│ │ └── queue_sort_abstract.h
│ ├── queue.h
│ ├── rand/
│ │ ├── mersenne_twister.h
│ │ ├── rand_kernel_1.h
│ │ └── rand_kernel_abstract.h
│ ├── rand.h
│ ├── random_forest/
│ │ ├── random_forest_regression.h
│ │ └── random_forest_regression_abstract.h
│ ├── random_forest.h
│ ├── ref.h
│ ├── reference_counter/
│ │ ├── reference_counter_kernel_1.h
│ │ └── reference_counter_kernel_abstract.h
│ ├── reference_counter.h
│ ├── revision.h.in
│ ├── scope.h
│ ├── sequence/
│ │ ├── sequence_compare_1.h
│ │ ├── sequence_compare_abstract.h
│ │ ├── sequence_kernel_1.h
│ │ ├── sequence_kernel_2.h
│ │ ├── sequence_kernel_abstract.h
│ │ ├── sequence_kernel_c.h
│ │ ├── sequence_sort_1.h
│ │ ├── sequence_sort_2.h
│ │ └── sequence_sort_abstract.h
│ ├── sequence.h
│ ├── serialize.h
│ ├── server/
│ │ ├── server_http.cpp
│ │ ├── server_http.h
│ │ ├── server_http_abstract.h
│ │ ├── server_iostream.cpp
│ │ ├── server_iostream.h
│ │ ├── server_iostream_abstract.h
│ │ ├── server_kernel.cpp
│ │ ├── server_kernel.h
│ │ └── server_kernel_abstract.h
│ ├── server.h
│ ├── set/
│ │ ├── set_compare_1.h
│ │ ├── set_compare_abstract.h
│ │ ├── set_kernel_1.h
│ │ ├── set_kernel_abstract.h
│ │ └── set_kernel_c.h
│ ├── set.h
│ ├── set_utils/
│ │ ├── set_utils.h
│ │ └── set_utils_abstract.h
│ ├── set_utils.h
│ ├── simd/
│ │ ├── simd4f.h
│ │ ├── simd4i.h
│ │ ├── simd8f.h
│ │ ├── simd8i.h
│ │ └── simd_check.h
│ ├── simd.h
│ ├── sliding_buffer/
│ │ ├── circular_buffer.h
│ │ ├── circular_buffer_abstract.h
│ │ ├── sliding_buffer_kernel_1.h
│ │ ├── sliding_buffer_kernel_abstract.h
│ │ └── sliding_buffer_kernel_c.h
│ ├── sliding_buffer.h
│ ├── smart_pointers/
│ │ ├── scoped_ptr.h
│ │ ├── shared_ptr.h
│ │ ├── shared_ptr_abstract.h
│ │ ├── shared_ptr_thread_safe.h
│ │ ├── shared_ptr_thread_safe_abstract.h
│ │ ├── weak_ptr.h
│ │ └── weak_ptr_abstract.h
│ ├── smart_pointers.h
│ ├── smart_pointers_thread_safe.h
│ ├── sockets/
│ │ ├── posix.h
│ │ ├── sockets_extensions.cpp
│ │ ├── sockets_extensions.h
│ │ ├── sockets_extensions_abstract.h
│ │ ├── sockets_kernel_1.cpp
│ │ ├── sockets_kernel_1.h
│ │ ├── sockets_kernel_2.cpp
│ │ ├── sockets_kernel_2.h
│ │ ├── sockets_kernel_abstract.h
│ │ └── windows.h
│ ├── sockets.h
│ ├── sockstreambuf/
│ │ ├── sockstreambuf.cpp
│ │ ├── sockstreambuf.h
│ │ ├── sockstreambuf_abstract.h
│ │ ├── sockstreambuf_unbuffered.cpp
│ │ └── sockstreambuf_unbuffered.h
│ ├── sockstreambuf.h
│ ├── sort.h
│ ├── sparse_vector.h
│ ├── sqlite/
│ │ ├── sqlite.h
│ │ ├── sqlite_abstract.h
│ │ ├── sqlite_tools.h
│ │ └── sqlite_tools_abstract.h
│ ├── sqlite.h
│ ├── sstream
│ ├── stack/
│ │ ├── stack_kernel_1.h
│ │ ├── stack_kernel_abstract.h
│ │ └── stack_kernel_c.h
│ ├── stack.h
│ ├── stack_trace.cpp
│ ├── stack_trace.h
│ ├── static_map/
│ │ ├── static_map_kernel_1.h
│ │ ├── static_map_kernel_abstract.h
│ │ └── static_map_kernel_c.h
│ ├── static_map.h
│ ├── static_set/
│ │ ├── static_set_compare_1.h
│ │ ├── static_set_compare_abstract.h
│ │ ├── static_set_kernel_1.h
│ │ ├── static_set_kernel_abstract.h
│ │ └── static_set_kernel_c.h
│ ├── static_set.h
│ ├── statistics/
│ │ ├── average_precision.h
│ │ ├── average_precision_abstract.h
│ │ ├── cca.h
│ │ ├── cca_abstract.h
│ │ ├── dpca.h
│ │ ├── dpca_abstract.h
│ │ ├── image_feature_sampling.h
│ │ ├── image_feature_sampling_abstract.h
│ │ ├── lda.h
│ │ ├── lda_abstract.h
│ │ ├── random_subset_selector.h
│ │ ├── random_subset_selector_abstract.h
│ │ ├── running_gradient.h
│ │ ├── running_gradient_abstract.h
│ │ ├── sammon.h
│ │ ├── sammon_abstract.h
│ │ ├── statistics.h
│ │ ├── statistics_abstract.h
│ │ ├── vector_normalizer_frobmetric.h
│ │ └── vector_normalizer_frobmetric_abstract.h
│ ├── statistics.h
│ ├── std_allocator.h
│ ├── stl_checked/
│ │ ├── std_vector_c.h
│ │ └── std_vector_c_abstract.h
│ ├── stl_checked.h
│ ├── string/
│ │ ├── cassert
│ │ ├── iomanip
│ │ ├── iosfwd
│ │ ├── iostream
│ │ ├── locale
│ │ ├── string.h
│ │ └── string_abstract.h
│ ├── string.h
│ ├── svm/
│ │ ├── active_learning.h
│ │ ├── active_learning_abstract.h
│ │ ├── assignment_function.h
│ │ ├── assignment_function_abstract.h
│ │ ├── auto.cpp
│ │ ├── auto.h
│ │ ├── auto_abstract.h
│ │ ├── cross_validate_assignment_trainer.h
│ │ ├── cross_validate_assignment_trainer_abstract.h
│ │ ├── cross_validate_graph_labeling_trainer.h
│ │ ├── cross_validate_graph_labeling_trainer_abstract.h
│ │ ├── cross_validate_multiclass_trainer.h
│ │ ├── cross_validate_multiclass_trainer_abstract.h
│ │ ├── cross_validate_object_detection_trainer.h
│ │ ├── cross_validate_object_detection_trainer_abstract.h
│ │ ├── cross_validate_regression_trainer.h
│ │ ├── cross_validate_regression_trainer_abstract.h
│ │ ├── cross_validate_sequence_labeler.h
│ │ ├── cross_validate_sequence_labeler_abstract.h
│ │ ├── cross_validate_sequence_segmenter.h
│ │ ├── cross_validate_sequence_segmenter_abstract.h
│ │ ├── cross_validate_track_association_trainer.h
│ │ ├── cross_validate_track_association_trainer_abstract.h
│ │ ├── empirical_kernel_map.h
│ │ ├── empirical_kernel_map_abstract.h
│ │ ├── feature_ranking.h
│ │ ├── feature_ranking_abstract.h
│ │ ├── function.h
│ │ ├── function_abstract.h
│ │ ├── kcentroid.h
│ │ ├── kcentroid_abstract.h
│ │ ├── kcentroid_overloads.h
│ │ ├── kernel.h
│ │ ├── kernel_abstract.h
│ │ ├── kernel_matrix.h
│ │ ├── kernel_matrix_abstract.h
│ │ ├── kkmeans.h
│ │ ├── kkmeans_abstract.h
│ │ ├── krls.h
│ │ ├── krls_abstract.h
│ │ ├── krr_trainer.h
│ │ ├── krr_trainer_abstract.h
│ │ ├── linearly_independent_subset_finder.h
│ │ ├── linearly_independent_subset_finder_abstract.h
│ │ ├── multiclass_tools.h
│ │ ├── multiclass_tools_abstract.h
│ │ ├── null_df.h
│ │ ├── null_trainer.h
│ │ ├── null_trainer_abstract.h
│ │ ├── num_nonnegative_weights.h
│ │ ├── one_vs_all_decision_function.h
│ │ ├── one_vs_all_decision_function_abstract.h
│ │ ├── one_vs_all_trainer.h
│ │ ├── one_vs_all_trainer_abstract.h
│ │ ├── one_vs_one_decision_function.h
│ │ ├── one_vs_one_decision_function_abstract.h
│ │ ├── one_vs_one_trainer.h
│ │ ├── one_vs_one_trainer_abstract.h
│ │ ├── pegasos.h
│ │ ├── pegasos_abstract.h
│ │ ├── ranking_tools.h
│ │ ├── ranking_tools_abstract.h
│ │ ├── rbf_network.h
│ │ ├── rbf_network_abstract.h
│ │ ├── reduced.h
│ │ ├── reduced_abstract.h
│ │ ├── rls.h
│ │ ├── rls_abstract.h
│ │ ├── roc_trainer.h
│ │ ├── roc_trainer_abstract.h
│ │ ├── rr_trainer.h
│ │ ├── rr_trainer_abstract.h
│ │ ├── rvm.h
│ │ ├── rvm_abstract.h
│ │ ├── sequence_labeler.h
│ │ ├── sequence_labeler_abstract.h
│ │ ├── sequence_segmenter.h
│ │ ├── sequence_segmenter_abstract.h
│ │ ├── simplify_linear_decision_function.h
│ │ ├── simplify_linear_decision_function_abstract.h
│ │ ├── sort_basis_vectors.h
│ │ ├── sort_basis_vectors_abstract.h
│ │ ├── sparse_kernel.h
│ │ ├── sparse_kernel_abstract.h
│ │ ├── sparse_vector.h
│ │ ├── sparse_vector_abstract.h
│ │ ├── structural_assignment_trainer.h
│ │ ├── structural_assignment_trainer_abstract.h
│ │ ├── structural_graph_labeling_trainer.h
│ │ ├── structural_graph_labeling_trainer_abstract.h
│ │ ├── structural_object_detection_trainer.h
│ │ ├── structural_object_detection_trainer_abstract.h
│ │ ├── structural_sequence_labeling_trainer.h
│ │ ├── structural_sequence_labeling_trainer_abstract.h
│ │ ├── structural_sequence_segmentation_trainer.h
│ │ ├── structural_sequence_segmentation_trainer_abstract.h
│ │ ├── structural_svm_assignment_problem.h
│ │ ├── structural_svm_assignment_problem_abstract.h
│ │ ├── structural_svm_distributed.h
│ │ ├── structural_svm_distributed_abstract.h
│ │ ├── structural_svm_graph_labeling_problem.h
│ │ ├── structural_svm_graph_labeling_problem_abstract.h
│ │ ├── structural_svm_object_detection_problem.h
│ │ ├── structural_svm_object_detection_problem_abstract.h
│ │ ├── structural_svm_problem.h
│ │ ├── structural_svm_problem_abstract.h
│ │ ├── structural_svm_problem_threaded.h
│ │ ├── structural_svm_problem_threaded_abstract.h
│ │ ├── structural_svm_sequence_labeling_problem.h
│ │ ├── structural_svm_sequence_labeling_problem_abstract.h
│ │ ├── structural_track_association_trainer.h
│ │ ├── structural_track_association_trainer_abstract.h
│ │ ├── svm.h
│ │ ├── svm_abstract.h
│ │ ├── svm_c_ekm_trainer.h
│ │ ├── svm_c_ekm_trainer_abstract.h
│ │ ├── svm_c_linear_dcd_trainer.h
│ │ ├── svm_c_linear_dcd_trainer_abstract.h
│ │ ├── svm_c_linear_trainer.h
│ │ ├── svm_c_linear_trainer_abstract.h
│ │ ├── svm_c_trainer.h
│ │ ├── svm_c_trainer_abstract.h
│ │ ├── svm_multiclass_linear_trainer.h
│ │ ├── svm_multiclass_linear_trainer_abstract.h
│ │ ├── svm_nu_trainer.h
│ │ ├── svm_nu_trainer_abstract.h
│ │ ├── svm_one_class_trainer.h
│ │ ├── svm_one_class_trainer_abstract.h
│ │ ├── svm_rank_trainer.h
│ │ ├── svm_rank_trainer_abstract.h
│ │ ├── svm_threaded.h
│ │ ├── svm_threaded_abstract.h
│ │ ├── svr_linear_trainer.h
│ │ ├── svr_linear_trainer_abstract.h
│ │ ├── svr_trainer.h
│ │ ├── svr_trainer_abstract.h
│ │ ├── track_association_function.h
│ │ └── track_association_function_abstract.h
│ ├── svm.h
│ ├── svm_threaded.h
│ ├── sync_extension/
│ │ ├── sync_extension_kernel_1.h
│ │ └── sync_extension_kernel_abstract.h
│ ├── sync_extension.h
│ ├── test/
│ │ ├── CMakeLists.txt
│ │ ├── WINDOWS_build_and_run_all_unit_tests.bat
│ │ ├── active_learning.cpp
│ │ ├── any.cpp
│ │ ├── any_function.cpp
│ │ ├── array.cpp
│ │ ├── array2d.cpp
│ │ ├── assignment_learning.cpp
│ │ ├── base64.cpp
│ │ ├── bayes_nets.cpp
│ │ ├── bigint.cpp
│ │ ├── binary_search_tree.h
│ │ ├── binary_search_tree_kernel_1a.cpp
│ │ ├── binary_search_tree_kernel_2a.cpp
│ │ ├── binary_search_tree_mm1.cpp
│ │ ├── binary_search_tree_mm2.cpp
│ │ ├── blas_bindings/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── blas_bindings_dot.cpp
│ │ │ ├── blas_bindings_gemm.cpp
│ │ │ ├── blas_bindings_gemv.cpp
│ │ │ ├── blas_bindings_ger.cpp
│ │ │ ├── blas_bindings_scal_axpy.cpp
│ │ │ └── vector.cpp
│ │ ├── bridge.cpp
│ │ ├── bsp.cpp
│ │ ├── byte_orderer.cpp
│ │ ├── cca.cpp
│ │ ├── checkerboard.h
│ │ ├── clustering.cpp
│ │ ├── cmd_line_parser.cpp
│ │ ├── cmd_line_parser.h
│ │ ├── cmd_line_parser_wchar_t.cpp
│ │ ├── compress_stream.cpp
│ │ ├── conditioning_class.cpp
│ │ ├── conditioning_class.h
│ │ ├── conditioning_class_c.cpp
│ │ ├── config_reader.cpp
│ │ ├── constexpr_if.cpp
│ │ ├── correlation_tracker.cpp
│ │ ├── crc32.cpp
│ │ ├── create_iris_datafile.cpp
│ │ ├── create_iris_datafile.h
│ │ ├── cublas.cpp
│ │ ├── data_io.cpp
│ │ ├── directed_graph.cpp
│ │ ├── discriminant_pca.cpp
│ │ ├── disjoint_subsets.cpp
│ │ ├── disjoint_subsets_sized.cpp
│ │ ├── dnn.cpp
│ │ ├── ekm_and_lisf.cpp
│ │ ├── elastic_net.cpp
│ │ ├── empirical_kernel_map.cpp
│ │ ├── entropy_coder.cpp
│ │ ├── entropy_encoder_model.cpp
│ │ ├── example.cpp
│ │ ├── example_args.cpp
│ │ ├── examples/
│ │ │ └── CMakeLists.txt
│ │ ├── face.cpp
│ │ ├── ffmpeg.cpp
│ │ ├── ffmpeg_data/
│ │ │ ├── 116-288045-0000.flac
│ │ │ ├── 116-288045-0001.m4a
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MOT17-13-SDP-raw.h265
│ │ │ ├── MOT20-08-raw_shorter.h264
│ │ │ └── details.cfg
│ │ ├── fft.cpp
│ │ ├── fftr_good_data.h
│ │ ├── fhog.cpp
│ │ ├── filtering.cpp
│ │ ├── find_max_factor_graph_nmplp.cpp
│ │ ├── find_max_factor_graph_viterbi.cpp
│ │ ├── find_optimal_parameters.cpp
│ │ ├── geometry.cpp
│ │ ├── global_optimization.cpp
│ │ ├── graph.cpp
│ │ ├── graph_cuts.cpp
│ │ ├── graph_labeler.cpp
│ │ ├── gui/
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── hash.cpp
│ │ ├── hash_map.cpp
│ │ ├── hash_set.cpp
│ │ ├── hash_table.cpp
│ │ ├── hog_image.cpp
│ │ ├── image.cpp
│ │ ├── invoke.cpp
│ │ ├── iosockstream.cpp
│ │ ├── is_same_object.cpp
│ │ ├── isotonic_regression.cpp
│ │ ├── kcentroid.cpp
│ │ ├── kernel_matrix.cpp
│ │ ├── kmeans.cpp
│ │ ├── learning_to_track.cpp
│ │ ├── least_squares.cpp
│ │ ├── linear_manifold_regularizer.cpp
│ │ ├── lspi.cpp
│ │ ├── lz77_buffer.cpp
│ │ ├── main.cpp
│ │ ├── makefile
│ │ ├── map.cpp
│ │ ├── math.cpp
│ │ ├── matrix.cpp
│ │ ├── matrix2.cpp
│ │ ├── matrix3.cpp
│ │ ├── matrix4.cpp
│ │ ├── matrix_chol.cpp
│ │ ├── matrix_eig.cpp
│ │ ├── matrix_lu.cpp
│ │ ├── matrix_qr.cpp
│ │ ├── max_cost_assignment.cpp
│ │ ├── max_sum_submatrix.cpp
│ │ ├── md5.cpp
│ │ ├── member_function_pointer.cpp
│ │ ├── metaprogramming.cpp
│ │ ├── mpc.cpp
│ │ ├── multithreaded_object.cpp
│ │ ├── numerical_integration.cpp
│ │ ├── object_detector.cpp
│ │ ├── oca.cpp
│ │ ├── one_vs_all_trainer.cpp
│ │ ├── one_vs_one_trainer.cpp
│ │ ├── opt_qp_solver.cpp
│ │ ├── optimization.cpp
│ │ ├── optimization_test_functions.cpp
│ │ ├── optimization_test_functions.h
│ │ ├── optional.cpp
│ │ ├── parallel_for.cpp
│ │ ├── parse.cpp
│ │ ├── pipe.cpp
│ │ ├── pixel.cpp
│ │ ├── probabilistic.cpp
│ │ ├── pyramid_down.cpp
│ │ ├── queue.cpp
│ │ ├── rand.cpp
│ │ ├── random_forest.cpp
│ │ ├── ranking.cpp
│ │ ├── read_write_mutex.cpp
│ │ ├── reference_counter.cpp
│ │ ├── rls.cpp
│ │ ├── sammon.cpp
│ │ ├── scan_image.cpp
│ │ ├── scope.cpp
│ │ ├── sequence.cpp
│ │ ├── sequence_labeler.cpp
│ │ ├── sequence_segmenter.cpp
│ │ ├── serialize.cpp
│ │ ├── set.cpp
│ │ ├── sldf.cpp
│ │ ├── sliding_buffer.cpp
│ │ ├── smart_pointers.cpp
│ │ ├── sockets.cpp
│ │ ├── sockets2.cpp
│ │ ├── sockstreambuf.cpp
│ │ ├── sparse_vector.cpp
│ │ ├── stack.cpp
│ │ ├── static_map.cpp
│ │ ├── static_set.cpp
│ │ ├── statistics.cpp
│ │ ├── std_vector_c.cpp
│ │ ├── stft_good_data.h
│ │ ├── string.cpp
│ │ ├── svm.cpp
│ │ ├── svm_c_linear.cpp
│ │ ├── svm_c_linear_dcd.cpp
│ │ ├── svm_multiclass_linear.cpp
│ │ ├── svm_struct.cpp
│ │ ├── svr_linear_trainer.cpp
│ │ ├── symmetric_matrix_cache.cpp
│ │ ├── te.cpp
│ │ ├── tester.cpp
│ │ ├── tester.h
│ │ ├── thread_pool.cpp
│ │ ├── threads.cpp
│ │ ├── timer.cpp
│ │ ├── tokenizer.cpp
│ │ ├── tools/
│ │ │ └── CMakeLists.txt
│ │ ├── trust_region.cpp
│ │ ├── tuple.cpp
│ │ ├── type_safe_union.cpp
│ │ └── vectorstream.cpp
│ ├── test_for_odr_violations.cpp
│ ├── test_for_odr_violations.h
│ ├── threads/
│ │ ├── async.cpp
│ │ ├── async.h
│ │ ├── async_abstract.h
│ │ ├── auto_mutex_extension.h
│ │ ├── auto_mutex_extension_abstract.h
│ │ ├── auto_unlock_extension.h
│ │ ├── auto_unlock_extension_abstract.h
│ │ ├── create_new_thread_extension.h
│ │ ├── create_new_thread_extension_abstract.h
│ │ ├── multithreaded_object_extension.cpp
│ │ ├── multithreaded_object_extension.h
│ │ ├── multithreaded_object_extension_abstract.h
│ │ ├── parallel_for_extension.h
│ │ ├── parallel_for_extension_abstract.h
│ │ ├── posix.h
│ │ ├── read_write_mutex_extension.h
│ │ ├── read_write_mutex_extension_abstract.h
│ │ ├── rmutex_extension.h
│ │ ├── rmutex_extension_abstract.h
│ │ ├── rsignaler_extension.h
│ │ ├── rsignaler_extension_abstract.h
│ │ ├── thread_function_extension.h
│ │ ├── thread_function_extension_abstract.h
│ │ ├── thread_pool_extension.cpp
│ │ ├── thread_pool_extension.h
│ │ ├── thread_pool_extension_abstract.h
│ │ ├── thread_specific_data_extension.h
│ │ ├── thread_specific_data_extension_abstract.h
│ │ ├── threaded_object_extension.cpp
│ │ ├── threaded_object_extension.h
│ │ ├── threaded_object_extension_abstract.h
│ │ ├── threads_kernel.h
│ │ ├── threads_kernel_1.cpp
│ │ ├── threads_kernel_1.h
│ │ ├── threads_kernel_2.cpp
│ │ ├── threads_kernel_2.h
│ │ ├── threads_kernel_abstract.h
│ │ ├── threads_kernel_shared.cpp
│ │ ├── threads_kernel_shared.h
│ │ └── windows.h
│ ├── threads.h
│ ├── time_this.h
│ ├── timeout/
│ │ ├── timeout.h
│ │ └── timeout_abstract.h
│ ├── timeout.h
│ ├── timer/
│ │ ├── timer.cpp
│ │ ├── timer.h
│ │ ├── timer_abstract.h
│ │ └── timer_heavy.h
│ ├── timer.h
│ ├── timing.h
│ ├── tokenizer/
│ │ ├── bpe_tokenizer.h
│ │ ├── bpe_tokenizer_abstract.h
│ │ ├── tokenizer_kernel_1.cpp
│ │ ├── tokenizer_kernel_1.h
│ │ ├── tokenizer_kernel_abstract.h
│ │ └── tokenizer_kernel_c.h
│ ├── tokenizer.h
│ ├── tuple/
│ │ ├── tuple.h
│ │ └── tuple_abstract.h
│ ├── tuple.h
│ ├── type_safe_union/
│ │ ├── type_safe_union_kernel.h
│ │ └── type_safe_union_kernel_abstract.h
│ ├── type_safe_union.h
│ ├── type_traits.h
│ ├── uintn.h
│ ├── unicode/
│ │ ├── unicode.cpp
│ │ ├── unicode.h
│ │ └── unicode_abstract.h
│ ├── unicode.h
│ ├── unordered_pair.h
│ ├── utility.h
│ ├── vectorstream/
│ │ ├── unserialize.h
│ │ ├── unserialize_abstract.h
│ │ ├── vectorstream.h
│ │ └── vectorstream_abstract.h
│ ├── vectorstream.h
│ ├── windows_magic.h
│ ├── xml_parser/
│ │ ├── xml_parser_kernel_1.h
│ │ ├── xml_parser_kernel_abstract.h
│ │ └── xml_parser_kernel_interfaces.h
│ └── xml_parser.h
├── docs/
│ ├── .logger_revnum
│ ├── README.txt
│ ├── bash_helper_functions
│ ├── docs/
│ │ ├── algorithms.xml
│ │ ├── api.xml
│ │ ├── bayes.xml
│ │ ├── books.xml
│ │ ├── change_log.xml
│ │ ├── compile.xml
│ │ ├── compression.xml
│ │ ├── containers.xml
│ │ ├── dlib.css
│ │ ├── dlib.js
│ │ ├── enable_if.html
│ │ ├── faq.xml
│ │ ├── find_max_global_example.webm
│ │ ├── graph_tools.xml
│ │ ├── howto_contribute.xml
│ │ ├── imaging.xml
│ │ ├── index.xml
│ │ ├── intro.xml
│ │ ├── kernel_1a.txt
│ │ ├── kernel_1a.xml
│ │ ├── kernel_1b.txt
│ │ ├── kernel_1b.xml
│ │ ├── kernel_1c.txt
│ │ ├── kernel_1c.xml
│ │ ├── kernel_1da.txt
│ │ ├── kernel_1da.xml
│ │ ├── kernel_1db.txt
│ │ ├── kernel_1db.xml
│ │ ├── kernel_1ea.txt
│ │ ├── kernel_1ea.xml
│ │ ├── kernel_1eb.txt
│ │ ├── kernel_1eb.xml
│ │ ├── kernel_1ec.txt
│ │ ├── kernel_1ec.xml
│ │ ├── kernel_2a.txt
│ │ ├── kernel_2a.xml
│ │ ├── kernel_3a.txt
│ │ ├── kernel_3a.xml
│ │ ├── kernel_3b.txt
│ │ ├── kernel_3b.xml
│ │ ├── license.xml
│ │ ├── linear_algebra.xml
│ │ ├── main_menu.xml
│ │ ├── metaprogramming.xml
│ │ ├── ml.xml
│ │ ├── ml_guide.dia
│ │ ├── network.xml
│ │ ├── old_release_notes.xml
│ │ ├── optimization.xml
│ │ ├── other.xml
│ │ ├── parsing.xml
│ │ ├── python/
│ │ │ ├── conf.py
│ │ │ ├── generate_dlib_listing.py
│ │ │ └── index.rst
│ │ ├── release_notes.xml
│ │ ├── stylesheet.xsl
│ │ ├── term_index.xml
│ │ └── watershed.webm
│ ├── makedocs
│ ├── makerel
│ ├── testenv
│ └── testenv_rel
├── examples/
│ ├── 3d_point_cloud_ex.cpp
│ ├── CMakeLists.txt
│ ├── LICENSE_FOR_EXAMPLE_PROGRAMS.txt
│ ├── assignment_learning_ex.cpp
│ ├── bayes_net_ex.cpp
│ ├── bayes_net_from_disk_ex.cpp
│ ├── bayes_net_gui_ex.cpp
│ ├── bridge_ex.cpp
│ ├── bsp_ex.cpp
│ ├── compress_stream_ex.cpp
│ ├── config.txt
│ ├── config_reader_ex.cpp
│ ├── custom_trainer_ex.cpp
│ ├── dir_nav_ex.cpp
│ ├── dnn_dcgan_train_ex.cpp
│ ├── dnn_face_recognition_ex.cpp
│ ├── dnn_imagenet_ex.cpp
│ ├── dnn_imagenet_train_ex.cpp
│ ├── dnn_inception_ex.cpp
│ ├── dnn_instance_segmentation_ex.cpp
│ ├── dnn_instance_segmentation_ex.h
│ ├── dnn_instance_segmentation_train_ex.cpp
│ ├── dnn_introduction2_ex.cpp
│ ├── dnn_introduction3_ex.cpp
│ ├── dnn_introduction_ex.cpp
│ ├── dnn_metric_learning_ex.cpp
│ ├── dnn_metric_learning_on_images_ex.cpp
│ ├── dnn_mmod_dog_hipsterizer.cpp
│ ├── dnn_mmod_ex.cpp
│ ├── dnn_mmod_face_detection_ex.cpp
│ ├── dnn_mmod_find_cars2_ex.cpp
│ ├── dnn_mmod_find_cars_ex.cpp
│ ├── dnn_mmod_train_find_cars_ex.cpp
│ ├── dnn_self_supervised_learning_ex.cpp
│ ├── dnn_semantic_segmentation_ex.cpp
│ ├── dnn_semantic_segmentation_ex.h
│ ├── dnn_semantic_segmentation_train_ex.cpp
│ ├── dnn_yolo_train_ex.cpp
│ ├── empirical_kernel_map_ex.cpp
│ ├── face_detection_ex.cpp
│ ├── face_landmark_detection_ex.cpp
│ ├── faces/
│ │ ├── image_metadata_stylesheet.xsl
│ │ ├── testing.xml
│ │ ├── testing_with_face_landmarks.xml
│ │ ├── training.xml
│ │ └── training_with_face_landmarks.xml
│ ├── ffmpeg_file_to_speaker_ex.cpp
│ ├── ffmpeg_info_ex.cpp
│ ├── ffmpeg_microphone_to_file_ex.cpp
│ ├── ffmpeg_rtsp_ex.cpp
│ ├── ffmpeg_screen_grab_ex.cpp
│ ├── ffmpeg_video_decoding2_ex.cpp
│ ├── ffmpeg_video_decoding_ex.cpp
│ ├── ffmpeg_video_demuxing2_ex.cpp
│ ├── ffmpeg_video_demuxing_ex.cpp
│ ├── ffmpeg_video_encoding_ex.cpp
│ ├── ffmpeg_video_muxing_ex.cpp
│ ├── ffmpeg_webcam_face_pose_ex.cpp
│ ├── fhog_ex.cpp
│ ├── fhog_object_detector_ex.cpp
│ ├── file_to_code_ex.cpp
│ ├── graph_labeling_ex.cpp
│ ├── gui_api_ex.cpp
│ ├── hough_transform_ex.cpp
│ ├── image_ex.cpp
│ ├── integrate_function_adapt_simp_ex.cpp
│ ├── iosockstream_ex.cpp
│ ├── kcentroid_ex.cpp
│ ├── kkmeans_ex.cpp
│ ├── krls_ex.cpp
│ ├── krls_filter_ex.cpp
│ ├── krr_classification_ex.cpp
│ ├── krr_regression_ex.cpp
│ ├── learning_to_track_ex.cpp
│ ├── least_squares_ex.cpp
│ ├── linear_manifold_regularizer_ex.cpp
│ ├── logger_custom_output_ex.cpp
│ ├── logger_ex.cpp
│ ├── logger_ex_2.cpp
│ ├── matrix_ex.cpp
│ ├── matrix_expressions_ex.cpp
│ ├── max_cost_assignment_ex.cpp
│ ├── member_function_pointer_ex.cpp
│ ├── mlp_ex.cpp
│ ├── model_selection_ex.cpp
│ ├── mpc_ex.cpp
│ ├── multiclass_classification_ex.cpp
│ ├── multithreaded_object_ex.cpp
│ ├── object_detector_advanced_ex.cpp
│ ├── object_detector_ex.cpp
│ ├── one_class_classifiers_ex.cpp
│ ├── optimization_ex.cpp
│ ├── parallel_for_ex.cpp
│ ├── pascal_voc_2012.h
│ ├── pipe_ex.cpp
│ ├── pipe_ex_2.cpp
│ ├── quantum_computing_ex.cpp
│ ├── queue_ex.cpp
│ ├── random_cropper_ex.cpp
│ ├── rank_features_ex.cpp
│ ├── resnet.h
│ ├── running_stats_ex.cpp
│ ├── rvm_ex.cpp
│ ├── rvm_regression_ex.cpp
│ ├── sequence_labeler_ex.cpp
│ ├── sequence_segmenter_ex.cpp
│ ├── server_http_ex.cpp
│ ├── server_iostream_ex.cpp
│ ├── slm_advanced_train_ex.cpp
│ ├── slm_basic_train_ex.cpp
│ ├── slm_data.h
│ ├── slm_defs.h
│ ├── sockets_ex.cpp
│ ├── sockstreambuf_ex.cpp
│ ├── sqlite_ex.cpp
│ ├── std_allocator_ex.cpp
│ ├── surf_ex.cpp
│ ├── svm_c_ex.cpp
│ ├── svm_ex.cpp
│ ├── svm_pegasos_ex.cpp
│ ├── svm_rank_ex.cpp
│ ├── svm_sparse_ex.cpp
│ ├── svm_struct_ex.cpp
│ ├── svr_ex.cpp
│ ├── thread_function_ex.cpp
│ ├── thread_pool_ex.cpp
│ ├── threaded_object_ex.cpp
│ ├── threads_ex.cpp
│ ├── timer_ex.cpp
│ ├── train_object_detector.cpp
│ ├── train_shape_predictor_ex.cpp
│ ├── using_custom_kernels_ex.cpp
│ ├── video_frames/
│ │ └── license.txt
│ ├── video_tracking_ex.cpp
│ ├── webcam_face_pose_ex.cpp
│ └── xml_parser_ex.cpp
├── pyproject.toml
├── python_examples/
│ ├── LICENSE_FOR_EXAMPLE_PROGRAMS.txt
│ ├── cnn_face_detector.py
│ ├── correlation_tracker.py
│ ├── face_alignment.py
│ ├── face_clustering.py
│ ├── face_detector.py
│ ├── face_jitter.py
│ ├── face_landmark_detection.py
│ ├── face_recognition.py
│ ├── find_candidate_object_locations.py
│ ├── global_optimization.py
│ ├── max_cost_assignment.py
│ ├── opencv_webcam_face_detection.py
│ ├── requirements.txt
│ ├── sequence_segmenter.py
│ ├── svm_binary_classifier.py
│ ├── svm_rank.py
│ ├── svm_struct.py
│ ├── train_object_detector.py
│ └── train_shape_predictor.py
├── setup.py
└── tools/
├── archive/
│ ├── CMakeLists.txt
│ └── train_face_5point_model.cpp
├── convert_dlib_nets_to_caffe/
│ ├── CMakeLists.txt
│ ├── main.cpp
│ └── running_a_dlib_model_with_caffe_example.py
├── htmlify/
│ ├── CMakeLists.txt
│ ├── htmlify.cpp
│ ├── to_xml.cpp
│ ├── to_xml.h
│ └── to_xml_example/
│ ├── example.xml
│ ├── output.xml
│ ├── stylesheet.xsl
│ └── test.cpp
├── imglab/
│ ├── CMakeLists.txt
│ ├── README.txt
│ ├── convert_imglab_paths_to_relative
│ ├── copy_imglab_dataset
│ └── src/
│ ├── cluster.cpp
│ ├── cluster.h
│ ├── common.cpp
│ ├── common.h
│ ├── convert_idl.cpp
│ ├── convert_idl.h
│ ├── convert_pascal_v1.cpp
│ ├── convert_pascal_v1.h
│ ├── convert_pascal_xml.cpp
│ ├── convert_pascal_xml.h
│ ├── flip_dataset.cpp
│ ├── flip_dataset.h
│ ├── main.cpp
│ ├── metadata_editor.cpp
│ └── metadata_editor.h
├── python/
│ ├── CMakeLists.txt
│ ├── dlib/
│ │ └── __init__.py.in
│ ├── src/
│ │ ├── basic.cpp
│ │ ├── cca.cpp
│ │ ├── cnn_face_detector.cpp
│ │ ├── conversion.h
│ │ ├── correlation_tracker.cpp
│ │ ├── decision_functions.cpp
│ │ ├── dlib.cpp
│ │ ├── face_recognition.cpp
│ │ ├── global_optimization.cpp
│ │ ├── gui.cpp
│ │ ├── image.cpp
│ │ ├── image2.cpp
│ │ ├── image3.cpp
│ │ ├── image4.cpp
│ │ ├── image_dataset_metadata.cpp
│ │ ├── indexing.h
│ │ ├── line.cpp
│ │ ├── matrix.cpp
│ │ ├── numpy_returns.cpp
│ │ ├── object_detection.cpp
│ │ ├── opaque_types.h
│ │ ├── other.cpp
│ │ ├── rectangles.cpp
│ │ ├── sequence_segmenter.cpp
│ │ ├── serialize_object_detector.h
│ │ ├── shape_predictor.cpp
│ │ ├── shape_predictor.h
│ │ ├── simple_object_detector.h
│ │ ├── simple_object_detector_py.h
│ │ ├── svm_c_trainer.cpp
│ │ ├── svm_rank_trainer.cpp
│ │ ├── svm_struct.cpp
│ │ ├── testing_results.h
│ │ └── vector.cpp
│ └── test/
│ ├── .gitignore
│ ├── generate_numpy_returns_test_data.py
│ ├── shape.pkl
│ ├── test_array.py
│ ├── test_chinese_whispers.py
│ ├── test_global_optimization.py
│ ├── test_matrix.py
│ ├── test_numpy_returns.py
│ ├── test_point.py
│ ├── test_range.py
│ ├── test_rgb_pixel.py
│ ├── test_sparse_vector.py
│ ├── test_svm_c_trainer.py
│ ├── test_vector.py
│ └── utils.py
└── visual_studio_natvis/
├── README.txt
└── dlib.natvis
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/bug.yml
================================================
name: Bug Report
description: Create a bug report.
title: "[Bug]: "
assignees: []
body:
- type: markdown
attributes:
value: |
Before you ask a question, check Google for a solution, [the dlib FAQ](http://dlib.net/faq.html), or consult the dlib documentation. Every single function in dlib is documented in detail. If you obviously haven't read the documentation your issue will be closed.
- type: dropdown
id: platform
attributes:
label: What Operating System(s) are you seeing this problem on?
description: Select all that apply
multiple: true
options:
- Linux (x86-64)
- Linux (aarch64)
- macOS (Intel)
- macOS (Apple Silicon)
- Windows
- Other (plase, specify in the Steps to Reproduce)
validations:
required: true
- type: input
id: version
attributes:
label: dlib version
description: "The commit hash, tag name, or package version"
placeholder: "19.24"
validations:
required: true
- type: input
id: python
attributes:
label: Python version
description: "The version of Python you are using"
placeholder: "3.8"
validations:
required: false
- type: input
id: compiler
attributes:
label: Compiler
description: "The compiler and version you used to build dlib from source"
placeholder: "e.g.: GCC 9, MSVC 19, clang 10"
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: |
A clear and concise description of what you expected to happen
- type: textarea
id: current
attributes:
label: Current Behavior
description: A clear and concise description of what the bug is
placeholder: |
Tell us what happened. Expain in detail the current behavior.
validations:
required: true
- type: textarea
id: reproduce
validations:
required: true
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |
Please include as much information as possible that can help to reproduce and
understand the issue. Including a minimal example that reproduces the bug is very useful.
- type: textarea
id: other
attributes:
label: Anything else?
description: |
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: 💬 Discussions
url: https://github.com/davisking/dlib/discussions
about: Please start usage discussions here
================================================
FILE: .github/ISSUE_TEMPLATE/feature.yml
================================================
name: Feature Request
description: Suggest an idea for dlib
labels: type:enhancement
assignees: []
body:
- type: markdown
attributes:
value: |
It is OK to suggest interesting improvements to dlib, even if you are not volunteering to implement them.
**However, the issue tracker is not a code writing service, do not ask for someone to write code for you**.
E.g. Do not ask for feature improvements to the example programs.
**If there is some feature improvement you want in an example program then it's up to you to write it**.
- type: textarea
id: description
attributes:
label: Main idea
description: Describe what you want to add or improve
validations:
required: true
- type: textarea
id: other
attributes:
label: Anything else?
description: Add any other context about the suggestion here.
================================================
FILE: .github/workflows/build_cpp.yml
================================================
name: C++
on:
push:
branches:
- master
paths:
- ".github/workflows/build_cpp.yml"
- "**.cpp"
- "**.h"
- "**.c"
- "**.cu"
- "**.cmake"
- "**CMakeLists.txt"
pull_request:
branches:
- master
paths:
- ".github/workflows/build_cpp.yml"
- "**.cpp"
- "**.h"
- "**.c"
- "**.cu"
- "**.cmake"
- "**CMakeLists.txt"
defaults:
run:
shell: bash
working-directory: dlib/test
jobs:
ubuntu-22-04-gcc-default-cmake-3-17-ffmpeg5:
runs-on: 'ubuntu-22.04'
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install libwebp-dev make yasm
- name: Cache cmake 3.17.0
uses: actions/cache@v3
id: cache-cmake-download
with:
# cache this folder:
path: ~/cmake-3.17.0-Linux-x86_64
key: cmake-3.17.0_try3
- run: |
# Get the minimum version of cmake dlib supports
wget https://cmake.org/files/v3.17/cmake-3.17.0-Linux-x86_64.tar.gz
tar -xf cmake-3.17.0-Linux-x86_64.tar.gz -C ~
if: steps.cache-cmake-download.outputs.cache-hit != 'true'
- name: Cache FFmpeg 5
uses: actions/cache@v3
id: cache-ffmpeg5
with:
path: /home/runner/ffmpeg-n5.1.3_installation
key: ffmpeg-n5.1.3_try4
- name: Build FFmpeg 5
if: steps.cache-ffmpeg5.outputs.cache-hit != 'true'
run: |
wget https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n5.1.3.tar.gz
tar -xf n5.1.3.tar.gz
cd FFmpeg-n5.1.3
./configure --prefix=/home/runner/ffmpeg-n5.1.3_installation --disable-doc --disable-programs
make -j4
make install
cd ..
- name: Configure
run: |
mkdir build
cd build
~/cmake-3.17.0-Linux-x86_64/bin/cmake -DCMAKE_PREFIX_PATH=/home/runner/ffmpeg-n5.1.3_installation ..
- name: Build just tests
run: |
cd build
make -j4 dtest
- name: Test
run: build/dtest --runall -q
- name: Build examples, etc
run: |
cd build
make -j2
ubuntu-latest-gcc-11-blas:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install libwebp-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libswresample-dev libswscale-dev libavutil-dev
sudo apt install libopenblas-dev liblapack-dev
- name: Install gcc 11
run: |
sudo apt install gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11
- name: Configure
run: cmake ${{ github.workspace }}/dlib/test -B build
- name: Build just tests
run: cmake --build build --config Release --target dtest --parallel 4
- name: Test
run: build/dtest --runall -q
- name: Build examples, etc
run: cmake --build build --config Release --parallel 2
# Test the BLAS bindings
- name: Configure BLAS binding tests
run: cmake ${{ github.workspace }}/dlib/test/blas_bindings -B build_blas_bindings
- name: Build blas binding tests
run: cmake --build build_blas_bindings --config Debug --parallel 4
- name: Test BLAS bindings
run: build_blas_bindings/dtest --runall -q
ubuntu-latest-clang-default-avx:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install libwebp-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libswresample-dev libswscale-dev libavutil-dev
- name: Configure
run: |
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
cmake ${{ github.workspace }}/dlib/test -B build -DUSE_AVX_INSTRUCTIONS=1
- name: Build just tests
run: cmake --build build --config Release --target dtest --parallel 4
- name: Test
run: build/dtest --runall -q
- name: Build examples, etc
run: cmake --build build --config Release --parallel 2
ubuntu-22-04-ffmpeg701:
runs-on: 'ubuntu-22.04'
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install make yasm
- name: Cache FFmpeg 7
uses: actions/cache@v3
id: cache-ffmpeg7
with:
path: /home/runner/ffmpeg-n7.0.1_installation
key: ffmpeg-n7.0.1_try2
- name: Build FFmpeg 7
if: steps.cache-ffmpeg7.outputs.cache-hit != 'true'
run: |
wget https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.1.tar.gz
tar -xf n7.0.1.tar.gz
cd FFmpeg-n7.0.1
./configure --prefix=/home/runner/ffmpeg-n7.0.1_installation --disable-doc --disable-programs
make -j4
make install
cd ..
- name: Configure
run: cmake . -B build -DCMAKE_PREFIX_PATH=/home/runner/ffmpeg-n7.0.1_installation
- name: Build ffmpeg example
run: cmake --build build --config Release --target ffmpeg_video_muxing_ex --parallel 4
ubuntu-22-04-ffmpeg711:
runs-on: 'ubuntu-22.04'
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt update
sudo apt install make yasm
- name: Cache FFmpeg 7
uses: actions/cache@v3
id: cache-ffmpeg7
with:
path: /home/runner/ffmpeg-n7.1.1_installation
key: ffmpeg-n7.1.1_try1
- name: Build FFmpeg 7
if: steps.cache-ffmpeg7.outputs.cache-hit != 'true'
run: |
wget https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.1.1.tar.gz
tar -xf n7.1.1.tar.gz
cd FFmpeg-n7.1.1
./configure --prefix=/home/runner/ffmpeg-n7.1.1_installation --disable-doc --disable-programs
make -j4
make install
cd ..
- name: Configure
run: cmake . -B build -DCMAKE_PREFIX_PATH=/home/runner/ffmpeg-n7.1.1_installation
- name: Build ffmpeg example
run: cmake --build build --config Release --target ffmpeg_video_muxing_ex --parallel 4
windows-latest:
runs-on: 'windows-latest'
steps:
- uses: actions/checkout@v2
- name: Configure
run: |
# don't use CMake 3.25.0 https://gitlab.kitware.com/cmake/cmake/-/issues/23975
pip3 install cmake==3.24.0
cmake . -B build
- name: Build just tests
run: cmake --build build --config Release --target dtest --parallel 4
- name: Test
run: build/Release/dtest.exe --runall -q
- name: Build ancillary tools
run: cmake --build build --config Release --target imglab htmlify dtoc --parallel 4
# Disable this because macos targets aren't working on github actions right now.
#macos-latest:
# runs-on: 'macos-latest'
# steps:
# - uses: actions/checkout@v2
# - name: Configure
# # MacOS machines often come with low quality BLAS libraries installed, so don't use those.
# run: cmake ${{ github.workspace }}/dlib/test -B build -DDLIB_USE_BLAS=0 -DDLIB_USE_LAPACK=0
# - name: Build just tests
# run: cmake --build build --config Release --target dtest --parallel 4
# - name: Test
# run: build/dtest --runall --no_test_timer -q
# - name: Build examples, etc
# run: cmake --build build --config Release --parallel 2
================================================
FILE: .github/workflows/build_matlab.yml
================================================
name: Matlab
on:
push:
branches:
- master
paths:
- ".github/workflows/build_matlab.yml"
- "**.cpp"
- "**.h"
- "**.c"
- "**.cu"
- "**.cmake"
- "**CMakeLists.txt"
pull_request:
branches:
- master
paths:
- ".github/workflows/build_matlab.yml"
- "**.cpp"
- "**.h"
- "**.c"
- "**.cu"
- "**.cmake"
- "**CMakeLists.txt"
defaults:
run:
shell: bash
working-directory: dlib/matlab
jobs:
mex-wrapper:
runs-on: 'ubuntu-22.04'
steps:
- uses: actions/checkout@v2
- name: Setup MATLAB
uses: matlab-actions/setup-matlab@v1
- name: Compile mex wrappers
run: |
pwd
mkdir build
cd build
cmake ..
cmake --build . --config Release --target install --parallel 4
- name: Run example script
uses: matlab-actions/run-command@v1
with:
command: cd dlib/matlab; example
================================================
FILE: .github/workflows/build_python.yml
================================================
name: Python
on:
push:
branches:
- master
paths:
- ".github/workflows/build_python.yml"
- "**.cpp"
- "**.h"
- "**.c"
- "**.cu"
- "**.cmake"
- "**CMakeLists.txt"
- "**py"
pull_request:
branches:
- master
paths:
- ".github/workflows/build_python.yml"
- "**.cpp"
- "**.h"
- "**.c"
- "**.cu"
- "**.cmake"
- "**CMakeLists.txt"
- "**py"
defaults:
run:
shell: bash
jobs:
Windows:
runs-on: 'windows-latest'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- name: Install python deps
run: |
pip install pytest numpy
# don't use CMake 3.25.0 https://gitlab.kitware.com/cmake/cmake/-/issues/23975
pip3 install cmake==3.24.0
- name: Build
run: |
pip3 install cmake==3.24.0
pip3 install .
- name: Test
run: python -m pytest --ignore docs --ignore dlib
Ubuntu:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- name: Install python deps
run: pip install pytest numpy
- name: Build
run: |
pip install .
- name: Test
run: python -m pytest --ignore docs --ignore dlib
# Disabled for now since something is going sideways with python packages on github actions
# MacOS:
# runs-on: 'macos-latest'
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-python@v4
# - name: Install python deps
# run: pip3 install pytest numpy
# - name: Build
# run: |
# pip install .
# - name: Test
# run: python3 -m pytest --ignore docs --ignore dlib
================================================
FILE: .gitignore
================================================
**/.idea
*~
*.swp
*.o
*.so
*.pyc
build
build2
dist
*.egg-info/
docs/release/
docs/docs/web/
docs/docs/chm/
docs/docs/cache/
docs/docs/git-logs.xml
docs/docs/python/classes.txt
docs/docs/python/functions.txt
docs/docs/python/constants.txt
**/.vscode
**/venv
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.17.0)
project(dlib_project)
#############################################################################
# #
# READ examples/CMakeLists.txt TO SEE HOW TO USE DLIB FROM C++ WITH CMAKE #
# #
#############################################################################
get_directory_property(has_parent PARENT_DIRECTORY)
if(NOT has_parent)
# When you call add_subdirectory(dlib) from a parent CMake project dlib's
# CMake scripts will assume you want to statically compile dlib into
# whatever you are building rather than create a standalone copy of dlib.
# This means CMake will build dlib as a static library, disable dlib's
# install targets so they don't clutter your project, and adjust a few other
# minor things that are convenient when statically building dlib as part of
# your own projects.
#
# On the other hand, if there is no parent CMake project or if
# DLIB_IN_PROJECT_BUILD is set to false, CMake will compile dlib as a normal
# standalone library (either shared or static, based on the state of CMake's
# BUILD_SHARED_LIBS flag), and include the usual install targets so you can
# install dlib on your computer via `make install`. Since the only reason
# to build this CMakeLists.txt (the one you are reading right now) by itself
# is if you want to install dlib, we indicate as such by setting
# DLIB_IN_PROJECT_BUILD to false.
set(DLIB_IN_PROJECT_BUILD false)
endif()
add_subdirectory(dlib)
================================================
FILE: LICENSE.txt
================================================
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
================================================
FILE: MANIFEST.in
================================================
#
# MANIFEST.in
#
# Manifest template for creating the dlib source distribution.
include MANIFEST.in
include setup.py
include README.md
# sources
recursive-include dlib **
recursive-include python_examples *.txt *.py
recursive-include tools/python **
prune tools/python/build*
prune dlib/cmake_utils/*/build*
prune dlib/test
global-exclude *.pyc
================================================
FILE: README.md
================================================
# dlib C++ library [](https://github.com/davisking/dlib/actions/workflows/build_cpp.yml) [](https://github.com/davisking/dlib/actions/workflows/build_python.yml)
Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. See [http://dlib.net](http://dlib.net) for the main project documentation and API reference.
## Compiling dlib C++ example programs
Go into the examples folder and type:
```bash
mkdir build; cd build; cmake .. ; cmake --build .
```
That will build all the examples.
If you have a CPU that supports AVX instructions then turn them on like this:
```bash
mkdir build; cd build; cmake .. -DUSE_AVX_INSTRUCTIONS=1; cmake --build .
```
Doing so will make some things run faster.
Finally, Visual Studio users should usually do everything in 64bit mode. By default Visual Studio is 32bit, both in its outputs and its own execution, so you have to explicitly tell it to use 64bits. Since it's not the 1990s anymore you probably want to use 64bits. Do that with a cmake invocation like this:
```bash
cmake .. -G "Visual Studio 14 2015 Win64" -T host=x64
```
## Compiling your own C++ programs that use dlib
The examples folder has a [CMake tutorial](https://github.com/davisking/dlib/blob/master/examples/CMakeLists.txt) that tells you what to do. There are also additional instructions on the [dlib web site](http://dlib.net/compile.html).
Alternatively, if you are using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager you can download and install dlib with CMake integration in a single command:
```bash
vcpkg install dlib
```
## Compiling dlib Python API
Either fetch the latest stable release of dlib from PyPi and install that:
```bash
pip install dlib
```
Or fetch the very latest version from github and install that:
```bash
git clone https://github.com/davisking/dlib.git
cd dlib
pip install .
```
It's possible to change build settings by passing parameters to `setup.py` or `DLIB_*` environment variables.
For example, setting the environment variable `DLIB_NO_GUI_SUPPORT` to `ON` will add the cmake option
`-DDLIB_NO_GUI_SUPPORT=ON`.
## Running the unit test suite
Type the following to compile and run the dlib unit test suite:
```bash
cd dlib/test
mkdir build
cd build
cmake ..
cmake --build . --config Release
./dtest --runall
```
Note that on windows your compiler might put the test executable in a subfolder called `Release`. If that's the case then you have to go to that folder before running the test.
This library is licensed under the Boost Software License, which can be found in [dlib/LICENSE.txt](https://github.com/davisking/dlib/blob/master/dlib/LICENSE.txt). The long and short of the license is that you can use dlib however you like, even in closed source commercial software.
## dlib sponsors
This research is based in part upon work supported by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA) under contract number 2014-14071600010. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of ODNI, IARPA, or the U.S. Government.
================================================
FILE: dlib/CMakeLists.txt
================================================
#
# This is a CMake makefile. You can find the cmake utility and
# information about it at http://www.cmake.org
#
cmake_minimum_required(VERSION 3.17.0)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
if(POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
project(dlib LANGUAGES C CXX)
set(CPACK_PACKAGE_NAME "dlib")
set(CPACK_PACKAGE_VERSION_MAJOR "20")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "99")
set(VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
# Only print these messages once, even if dlib is added multiple times via add_subdirectory()
if (NOT TARGET dlib)
message(STATUS "Using CMake version: ${CMAKE_VERSION}")
message(STATUS "Compiling dlib version: ${VERSION}")
endif()
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_utils)
include(cmake_utils/set_compiler_specific_options.cmake)
# Adhere to GNU filesystem layout conventions
include(GNUInstallDirs)
if (POLICY CMP0075)
cmake_policy(SET CMP0075 NEW)
endif()
# default to a Release build (except if CMAKE_BUILD_TYPE is set)
include(cmake_utils/release_build_by_default)
# Set DLIB_VERSION in the including CMake file so they can use it to do whatever they want.
get_directory_property(has_parent PARENT_DIRECTORY)
if(has_parent)
set(DLIB_VERSION ${VERSION} PARENT_SCOPE)
if (NOT DEFINED DLIB_IN_PROJECT_BUILD)
set(DLIB_IN_PROJECT_BUILD true)
endif()
endif()
if (COMMAND pybind11_add_module AND MSVC)
# True when building a python extension module using Visual Studio. We care
# about this because a huge number of windows users have broken systems, and
# in particular, they have broken or incompatibly installed copies of things
# like libjpeg or libpng. So if we detect we are in this mode we will never
# ever link to those libraries. Instead, we link to the copy included with
# dlib.
set (BUILDING_PYTHON_IN_MSVC true)
else()
set (BUILDING_PYTHON_IN_MSVC false)
endif()
if (DLIB_IN_PROJECT_BUILD)
# Check if we are being built as part of a pybind11 module.
if (COMMAND pybind11_add_module)
set(CMAKE_POSITION_INDEPENDENT_CODE True)
if (CMAKE_COMPILER_IS_GNUCXX)
# Just setting CMAKE_POSITION_INDEPENDENT_CODE should be enough to set
# -fPIC for GCC but sometimes it still doesn't get set, so make sure it
# does.
add_definitions("-fPIC")
endif()
# Make DLIB_ASSERT statements not abort the python interpreter, but just return an error.
list(APPEND active_preprocessor_switches "-DDLIB_NO_ABORT_ON_2ND_FATAL_ERROR")
endif()
# DLIB_IN_PROJECT_BUILD==true means you are using dlib by invoking
# add_subdirectory(dlib) in the parent project. In this case, we always want
# to build dlib as a static library so the parent project doesn't need to
# deal with some random dlib shared library file. It is much better to
# statically compile dlib into the parent project. So the following bit of
# CMake ensures that happens. However, we have to take care to compile dlib
# with position independent code if appropriate (i.e. if the parent project
# is a shared library).
if (BUILD_SHARED_LIBS)
if (CMAKE_COMPILER_IS_GNUCXX)
# Just setting CMAKE_POSITION_INDEPENDENT_CODE should be enough to set
# -fPIC for GCC but sometimes it still doesn't get set, so make sure it
# does.
add_definitions("-fPIC")
endif()
set(CMAKE_POSITION_INDEPENDENT_CODE true)
endif()
# Tell cmake to build dlib as a static library
set(BUILD_SHARED_LIBS false)
elseif(BUILD_SHARED_LIBS)
if (MSVC)
message(FATAL_ERROR "Building dlib as a standalone dll is not supported when using Visual Studio. You are highly encouraged to use static linking instead. See https://github.com/davisking/dlib/issues/1483 for a discussion.")
endif()
endif()
macro (enable_preprocessor_switch option_name)
list(APPEND active_preprocessor_switches "-D${option_name}")
endmacro()
macro (disable_preprocessor_switch option_name)
if (active_preprocessor_switches)
list(REMOVE_ITEM active_preprocessor_switches "-D${option_name}")
endif()
endmacro()
macro (toggle_preprocessor_switch option_name)
if (${option_name})
enable_preprocessor_switch(${option_name})
else()
disable_preprocessor_switch(${option_name})
endif()
endmacro()
# Suppress superfluous randlib warnings about libdlib.a having no symbols on MacOSX.
if (CMAKE_C_COMPILER_ID STREQUAL "AppleClang")
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
endif()
# Don't try to call add_library(dlib) and setup dlib's stuff if it has already
# been done by some other part of the current cmake project. We do this
# because it avoids getting warnings/errors about cmake policy CMP0002. This
# happens when a project tries to call add_subdirectory() on dlib more than
# once. This most often happens when the top level of a project depends on two
# or more other things which both depend on dlib.
if (NOT TARGET dlib)
set (DLIB_ISO_CPP_ONLY_STR
"Enable this if you don't want to compile any non-ISO C++ code (i.e. you don't use any of the API Wrappers)" )
set (DLIB_NO_GUI_SUPPORT_STR
"Enable this if you don't want to compile any of the dlib GUI code" )
set (DLIB_ENABLE_STACK_TRACE_STR
"Enable this if you want to turn on the DLIB_STACK_TRACE macros" )
set (DLIB_USE_BLAS_STR
"Disable this if you don't want to use a BLAS library" )
set (DLIB_USE_LAPACK_STR
"Disable this if you don't want to use a LAPACK library" )
set (DLIB_USE_CUDA_STR
"Disable this if you don't want to use NVIDIA CUDA" )
set (DLIB_USE_CUDA_COMPUTE_CAPABILITIES_STR
"Set this to a comma-separated list of CUDA compute capabilities" )
set (DLIB_USE_MKL_SEQUENTIAL_STR
"Enable this if you have MKL installed and want to use the sequential version instead of the multi-core version." )
set (DLIB_USE_MKL_WITH_TBB_STR
"Enable this if you have MKL installed and want to use the tbb version instead of the openmp version." )
set (DLIB_PNG_SUPPORT_STR
"Disable this if you don't want to link against libpng" )
set (DLIB_GIF_SUPPORT_STR
"Disable this if you don't want to link against libgif" )
set (DLIB_JPEG_SUPPORT_STR
"Disable this if you don't want to link against libjpeg" )
set (DLIB_WEBP_SUPPORT_STR
"Disable this if you don't want to link against libwebp" )
set (DLIB_JXL_SUPPORT_STR
"Disable this if you don't want to link against libjxl" )
set (DLIB_LINK_WITH_SQLITE3_STR
"Disable this if you don't want to link against sqlite3" )
#set (DLIB_USE_FFTW_STR "Disable this if you don't want to link against fftw" )
set (DLIB_USE_MKL_FFT_STR
"Disable this is you don't want to use the MKL DFTI FFT implementation" )
set (DLIB_ENABLE_ASSERTS_STR
"Enable this if you want to turn on the DLIB_ASSERT macro" )
set (DLIB_USE_FFMPEG_STR
"Disable this if you don't want to use the FFMPEG library" )
option(DLIB_ENABLE_ASSERTS ${DLIB_ENABLE_ASSERTS_STR} OFF)
option(DLIB_ISO_CPP_ONLY ${DLIB_ISO_CPP_ONLY_STR} OFF)
toggle_preprocessor_switch(DLIB_ISO_CPP_ONLY)
option(DLIB_NO_GUI_SUPPORT ${DLIB_NO_GUI_SUPPORT_STR} OFF)
toggle_preprocessor_switch(DLIB_NO_GUI_SUPPORT)
option(DLIB_ENABLE_STACK_TRACE ${DLIB_ENABLE_STACK_TRACE_STR} OFF)
toggle_preprocessor_switch(DLIB_ENABLE_STACK_TRACE)
option(DLIB_USE_MKL_SEQUENTIAL ${DLIB_USE_MKL_SEQUENTIAL_STR} OFF)
option(DLIB_USE_MKL_WITH_TBB ${DLIB_USE_MKL_WITH_TBB_STR} OFF)
if(DLIB_ENABLE_ASSERTS)
# Set these variables so they are set in the config.h.in file when dlib
# is installed.
set (DLIB_DISABLE_ASSERTS false)
set (ENABLE_ASSERTS true)
enable_preprocessor_switch(ENABLE_ASSERTS)
disable_preprocessor_switch(DLIB_DISABLE_ASSERTS)
else()
# Set these variables so they are set in the config.h.in file when dlib
# is installed.
set (DLIB_DISABLE_ASSERTS true)
set (ENABLE_ASSERTS false)
disable_preprocessor_switch(ENABLE_ASSERTS)
# Never force the asserts off when doing an in project build. The only
# time this matters is when using visual studio. The visual studio IDE
# has a drop down that lets the user select either release or debug
# builds. The DLIB_ASSERT macro is setup to enable/disable automatically
# based on this drop down (via preprocessor magic). However, if
# DLIB_DISABLE_ASSERTS is defined it permanently disables asserts no
# matter what, which would defeat the visual studio drop down. So here
# we make a point to not do that kind of severe disabling when in a
# project build. It should also be pointed out that DLIB_DISABLE_ASSERTS
# is only needed when building and installing dlib as a separately
# installed library. It doesn't matter when doing an in project build.
if (NOT DLIB_IN_PROJECT_BUILD)
enable_preprocessor_switch(DLIB_DISABLE_ASSERTS)
endif()
endif()
if (DLIB_ISO_CPP_ONLY)
option(DLIB_JPEG_SUPPORT ${DLIB_JPEG_SUPPORT_STR} OFF)
option(DLIB_LINK_WITH_SQLITE3 ${DLIB_LINK_WITH_SQLITE3_STR} OFF)
option(DLIB_USE_BLAS ${DLIB_USE_BLAS_STR} OFF)
option(DLIB_USE_LAPACK ${DLIB_USE_LAPACK_STR} OFF)
option(DLIB_USE_CUDA ${DLIB_USE_CUDA_STR} OFF)
option(DLIB_PNG_SUPPORT ${DLIB_PNG_SUPPORT_STR} OFF)
option(DLIB_GIF_SUPPORT ${DLIB_GIF_SUPPORT_STR} OFF)
option(DLIB_WEBP_SUPPORT ${DLIB_WEBP_SUPPORT_STR} OFF)
option(DLIB_JXL_SUPPORT ${DLIB_JXL_SUPPORT_STR} OFF)
#option(DLIB_USE_FFTW ${DLIB_USE_FFTW_STR} OFF)
option(DLIB_USE_MKL_FFT ${DLIB_USE_MKL_FFT_STR} OFF)
option(DLIB_USE_FFMPEG ${DLIB_USE_FFMPEG_STR} OFF)
else()
option(DLIB_JPEG_SUPPORT ${DLIB_JPEG_SUPPORT_STR} ON)
option(DLIB_LINK_WITH_SQLITE3 ${DLIB_LINK_WITH_SQLITE3_STR} ON)
option(DLIB_USE_BLAS ${DLIB_USE_BLAS_STR} ON)
option(DLIB_USE_LAPACK ${DLIB_USE_LAPACK_STR} ON)
option(DLIB_USE_CUDA ${DLIB_USE_CUDA_STR} ON)
option(DLIB_PNG_SUPPORT ${DLIB_PNG_SUPPORT_STR} ON)
option(DLIB_GIF_SUPPORT ${DLIB_GIF_SUPPORT_STR} ON)
option(DLIB_WEBP_SUPPORT ${DLIB_WEBP_SUPPORT_STR} ON)
option(DLIB_JXL_SUPPORT ${DLIB_JXL_SUPPORT_STR} ON)
#option(DLIB_USE_FFTW ${DLIB_USE_FFTW_STR} ON)
option(DLIB_USE_MKL_FFT ${DLIB_USE_MKL_FFT_STR} ON)
option(DLIB_USE_FFMPEG ${DLIB_USE_FFMPEG_STR} ON)
endif()
toggle_preprocessor_switch(DLIB_JPEG_SUPPORT)
toggle_preprocessor_switch(DLIB_USE_BLAS)
toggle_preprocessor_switch(DLIB_USE_LAPACK)
toggle_preprocessor_switch(DLIB_USE_CUDA)
toggle_preprocessor_switch(DLIB_PNG_SUPPORT)
toggle_preprocessor_switch(DLIB_GIF_SUPPORT)
toggle_preprocessor_switch(DLIB_WEBP_SUPPORT)
toggle_preprocessor_switch(DLIB_JXL_SUPPORT)
#toggle_preprocessor_switch(DLIB_USE_FFTW)
toggle_preprocessor_switch(DLIB_USE_MKL_FFT)
toggle_preprocessor_switch(DLIB_USE_FFMPEG)
set(source_files
base64/base64_kernel_1.cpp
bigint/bigint_kernel_1.cpp
bigint/bigint_kernel_2.cpp
bit_stream/bit_stream_kernel_1.cpp
entropy_decoder/entropy_decoder_kernel_1.cpp
entropy_decoder/entropy_decoder_kernel_2.cpp
entropy_encoder/entropy_encoder_kernel_1.cpp
entropy_encoder/entropy_encoder_kernel_2.cpp
md5/md5_kernel_1.cpp
tokenizer/tokenizer_kernel_1.cpp
unicode/unicode.cpp
test_for_odr_violations.cpp
fft/fft.cpp
)
set(dlib_needed_public_libraries)
set(dlib_needed_public_includes)
set(dlib_needed_public_cflags)
set(dlib_needed_public_ldflags)
set(dlib_needed_private_libraries)
set(dlib_needed_private_includes)
if (DLIB_ISO_CPP_ONLY)
add_library(dlib ${source_files} )
else()
set(source_files ${source_files}
sockets/sockets_kernel_1.cpp
bsp/bsp.cpp
dir_nav/dir_nav_kernel_1.cpp
dir_nav/dir_nav_kernel_2.cpp
dir_nav/dir_nav_extensions.cpp
gui_widgets/fonts.cpp
linker/linker_kernel_1.cpp
logger/extra_logger_headers.cpp
logger/logger_kernel_1.cpp
logger/logger_config_file.cpp
misc_api/misc_api_kernel_1.cpp
misc_api/misc_api_kernel_2.cpp
sockets/sockets_extensions.cpp
sockets/sockets_kernel_2.cpp
sockstreambuf/sockstreambuf.cpp
sockstreambuf/sockstreambuf_unbuffered.cpp
server/server_kernel.cpp
server/server_iostream.cpp
server/server_http.cpp
threads/multithreaded_object_extension.cpp
threads/threaded_object_extension.cpp
threads/threads_kernel_1.cpp
threads/threads_kernel_2.cpp
threads/threads_kernel_shared.cpp
threads/thread_pool_extension.cpp
threads/async.cpp
timer/timer.cpp
stack_trace.cpp
cuda/cpu_dlib.cpp
cuda/tensor_tools.cpp
data_io/image_dataset_metadata.cpp
data_io/mnist.cpp
data_io/cifar.cpp
global_optimization/global_function_search.cpp
filtering/kalman_filter.cpp
svm/auto.cpp
)
if(UNIX)
set(CMAKE_THREAD_PREFER_PTHREAD ON)
find_package(Threads REQUIRED)
list (APPEND dlib_needed_private_libraries ${CMAKE_THREAD_LIBS_INIT})
endif()
# we want to link to the right stuff depending on our platform.
if (WIN32 AND NOT CYGWIN) ###############################################################################
if (DLIB_NO_GUI_SUPPORT)
list (APPEND dlib_needed_private_libraries ws2_32 winmm)
else()
list (APPEND dlib_needed_private_libraries ws2_32 winmm comctl32 gdi32 imm32)
endif()
elseif(APPLE) ############################################################################
set(CMAKE_MACOSX_RPATH 1)
if (NOT DLIB_NO_GUI_SUPPORT)
find_package(X11 QUIET)
if (X11_FOUND)
# If both X11 and anaconda are installed, it's possible for the
# anaconda path to appear before /opt/X11, so we remove anaconda.
foreach (ITR ${X11_INCLUDE_DIR})
if ("${ITR}" MATCHES "(.*)(Ana|ana|mini)conda(.*)")
list (REMOVE_ITEM X11_INCLUDE_DIR ${ITR})
endif ()
endforeach(ITR)
list (APPEND dlib_needed_public_includes ${X11_INCLUDE_DIR})
list (APPEND dlib_needed_public_libraries ${X11_LIBRARIES})
else()
find_library(xlib X11)
# Make sure X11 is in the include path. Note that we look for
# Xlocale.h rather than Xlib.h because it avoids finding a partial
# copy of the X11 headers on systems with anaconda installed.
find_path(xlib_path Xlocale.h
PATHS
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include
/opt/local/include
PATH_SUFFIXES X11
)
if (xlib AND xlib_path)
get_filename_component(x11_path ${xlib_path} PATH CACHE)
list (APPEND dlib_needed_public_includes ${x11_path})
list (APPEND dlib_needed_public_libraries ${xlib})
set(X11_FOUND 1)
endif()
endif()
if (NOT X11_FOUND)
message(" *****************************************************************************")
message(" *** DLIB GUI SUPPORT DISABLED BECAUSE X11 DEVELOPMENT LIBRARIES NOT FOUND ***")
message(" *** Make sure XQuartz is installed if you want GUI support. ***")
message(" *** You can download XQuartz from: https://www.xquartz.org/ ***")
message(" *****************************************************************************")
set(DLIB_NO_GUI_SUPPORT ON CACHE STRING ${DLIB_NO_GUI_SUPPORT_STR} FORCE )
enable_preprocessor_switch(DLIB_NO_GUI_SUPPORT)
endif()
endif()
mark_as_advanced(xlib xlib_path x11_path)
else () ##################################################################################
# link to the socket library if it exists. this is something you need on solaris
find_library(socketlib socket)
if (socketlib)
list (APPEND dlib_needed_private_libraries ${socketlib})
endif ()
if (NOT DLIB_NO_GUI_SUPPORT)
include(FindX11)
if (X11_FOUND)
list (APPEND dlib_needed_private_includes ${X11_INCLUDE_DIR})
list (APPEND dlib_needed_private_libraries ${X11_LIBRARIES})
else()
message(" *****************************************************************************")
message(" *** DLIB GUI SUPPORT DISABLED BECAUSE X11 DEVELOPMENT LIBRARIES NOT FOUND ***")
message(" *** Make sure libx11-dev is installed if you want GUI support. ***")
message(" *** On Ubuntu run: sudo apt-get install libx11-dev ***")
message(" *****************************************************************************")
set(DLIB_NO_GUI_SUPPORT ON CACHE STRING ${DLIB_NO_GUI_SUPPORT_STR} FORCE )
enable_preprocessor_switch(DLIB_NO_GUI_SUPPORT)
endif()
endif()
mark_as_advanced(nsllib socketlib)
endif () ##################################################################################
if (NOT DLIB_NO_GUI_SUPPORT)
set(source_files ${source_files}
gui_widgets/widgets.cpp
gui_widgets/drawable.cpp
gui_widgets/canvas_drawing.cpp
gui_widgets/style.cpp
gui_widgets/base_widgets.cpp
gui_core/gui_core_kernel_1.cpp
gui_core/gui_core_kernel_2.cpp
)
endif()
INCLUDE (CheckFunctionExists)
if (DLIB_GIF_SUPPORT)
find_package(GIF QUIET)
if (GIF_FOUND)
list (APPEND dlib_needed_public_includes ${GIF_INCLUDE_DIR})
list (APPEND dlib_needed_public_libraries ${GIF_LIBRARY})
else()
set(DLIB_GIF_SUPPORT OFF CACHE STRING ${DLIB_GIF_SUPPORT_STR} FORCE )
toggle_preprocessor_switch(DLIB_GIF_SUPPORT)
endif()
endif()
if (DLIB_PNG_SUPPORT)
include(cmake_utils/find_libpng.cmake)
if (PNG_FOUND)
list (APPEND dlib_needed_private_includes ${PNG_INCLUDE_DIR})
list (APPEND dlib_needed_private_libraries ${PNG_LIBRARIES})
else()
# If we can't find libpng then statically compile it in.
include_directories(external/libpng external/zlib)
set(source_files ${source_files}
external/libpng/arm/arm_init.c
external/libpng/arm/filter_neon_intrinsics.c
external/libpng/arm/palette_neon_intrinsics.c
external/libpng/png.c
external/libpng/pngerror.c
external/libpng/pngget.c
external/libpng/pngmem.c
external/libpng/pngpread.c
external/libpng/pngread.c
external/libpng/pngrio.c
external/libpng/pngrtran.c
external/libpng/pngrutil.c
external/libpng/pngset.c
external/libpng/pngtrans.c
external/libpng/pngwio.c
external/libpng/pngwrite.c
external/libpng/pngwtran.c
external/libpng/pngwutil.c
external/zlib/adler32.c
external/zlib/compress.c
external/zlib/crc32.c
external/zlib/deflate.c
external/zlib/gzclose.c
external/zlib/gzlib.c
external/zlib/gzread.c
external/zlib/gzwrite.c
external/zlib/infback.c
external/zlib/inffast.c
external/zlib/inflate.c
external/zlib/inftrees.c
external/zlib/trees.c
external/zlib/uncompr.c
external/zlib/zutil.c
)
include(cmake_utils/check_if_neon_available.cmake)
if (ARM_NEON_IS_AVAILABLE)
message (STATUS "NEON instructions will be used for libpng.")
enable_language(ASM)
set(source_files ${source_files}
external/libpng/arm/arm_init.c
external/libpng/arm/filter_neon_intrinsics.c
external/libpng/arm/filter_neon.S
)
set_source_files_properties(external/libpng/arm/filter_neon.S PROPERTIES COMPILE_FLAGS "${CMAKE_ASM_FLAGS} ${CMAKE_CXX_FLAGS} -x assembler-with-cpp")
endif()
endif()
set(source_files ${source_files}
image_loader/png_loader.cpp
image_saver/save_png.cpp
)
endif()
if (DLIB_JPEG_SUPPORT)
include(cmake_utils/find_libjpeg.cmake)
if (JPEG_FOUND)
list (APPEND dlib_needed_private_includes ${JPEG_INCLUDE_DIR})
list (APPEND dlib_needed_private_libraries ${JPEG_LIBRARY})
else()
# If we can't find libjpeg then statically compile it in.
add_definitions(-DDLIB_JPEG_STATIC)
set(source_files ${source_files}
external/libjpeg/jaricom.c
external/libjpeg/jcapimin.c
external/libjpeg/jcapistd.c
external/libjpeg/jcarith.c
external/libjpeg/jccoefct.c
external/libjpeg/jccolor.c
external/libjpeg/jcdctmgr.c
external/libjpeg/jchuff.c
external/libjpeg/jcinit.c
external/libjpeg/jcmainct.c
external/libjpeg/jcmarker.c
external/libjpeg/jcmaster.c
external/libjpeg/jcomapi.c
external/libjpeg/jcparam.c
external/libjpeg/jcprepct.c
external/libjpeg/jcsample.c
external/libjpeg/jdapimin.c
external/libjpeg/jdapistd.c
external/libjpeg/jdarith.c
external/libjpeg/jdatadst.c
external/libjpeg/jdatasrc.c
external/libjpeg/jdcoefct.c
external/libjpeg/jdcolor.c
external/libjpeg/jddctmgr.c
external/libjpeg/jdhuff.c
external/libjpeg/jdinput.c
external/libjpeg/jdmainct.c
external/libjpeg/jdmarker.c
external/libjpeg/jdmaster.c
external/libjpeg/jdmerge.c
external/libjpeg/jdpostct.c
external/libjpeg/jdsample.c
external/libjpeg/jerror.c
external/libjpeg/jfdctflt.c
external/libjpeg/jfdctfst.c
external/libjpeg/jfdctint.c
external/libjpeg/jidctflt.c
external/libjpeg/jidctfst.c
external/libjpeg/jidctint.c
external/libjpeg/jmemmgr.c
external/libjpeg/jmemnobs.c
external/libjpeg/jquant1.c
external/libjpeg/jquant2.c
external/libjpeg/jutils.c
)
endif()
set(source_files ${source_files}
image_loader/jpeg_loader.cpp
image_saver/save_jpeg.cpp
)
endif()
if (DLIB_WEBP_SUPPORT)
include(cmake_utils/find_libwebp.cmake)
if (WEBP_FOUND)
list (APPEND dlib_needed_private_includes ${WEBP_INCLUDE_DIR})
list (APPEND dlib_needed_private_libraries ${WEBP_LIBRARY})
set(source_files ${source_files}
image_loader/webp_loader.cpp
image_saver/save_webp.cpp
)
else()
set(DLIB_WEBP_SUPPORT OFF CACHE BOOL ${DLIB_WEBP_SUPPORT_STR} FORCE )
toggle_preprocessor_switch(DLIB_WEBP_SUPPORT)
endif()
endif()
if (DLIB_JXL_SUPPORT)
include(cmake_utils/find_libjxl.cmake)
if (JXL_FOUND)
list (APPEND dlib_needed_private_includes ${JXL_INCLUDE_DIRS})
list (APPEND dlib_needed_private_libraries ${JXL_LIBRARIES})
list (APPEND dlib_needed_public_cflags ${JXL_CFLAGS})
list (APPEND dlib_needed_public_ldflags ${JXL_LDFLAGS})
set(source_files ${source_files}
image_loader/jxl_loader.cpp
image_saver/save_jxl.cpp
)
enable_preprocessor_switch(DLIB_JXL_SUPPORT)
else()
set(DLIB_JXL_SUPPORT OFF CACHE BOOL ${DLIB_JXL_SUPPORT_STR} FORCE)
disable_preprocessor_switch(DLIB_JXL_SUPPORT)
endif()
endif()
if (DLIB_USE_BLAS OR DLIB_USE_LAPACK OR DLIB_USE_MKL_FFT)
if (DLIB_USE_MKL_WITH_TBB AND DLIB_USE_MKL_SEQUENTIAL)
set(DLIB_USE_MKL_SEQUENTIAL OFF CACHE STRING ${DLIB_USE_MKL_SEQUENTIAL_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_MKL_SEQUENTIAL)
message(STATUS "Disabling DLIB_USE_MKL_SEQUENTIAL. It cannot be used simultaneously with DLIB_USE_MKL_WITH_TBB.")
endif()
# Try to find BLAS, LAPACK and MKL
include(cmake_utils/find_blas.cmake)
if (DLIB_USE_BLAS)
if (blas_found)
list (APPEND dlib_needed_public_libraries ${blas_libraries})
else()
set(DLIB_USE_BLAS OFF CACHE STRING ${DLIB_USE_BLAS_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_BLAS)
endif()
endif()
if (DLIB_USE_LAPACK)
if (lapack_found)
list (APPEND dlib_needed_public_libraries ${lapack_libraries})
if (lapack_with_underscore)
set(LAPACK_FORCE_UNDERSCORE 1)
enable_preprocessor_switch(LAPACK_FORCE_UNDERSCORE)
elseif (lapack_without_underscore)
set(LAPACK_FORCE_NOUNDERSCORE 1)
enable_preprocessor_switch(LAPACK_FORCE_NOUNDERSCORE)
endif ()
else()
set(DLIB_USE_LAPACK OFF CACHE STRING ${DLIB_USE_LAPACK_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_LAPACK)
endif()
endif()
if (DLIB_USE_MKL_FFT)
if (found_intel_mkl AND found_intel_mkl_headers)
list (APPEND dlib_needed_public_includes ${mkl_include_dir})
list (APPEND dlib_needed_public_libraries ${mkl_libraries})
else()
set(DLIB_USE_MKL_FFT OFF CACHE STRING ${DLIB_USE_MKL_FFT_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_MKL_FFT)
endif()
endif()
endif()
if (DLIB_USE_CUDA)
find_package(CUDAToolkit)
if (CUDAToolkit_FOUND AND CUDAToolkit_NVCC_EXECUTABLE)
set(CMAKE_CUDA_COMPILER ${CUDAToolkit_NVCC_EXECUTABLE})
# Set USER_DID_NOT_SPECIFY_WHAT_CUDA_ARCH_TO_USE before calling
# enable_language(CUDA) because enable_language() sets
# CMAKE_CUDA_ARCHITECTURES to a default that isn't especially
# helpful for most users in newer cmake versions. E.g. it picks
# the oldest supported arch the cuda toolkit you have can build for
# which is often so old your GPU can't actually run the resulting
# kernels.
set(USER_DID_NOT_SPECIFY_WHAT_CUDA_ARCH_TO_USE FALSE)
if (NOT DEFINED CMAKE_CUDA_ARCHITECTURES AND (NOT DEFINED ENV{CUDAARCHS} OR "$ENV{CUDAARCHS}" STREQUAL ""))
set(USER_DID_NOT_SPECIFY_WHAT_CUDA_ARCH_TO_USE TRUE)
endif()
enable_language(CUDA)
# If the user didn't say what cuda arch they want to use try to pick something reasonable
if(USER_DID_NOT_SPECIFY_WHAT_CUDA_ARCH_TO_USE)
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
# Auto-detect host GPU(s); safest default on modern CMake.
set(CMAKE_CUDA_ARCHITECTURES native) # requires CMake ≥ 3.24
else()
# Fallback by nvcc version to avoid asking for archs it doesn't know yet
if (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11)
# CUDA 10.x and older
set(CMAKE_CUDA_ARCHITECTURES 52;60;61;70;75)
elseif (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 12)
# CUDA 11.x
set(CMAKE_CUDA_ARCHITECTURES 60;61;70;75;80;86)
else()
# CUDA 12.x+
# (Keep this conservative; add 89/90 only on toolkits that support them.)
set(CMAKE_CUDA_ARCHITECTURES 70;75;80;86;89;90)
endif()
endif()
endif()
find_package(CUDNN)
if(CUDNN_FOUND)
set(source_files ${source_files}
cuda/cuda_dlib.cu
cuda/cudnn_dlibapi.cpp
cuda/cublas_dlibapi.cpp
cuda/cusolver_dlibapi.cu
cuda/curand_dlibapi.cpp
cuda/cuda_data_ptr.cpp
cuda/gpu_data.cpp
)
list (APPEND dlib_needed_private_libraries CUDA::cublas)
list (APPEND dlib_needed_private_libraries ${CUDNN_LIBRARY_PATH})
list (APPEND dlib_needed_private_libraries CUDA::curand)
list (APPEND dlib_needed_private_libraries CUDA::cusolver)
list (APPEND dlib_needed_private_libraries CUDA::cudart)
if(openmp_libraries)
list (APPEND dlib_needed_private_libraries ${openmp_libraries})
endif()
include_directories(${CUDAToolkit_INCLUDE_DIRS} ${CUDNN_INCLUDE_PATH})
message(STATUS "Enabling CUDA support for dlib. DLIB WILL USE CUDA using cuda arch ${CMAKE_CUDA_ARCHITECTURES}. If you don't want to use that arch set the CUDAARCHS env var or CMAKE_CUDA_ARCHITECTURES cmake variable.")
else()
set(DLIB_USE_CUDA OFF CACHE STRING ${DLIB_USE_BLAS_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_CUDA)
message(STATUS "DID NOT FIND CUDNN")
message(STATUS "Disabling CUDA support for dlib. DLIB WILL NOT USE CUDA")
endif()
else()
set(DLIB_USE_CUDA OFF CACHE STRING ${DLIB_USE_BLAS_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_CUDA)
if (NOT CUDA_FOUND)
message(STATUS "DID NOT FIND CUDA")
endif()
message(STATUS "Disabling CUDA support for dlib. DLIB WILL NOT USE CUDA")
endif()
endif()
if (DLIB_LINK_WITH_SQLITE3)
find_library(sqlite sqlite3)
# make sure sqlite3.h is in the include path
find_path(sqlite_path sqlite3.h)
if (sqlite AND sqlite_path)
list (APPEND dlib_needed_public_includes ${sqlite_path})
list (APPEND dlib_needed_public_libraries ${sqlite} )
else()
set(DLIB_LINK_WITH_SQLITE3 OFF CACHE STRING ${DLIB_LINK_WITH_SQLITE3_STR} FORCE )
endif()
mark_as_advanced(sqlite sqlite_path)
endif()
if (DLIB_USE_FFTW)
find_library(fftw fftw3)
# make sure fftw3.h is in the include path
find_path(fftw_path fftw3.h)
if (fftw AND fftw_path)
list (APPEND dlib_needed_private_includes ${fftw_path})
list (APPEND dlib_needed_private_libraries ${fftw})
else()
set(DLIB_USE_FFTW OFF CACHE STRING ${DLIB_USE_FFTW_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_FFTW)
endif()
mark_as_advanced(fftw fftw_path)
endif()
if (DLIB_USE_FFMPEG)
include(cmake_utils/find_ffmpeg.cmake)
if (FFMPEG_FOUND)
list (APPEND dlib_needed_public_includes ${FFMPEG_INCLUDE_DIRS})
list (APPEND dlib_needed_public_libraries ${FFMPEG_LINK_LIBRARIES})
list (APPEND dlib_needed_public_cflags ${FFMPEG_CFLAGS})
list (APPEND dlib_needed_public_ldflags ${FFMPEG_LDFLAGS})
enable_preprocessor_switch(DLIB_USE_FFMPEG)
else()
set(DLIB_USE_FFMPEG OFF CACHE BOOL ${DLIB_USE_FFMPEG_STR} FORCE )
disable_preprocessor_switch(DLIB_USE_FFMPEG)
endif()
endif()
add_library(dlib ${source_files})
endif () ##### end of if NOT DLIB_ISO_CPP_ONLY ##########################################################
target_include_directories(dlib
INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
INTERFACE $<INSTALL_INTERFACE:include>
PUBLIC ${dlib_needed_public_includes}
PRIVATE ${dlib_needed_private_includes}
)
target_link_libraries(dlib PUBLIC ${dlib_needed_public_libraries} ${dlib_needed_public_ldflags})
target_link_libraries(dlib PRIVATE ${dlib_needed_private_libraries})
target_compile_options(dlib PUBLIC ${dlib_needed_public_cflags})
if (DLIB_IN_PROJECT_BUILD)
target_compile_options(dlib PUBLIC ${active_preprocessor_switches})
else()
# These are private in this case because they will be controlled by the
# contents of dlib/config.h once it's installed. But for in project
# builds, there is no real config.h so they are public in the above case.
target_compile_options(dlib PRIVATE ${active_preprocessor_switches})
# Do this so that dlib/config.h won't set DLIB_NOT_CONFIGURED. This will then allow
# the code in dlib/threads_kernel_shared.cpp to emit a linker error for users who
# don't use the configured config.h file generated by cmake.
target_compile_options(dlib PRIVATE -DDLIB__CMAKE_GENERATED_A_CONFIG_H_FILE)
# Do this so that dlib/config.h can record the version of dlib it's configured with
# and ultimately issue a linker error to people who try to use a binary dlib that is
# the wrong version.
set(DLIB_CHECK_FOR_VERSION_MISMATCH
DLIB_VERSION_MISMATCH_CHECK__EXPECTED_VERSION_${CPACK_PACKAGE_VERSION_MAJOR}_${CPACK_PACKAGE_VERSION_MINOR}_${CPACK_PACKAGE_VERSION_PATCH})
target_compile_options(dlib PRIVATE "-DDLIB_CHECK_FOR_VERSION_MISMATCH=${DLIB_CHECK_FOR_VERSION_MISMATCH}")
endif()
# Allow the unit tests to ask us to compile the all/source.cpp file just to make sure it compiles.
if (DLIB_TEST_COMPILE_ALL_SOURCE_CPP)
add_library(dlib_all_source_cpp STATIC all/source.cpp)
target_link_libraries(dlib_all_source_cpp dlib)
target_compile_options(dlib_all_source_cpp PUBLIC ${active_preprocessor_switches})
target_compile_features(dlib_all_source_cpp PUBLIC cxx_std_14)
endif()
target_compile_features(dlib PUBLIC cxx_std_14)
if((MSVC AND CMAKE_VERSION VERSION_LESS 3.11))
target_compile_options(dlib PUBLIC ${active_compile_opts})
target_compile_options(dlib PRIVATE ${active_compile_opts_private})
else()
target_compile_options(dlib PUBLIC $<$<COMPILE_LANGUAGE:CXX>:${active_compile_opts}>)
target_compile_options(dlib PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${active_compile_opts_private}>)
endif()
# Install the library
if (NOT DLIB_IN_PROJECT_BUILD)
string (REPLACE ";" " " pkg_config_dlib_needed_libraries "${dlib_needed_public_libraries}")
# Make the -I include options for pkg-config
foreach (ITR ${dlib_needed_public_includes})
set (pkg_config_dlib_needed_includes "${pkg_config_dlib_needed_includes} -I${ITR}")
endforeach()
set_target_properties(dlib PROPERTIES
VERSION ${VERSION})
install(TARGETS dlib
EXPORT dlib
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # Windows considers .dll to be runtime artifacts
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dlib
FILES_MATCHING
PATTERN "*.h"
PATTERN "*.cmake"
PATTERN "*_tutorial.txt"
PATTERN "cassert"
PATTERN "cstring"
PATTERN "fstream"
PATTERN "iomanip"
PATTERN "iosfwd"
PATTERN "iostream"
PATTERN "istream"
PATTERN "locale"
PATTERN "ostream"
PATTERN "sstream"
REGEX "${CMAKE_CURRENT_BINARY_DIR}" EXCLUDE)
configure_file(${PROJECT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
# overwrite config.h with the configured one
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dlib)
configure_file(${PROJECT_SOURCE_DIR}/revision.h.in ${CMAKE_CURRENT_BINARY_DIR}/revision.h)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/revision.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dlib)
## Config.cmake generation and installation
set(ConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/dlib")
install(EXPORT dlib
NAMESPACE dlib::
DESTINATION ${ConfigPackageLocation})
configure_file(cmake_utils/dlibConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/config/dlibConfig.cmake" @ONLY)
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/config/dlibConfigVersion.cmake"
VERSION ${VERSION}
COMPATIBILITY AnyNewerVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/config/dlibConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/config/dlibConfigVersion.cmake"
DESTINATION ${ConfigPackageLocation})
## dlib-1.pc generation and installation
configure_file("cmake_utils/dlib.pc.in" "dlib-1.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dlib-1.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
# Add a cpack "package" target. This will create an archive containing
# the built library file, the header files, and cmake and pkgconfig
# configuration files.
include(CPack)
endif()
endif()
if (MSVC)
# Give the output library files names that are unique functions of the
# visual studio mode that compiled them. We do this so that people who
# compile dlib and then copy the .lib files around (which they shouldn't be
# doing in the first place!) will hopefully be slightly less confused by
# what happens since, at the very least, the filenames will indicate what
# visual studio runtime they go with.
math(EXPR numbits ${CMAKE_SIZEOF_VOID_P}*8)
set_target_properties(dlib PROPERTIES DEBUG_POSTFIX "${VERSION}_debug_${numbits}bit_msvc${MSVC_VERSION}")
set_target_properties(dlib PROPERTIES RELEASE_POSTFIX "${VERSION}_release_${numbits}bit_msvc${MSVC_VERSION}")
set_target_properties(dlib PROPERTIES MINSIZEREL_POSTFIX "${VERSION}_minsizerel_${numbits}bit_msvc${MSVC_VERSION}")
set_target_properties(dlib PROPERTIES RELWITHDEBINFO_POSTFIX "${VERSION}_relwithdebinfo_${numbits}bit_msvc${MSVC_VERSION}")
endif()
# Check if we are being built as part of a pybind11 module.
if (COMMAND pybind11_add_module)
# Don't export unnecessary symbols.
set_target_properties(dlib PROPERTIES CXX_VISIBILITY_PRESET "hidden")
set_target_properties(dlib PROPERTIES CUDA_VISIBILITY_PRESET "hidden")
endif()
if (WIN32 AND mkl_iomp_dll)
# If we are using the Intel MKL on windows then try and copy the iomp dll
# file to the output folder. We do this since a very large number of
# windows users don't understand that they need to add the Intel MKL's
# folders to their PATH to use the Intel MKL. They then complain on the
# dlib forums. Copying the Intel MKL dlls to the output directory removes
# the need to add the Intel MKL to the PATH.
if (CMAKE_LIBRARY_OUTPUT_DIRECTORY)
add_custom_command(TARGET dlib POST_BUILD
# In some newer versions of windows/visual studio the output Config folder doesn't
# exist at first, so you can't copy to it unless you make it yourself. So make
# sure the target folder exists first.
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/"
COMMAND ${CMAKE_COMMAND} -E copy "${mkl_iomp_dll}" "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/"
)
else()
add_custom_command(TARGET dlib POST_BUILD
# In some newer versions of windows/visual studio the output Config folder doesn't
# exist at first, so you can't copy to it unless you make it yourself. So make
# sure the target folder exists first.
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/$<CONFIG>/"
COMMAND ${CMAKE_COMMAND} -E copy "${mkl_iomp_dll}" "${CMAKE_BINARY_DIR}/$<CONFIG>/"
)
endif()
endif()
add_library(dlib::dlib ALIAS dlib)
================================================
FILE: dlib/LICENSE.txt
================================================
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
================================================
FILE: dlib/algs.h
================================================
// Copyright (C) 2003 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifdef DLIB_ALL_SOURCE_END
#include "dlib_basic_cpp_build_tutorial.txt"
#endif
#ifndef DLIB_ALGs_
#define DLIB_ALGs_
// this file contains miscellaneous stuff
// Give people who forget the -std=c++14 option a reminder
#if (defined(__GNUC__) && ((__GNUC__ >= 5 && __GNUC_MINOR__ >= 0) || (__GNUC__ > 5))) || \
(defined(__clang__) && ((__clang_major__ >= 3 && __clang_minor__ >= 4) || (__clang_major__ >= 3)))
#if __cplusplus < 201402L
#error "Dlib requires C++14 support. Give your compiler the -std=c++14 option to enable it."
#endif
#endif
#if defined __NVCC__
// Disable the "statement is unreachable" message since it will go off on code that is
// actually reachable but just happens to not be reachable sometimes during certain
// template instantiations.
#ifdef __NVCC_DIAG_PRAGMA_SUPPORT__
#pragma nv_diag_suppress code_is_unreachable
#else
#pragma diag_suppress code_is_unreachable
#endif
#endif
#ifdef _MSC_VER
#if _MSC_VER < 1900
#error "dlib versions newer than v19.1 use C++11 and therefore require Visual Studio 2015 or newer."
#endif
// Disable the following warnings for Visual Studio
// this is to disable the "'this' : used in base member initializer list"
// warning you get from some of the GUI objects since all the objects
// require that their parent class be passed into their constructor.
// In this case though it is totally safe so it is ok to disable this warning.
#pragma warning(disable : 4355)
// This is a warning you get sometimes when Visual Studio performs a Koenig Lookup.
// This is a bug in visual studio. It is a totally legitimate thing to
// expect from a compiler.
#pragma warning(disable : 4675)
// This is a warning you get from visual studio 2005 about things in the standard C++
// library being "deprecated." I checked the C++ standard and it doesn't say jack
// about any of them (I checked the searchable PDF). So this warning is total Bunk.
#pragma warning(disable : 4996)
// This is a warning you get from visual studio 2003:
// warning C4345: behavior change: an object of POD type constructed with an initializer
// of the form () will be default-initialized.
// I love it when this compiler gives warnings about bugs in previous versions of itself.
#pragma warning(disable : 4345)
// Disable warnings about conversion from size_t to unsigned long and long.
#pragma warning(disable : 4267)
// Disable warnings about conversion from double to float
#pragma warning(disable : 4244)
#pragma warning(disable : 4305)
// Disable "warning C4180: qualifier applied to function type has no meaning; ignored".
// This warning happens often in generic code that works with functions and isn't useful.
#pragma warning(disable : 4180)
// Disable "warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)"
#pragma warning(disable : 4290)
// DNN module uses template-based network declaration that leads to very long
// type names. Visual Studio will produce Warning C4503 in such cases. https://msdn.microsoft.com/en-us/library/074af4b6.aspx says
// that correct binaries are still produced even when this warning happens, but linker errors from visual studio, if they occur could be confusing.
#pragma warning( disable: 4503 )
#endif
#ifdef __BORLANDC__
// Disable the following warnings for the Borland Compilers
//
// These warnings just say that the compiler is refusing to inline functions with
// loops or try blocks in them.
//
#pragma option -w-8027
#pragma option -w-8026
#endif
#include <string> // for the exceptions
#ifdef __CYGWIN__
namespace std
{
typedef std::basic_string<wchar_t> wstring;
}
#endif
#include "platform.h"
#include "windows_magic.h"
#include <algorithm> // for std::swap
#include <new> // for std::bad_alloc
#include <cstdlib>
#include <stddef.h>
#include <limits>
#include <cmath> // for std::isfinite for is_finite()
#include "assert.h"
#include "error.h"
#include "noncopyable.h"
#include "enable_if.h"
#include "uintn.h"
#include "numeric_constants.h"
#include "memory_manager_stateless/memory_manager_stateless_kernel_1.h" // for the default memory manager
#include "type_traits.h"
// ----------------------------------------------------------------------------------------
/*!A _dT !*/
template <typename charT>
inline charT _dTcast (const char a, const wchar_t b);
template <>
inline char _dTcast<char> (const char a, const wchar_t ) { return a; }
template <>
inline wchar_t _dTcast<wchar_t> (const char , const wchar_t b) { return b; }
template <typename charT>
inline const charT* _dTcast ( const char* a, const wchar_t* b);
template <>
inline const char* _dTcast<char> ( const char* a, const wchar_t* ) { return a; }
template <>
inline const wchar_t* _dTcast<wchar_t> ( const char* , const wchar_t* b) { return b; }
#define _dT(charT,str) _dTcast<charT>(str,L##str)
/*!
requires
- charT == char or wchar_t
- str == a string or character literal
ensures
- returns the literal in the form of a charT type literal.
!*/
// ----------------------------------------------------------------------------------------
namespace dlib
{
// ----------------------------------------------------------------------------------------
/*!A default_memory_manager
This memory manager just calls new and delete directly.
!*/
typedef memory_manager_stateless_kernel_1<char> default_memory_manager;
// ----------------------------------------------------------------------------------------
/*!A swap !*/
// make swap available in the dlib namespace
using std::swap;
// ----------------------------------------------------------------------------------------
/*!
Here is where I define my return codes. It is
important that they all be < 0.
!*/
enum general_return_codes
{
TIMEOUT = -1,
WOULDBLOCK = -2,
OTHER_ERROR = -3,
SHUTDOWN = -4,
PORTINUSE = -5
};
// ----------------------------------------------------------------------------------------
inline unsigned long square_root (
unsigned long value
)
/*!
requires
- value <= 2^32 - 1
ensures
- returns the square root of value. if the square root is not an
integer then it will be rounded up to the nearest integer.
!*/
{
unsigned long x;
// set the initial guess for what the root is depending on
// how big value is
if (value < 3)
return value;
else if (value < 4096) // 12
x = 45;
else if (value < 65536) // 16
x = 179;
else if (value < 1048576) // 20
x = 717;
else if (value < 16777216) // 24
x = 2867;
else if (value < 268435456) // 28
x = 11469;
else // 32
x = 45875;
// find the root
x = (x + value/x)>>1;
x = (x + value/x)>>1;
x = (x + value/x)>>1;
x = (x + value/x)>>1;
if (x*x < value)
return x+1;
else
return x;
}
// ----------------------------------------------------------------------------------------
template <
typename T
>
void median (
T& one,
T& two,
T& three
);
/*!
requires
- T implements operator<
- T is swappable by a global swap()
ensures
- #one is the median
- #one, #two, and #three is some permutation of one, two, and three.
!*/
template <
typename T
>
void median (
T& one,
T& two,
T& three
)
{
using std::swap;
using dlib::swap;
if ( one < two )
{
// one < two
if ( two < three )
{
// one < two < three : two
swap(one,two);
}
else
{
// one < two >= three
if ( one < three)
{
// three
swap(three,one);
}
}
}
else
{
// one >= two
if ( three < one )
{
// three <= one >= two
if ( three < two )
{
// two
swap(two,one);
}
else
{
// three
swap(three,one);
}
}
}
}
// ----------------------------------------------------------------------------------------
namespace relational_operators
{
template <
typename A,
typename B
>
constexpr bool operator> (
const A& a,
const B& b
) { return b < a; }
// ---------------------------------
template <
typename A,
typename B
>
constexpr bool operator!= (
const A& a,
const B& b
) { return !(a == b); }
// ---------------------------------
template <
typename A,
typename B
>
constexpr bool operator<= (
const A& a,
const B& b
) { return !(b < a); }
// ---------------------------------
template <
typename A,
typename B
>
constexpr bool operator>= (
const A& a,
const B& b
) { return !(a < b); }
}
// ----------------------------------------------------------------------------------------
template <
typename T
>
void exchange (
T& a,
T& b
)
/*!
This function does the exact same thing that global swap does and it does it by
just calling swap. But a lot of compilers have problems doing a Koenig Lookup
and the fact that this has a different name (global swap has the same name as
the member functions called swap) makes them compile right.
So this is a workaround but not too ugly of one. But hopefully I can get
rid of this in a few years. So this function is already deprecated.
This also means you should NOT use this function in your own code unless
you have to support an old buggy compiler that benefits from this hack.
!*/
{
using std::swap;
using dlib::swap;
swap(a,b);
}
// ----------------------------------------------------------------------------------------
struct general_ {};
struct special_ : general_ {};
template<typename> struct int_ { typedef int type; };
// ----------------------------------------------------------------------------------------
/*!A is_same_object
This is a templated function which checks if both of its arguments are actually
references to the same object. It returns true if they are and false otherwise.
!*/
// handle the case where T and U are unrelated types.
template < typename T, typename U >
std::enable_if_t<!std::is_convertible<T*, U*>::value && !std::is_convertible<U*,T*>::value, bool>
is_same_object (
const T& a,
const U& b
)
{
return ((void*)&a == (void*)&b);
}
// handle the case where T and U are related types because their pointers can be
// implicitly converted into one or the other. E.g. a derived class and its base class.
// Or where both T and U are just the same type. This way we make sure that if there is a
// valid way to convert between these two pointer types then we will take that route rather
// than the void* approach used otherwise.
template < typename T, typename U >
std::enable_if_t<std::is_convertible<T*, U*>::value || std::is_convertible<U*,T*>::value, bool>
is_same_object (
const T& a,
const U& b
)
{
return (&a == &b);
}
// ----------------------------------------------------------------------------------------
template <
typename T
>
class copy_functor
{
public:
void operator() (
const T& source,
T& destination
) const
{
destination = source;
}
};
// ----------------------------------------------------------------------------------------
/*!A static_switch
To use this template you give it some number of boolean expressions and it
tells you which one of them is true. If more than one of them is true then
it causes a compile time error.
for example:
static_switch<1 + 1 == 2, 4 - 1 == 4>::value == 1 // because the first expression is true
static_switch<1 + 1 == 3, 4 == 4>::value == 2 // because the second expression is true
static_switch<1 + 1 == 3, 4 == 5>::value == 0 // 0 here because none of them are true
static_switch<1 + 1 == 2, 4 == 4>::value == compiler error // because more than one expression is true
!*/
template < bool v1 = 0, bool v2 = 0, bool v3 = 0, bool v4 = 0, bool v5 = 0,
bool v6 = 0, bool v7 = 0, bool v8 = 0, bool v9 = 0, bool v10 = 0,
bool v11 = 0, bool v12 = 0, bool v13 = 0, bool v14 = 0, bool v15 = 0 >
struct static_switch;
template <> struct static_switch<0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> { const static int value = 0; };
template <> struct static_switch<1,0,0,0,0,0,0,0,0,0,0,0,0,0,0> { const static int value = 1; };
template <> struct static_switch<0,1,0,0,0,0,0,0,0,0,0,0,0,0,0> { const static int value = 2; };
template <> struct static_switch<0,0,1,0,0,0,0,0,0,0,0,0,0,0,0> { const static int value = 3; };
template <> struct static_switch<0,0,0,1,0,0,0,0,0,0,0,0,0,0,0> { const static int value = 4; };
template <> struct static_switch<0,0,0,0,1,0,0,0,0,0,0,0,0,0,0> { const static int value = 5; };
template <> struct static_switch<0,0,0,0,0,1,0,0,0,0,0,0,0,0,0> { const static int value = 6; };
template <> struct static_switch<0,0,0,0,0,0,1,0,0,0,0,0,0,0,0> { const static int value = 7; };
template <> struct static_switch<0,0,0,0,0,0,0,1,0,0,0,0,0,0,0> { const static int value = 8; };
template <> struct static_switch<0,0,0,0,0,0,0,0,1,0,0,0,0,0,0> { const static int value = 9; };
template <> struct static_switch<0,0,0,0,0,0,0,0,0,1,0,0,0,0,0> { const static int value = 10; };
template <> struct static_switch<0,0,0,0,0,0,0,0,0,0,1,0,0,0,0> { const static int value = 11; };
template <> struct static_switch<0,0,0,0,0,0,0,0,0,0,0,1,0,0,0> { const static int value = 12; };
template <> struct static_switch<0,0,0,0,0,0,0,0,0,0,0,0,1,0,0> { const static int value = 13; };
template <> struct static_switch<0,0,0,0,0,0,0,0,0,0,0,0,0,1,0> { const static int value = 14; };
template <> struct static_switch<0,0,0,0,0,0,0,0,0,0,0,0,0,0,1> { const static int value = 15; };
// ----------------------------------------------------------------------------------------
template <typename T>
std::enable_if_t<std::is_floating_point<T>::value, bool> is_finite(T value)
/*!
requires
- value must be some kind of scalar type such as int or double
ensures
- returns true if value is a finite value (e.g. not infinity or NaN) and false
otherwise.
!*/
{
return std::isfinite(value);
}
template <typename T>
std::enable_if_t<std::is_integral<T>::value, bool> is_finite(T value)
{
return std::isfinite((double)value);
}
// ----------------------------------------------------------------------------------------
/*!A promote
This is a template that takes one of the built in scalar types and gives you another
scalar type that should be big enough to hold sums of values from the original scalar
type. The new scalar type will also always be signed.
For example, promote<uint16>::type == int32
!*/
template <typename T, size_t s = sizeof(T)> struct promote;
template <typename T> struct promote<T,1> { typedef int32 type; };
template <typename T> struct promote<T,2> { typedef int32 type; };
template <typename T> struct promote<T,4> { typedef int64 type; };
template <typename T> struct promote<T,8> { typedef int64 type; };
template <> struct promote<float,sizeof(float)> { typedef double type; };
template <> struct promote<double,sizeof(double)> { typedef double type; };
template <> struct promote<long double,sizeof(long double)> { typedef long double type; };
// ----------------------------------------------------------------------------------------
/*!A assign_zero_if_built_in_scalar_type
This function assigns its argument the value of 0 if it is a built in scalar
type according to the is_built_in_scalar_type<> template. If it isn't a
built in scalar type then it does nothing.
!*/
template <typename T> inline typename disable_if<is_built_in_scalar_type<T>,void>::type assign_zero_if_built_in_scalar_type (T&){}
template <typename T> inline typename enable_if<is_built_in_scalar_type<T>,void>::type assign_zero_if_built_in_scalar_type (T& a){a=0;}
// ----------------------------------------------------------------------------------------
template <typename T>
T put_in_range (
const T& a,
const T& b,
const T& val
)
/*!
requires
- T is a type that looks like double, float, int, or so forth
ensures
- if (val is within the range [a,b]) then
- returns val
- else
- returns the end of the range [a,b] that is closest to val
!*/
{
if (a < b)
{
if (val < a)
return a;
else if (val > b)
return b;
}
else
{
if (val < b)
return b;
else if (val > a)
return a;
}
return val;
}
// overload for double
inline double put_in_range(const double& a, const double& b, const double& val)
{ return put_in_range<double>(a,b,val); }
// ----------------------------------------------------------------------------------------
/*!A tabs
This is a template to compute the absolute value a number at compile time.
For example,
abs<-4>::value == 4
abs<4>::value == 4
!*/
template <long x, typename enabled=void>
struct tabs { const static long value = x; };
template <long x>
struct tabs<x,typename enable_if_c<(x < 0)>::type> { const static long value = -x; };
// ----------------------------------------------------------------------------------------
/*!A tmax
This is a template to compute the max of two values at compile time
For example,
abs<4,7>::value == 7
!*/
template <long x, long y, typename enabled=void>
struct tmax { const static long value = x; };
template <long x, long y>
struct tmax<x,y,typename enable_if_c<(y > x)>::type> { const static long value = y; };
// ----------------------------------------------------------------------------------------
/*!A tmin
This is a template to compute the min of two values at compile time
For example,
abs<4,7>::value == 4
!*/
template <long x, long y, typename enabled=void>
struct tmin { const static long value = x; };
template <long x, long y>
struct tmin<x,y,typename enable_if_c<(y < x)>::type> { const static long value = y; };
// ----------------------------------------------------------------------------------------
#define DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST(testname, returnT, funct_name, args) \
struct _two_bytes_##testname { char a[2]; }; \
template < typename T, returnT (T::*funct)args > \
struct _helper_##testname { typedef char type; }; \
template <typename T> \
static char _has_##testname##_helper( typename _helper_##testname<T,&T::funct_name >::type ) { return 0;} \
template <typename T> \
static _two_bytes_##testname _has_##testname##_helper(int) { return _two_bytes_##testname();} \
template <typename T> struct _##testname##workaroundbug { \
const static unsigned long U = sizeof(_has_##testname##_helper<T>('a')); }; \
template <typename T, unsigned long U = _##testname##workaroundbug<T>::U > \
struct testname { static const bool value = false; }; \
template <typename T> \
struct testname<T,1> { static const bool value = true; };
/*!A DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST
The DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST() macro is used to define traits templates
that tell you if a class has a certain member function. For example, to make a
test to see if a class has a public method with the signature void print(int) you
would say:
DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST(has_print, void, print, (int))
Then you can check if a class, T, has this method by looking at the boolean value:
has_print<T>::value
which will be true if the member function is in the T class.
Note that you can test for member functions taking no arguments by simply passing
in empty () like so:
DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST(has_print, void, print, ())
This would test for a member of the form:
void print().
To test for const member functions you would use a statement such as this:
DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST(has_print, void, print, ()const)
This would test for a member of the form:
void print() const.
To test for const templated member functions you would use a statement such as this:
DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST(has_print, void, template print<int>, ())
This would test for a member of the form:
template <typename T> void print().
!*/
// ----------------------------------------------------------------------------------------
template <typename T> class funct_wrap0
{
public:
funct_wrap0(T (&f_)()):f(f_){}
T operator()() const { return f(); }
private:
T (&f)();
};
template <typename T, typename A0> class funct_wrap1
{
public:
funct_wrap1(T (&f_)(A0)):f(f_){}
T operator()(A0 a0) const { return f(a0); }
private:
T (&f)(A0);
};
template <typename T, typename A0, typename A1> class funct_wrap2
{
public:
funct_wrap2(T (&f_)(A0,A1)):f(f_){}
T operator()(A0 a0, A1 a1) const { return f(a0,a1); }
private:
T (&f)(A0,A1);
};
template <typename T, typename A0, typename A1, typename A2> class funct_wrap3
{
public:
funct_wrap3(T (&f_)(A0,A1,A2)):f(f_){}
T operator()(A0 a0, A1 a1, A2 a2) const { return f(a0,a1,a2); }
private:
T (&f)(A0,A1,A2);
};
template <typename T, typename A0, typename A1, typename A2, typename A3> class funct_wrap4
{
public:
funct_wrap4(T (&f_)(A0,A1,A2,A3)):f(f_){}
T operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { return f(a0,a1,a2,a3); }
private:
T (&f)(A0,A1,A2,A3);
};
template <typename T, typename A0, typename A1, typename A2, typename A3, typename A4> class funct_wrap5
{
public:
funct_wrap5(T (&f_)(A0,A1,A2,A3,A4)):f(f_){}
T operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { return f(a0,a1,a2,a3,a4); }
private:
T (&f)(A0,A1,A2,A3,A4);
};
/*!A wrap_function
This is a template that allows you to turn a global function into a
function object. The reason for this template's existence is so you can
do stuff like this:
template <typename T>
void call_funct(const T& funct)
{ cout << funct(); }
std::string test() { return "asdfasf"; }
int main()
{
call_funct(wrap_function(test));
}
The above code doesn't work right on some compilers if you don't
use wrap_function.
!*/
template <typename T>
funct_wrap0<T> wrap_function(T (&f)()) { return funct_wrap0<T>(f); }
template <typename T, typename A0>
funct_wrap1<T,A0> wrap_function(T (&f)(A0)) { return funct_wrap1<T,A0>(f); }
template <typename T, typename A0, typename A1>
funct_wrap2<T,A0,A1> wrap_function(T (&f)(A0, A1)) { return funct_wrap2<T,A0,A1>(f); }
template <typename T, typename A0, typename A1, typename A2>
funct_wrap3<T,A0,A1,A2> wrap_function(T (&f)(A0, A1, A2)) { return funct_wrap3<T,A0,A1,A2>(f); }
template <typename T, typename A0, typename A1, typename A2, typename A3>
funct_wrap4<T,A0,A1,A2,A3> wrap_function(T (&f)(A0, A1, A2, A3)) { return funct_wrap4<T,A0,A1,A2,A3>(f); }
template <typename T, typename A0, typename A1, typename A2, typename A3, typename A4>
funct_wrap5<T,A0,A1,A2,A3,A4> wrap_function(T (&f)(A0, A1, A2, A3, A4)) { return funct_wrap5<T,A0,A1,A2,A3,A4>(f); }
// ----------------------------------------------------------------------------------------
template <unsigned long bSIZE>
class stack_based_memory_block : noncopyable
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is a simple container for a block of memory
of bSIZE bytes. This memory block is located on the stack
and properly aligned to hold any kind of object.
!*/
public:
static const unsigned long size = bSIZE;
stack_based_memory_block(): data(mem.data) {}
void* get () { return data; }
/*!
ensures
- returns a pointer to the block of memory contained in this object
!*/
const void* get () const { return data; }
/*!
ensures
- returns a pointer to the block of memory contained in this object
!*/
private:
// You obviously can't have a block of memory that has zero bytes in it.
COMPILE_TIME_ASSERT(bSIZE > 0);
union mem_block
{
// All of this garbage is to make sure this union is properly aligned
// (a union is always aligned such that everything in it would be properly
// aligned. So the assumption here is that one of these objects has
// a large enough alignment requirement to satisfy any object this
// block of memory might be cast into).
void* void_ptr;
int integer;
struct {
void (stack_based_memory_block::*callback)();
stack_based_memory_block* o;
} stuff;
long double more_stuff;
uint64 var1;
uint32 var2;
double var3;
char data[size];
} mem;
// The reason for having this variable is that doing it this way avoids
// warnings from gcc about violations of strict-aliasing rules.
void* const data;
};
// ----------------------------------------------------------------------------------------
template <
typename T,
typename F
>
auto max_scoring_element(
const T& container,
F score_func
) -> decltype(std::make_pair(*container.begin(), 0.0))
/*!
requires
- container has .begin() and .end(), allowing it to be enumerated.
- score_func() is a function that takes an element of the container and returns a double.
ensures
- This function finds the element of container that has the largest score,
according to score_func(), and returns a std::pair containing that maximal
element along with the score.
- If the container is empty then make_pair(a default initialized object, -infinity) is returned.
!*/
{
double best_score = -std::numeric_limits<double>::infinity();
auto best_i = container.begin();
for (auto i = container.begin(); i != container.end(); ++i)
{
auto score = score_func(*i);
if (score > best_score)
{
best_score = score;
best_i = i;
}
}
using item_type = typename std::remove_reference<decltype(*best_i)>::type;
if (best_i == container.end())
return std::make_pair(item_type(), best_score);
else
return std::make_pair(*best_i, best_score);
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename F
>
auto min_scoring_element(
const T& container,
F score_func
) -> decltype(std::make_pair(*container.begin(), 0.0))
/*!
requires
- container has .begin() and .end(), allowing it to be enumerated.
- score_func() is a function that takes an element of the container and returns a double.
ensures
- This function finds the element of container that has the smallest score,
according to score_func(), and returns a std::pair containing that minimal
element along with the score.
- If the container is empty then make_pair(a default initialized object, infinity) is returned.
!*/
{
double best_score = std::numeric_limits<double>::infinity();
auto best_i = container.begin();
for (auto i = container.begin(); i != container.end(); ++i)
{
auto score = score_func(*i);
if (score < best_score)
{
best_score = score;
best_i = i;
}
}
using item_type = typename std::remove_reference<decltype(*best_i)>::type;
if (best_i == container.end())
return std::make_pair(item_type(), best_score);
else
return std::make_pair(*best_i, best_score);
}
// ----------------------------------------------------------------------------------------
namespace detail
{
template <class Tuple, class F, std::size_t... I>
constexpr void for_each_impl(Tuple&& t, F&& f, std::index_sequence<I...>)
{
#ifdef __cpp_fold_expressions
(std::forward<F>(f)(std::get<I>(std::forward<Tuple>(t))),...);
#else
(void)std::initializer_list<int>{(std::forward<F>(f)(std::get<I>(std::forward<Tuple>(t))),0)...};
#endif
}
}
template <class Tuple, class F>
constexpr void for_each_in_tuple(Tuple&& t, F&& f)
{
detail::for_each_impl(std::forward<Tuple>(t), std::forward<F>(f),
std::make_index_sequence<std::tuple_size<std::remove_reference_t<Tuple>>::value>{});
}
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_ALGs_
================================================
FILE: dlib/all/source.cpp
================================================
// Copyright (C) 2006 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_ALL_SOURCe_
#define DLIB_ALL_SOURCe_
#if defined(DLIB_ALGs_) || defined(DLIB_PLATFORm_)
#include "../dlib_basic_cpp_build_tutorial.txt"
#endif
// ISO C++ code
#include "../base64/base64_kernel_1.cpp"
#include "../bigint/bigint_kernel_1.cpp"
#include "../bigint/bigint_kernel_2.cpp"
#include "../bit_stream/bit_stream_kernel_1.cpp"
#include "../entropy_decoder/entropy_decoder_kernel_1.cpp"
#include "../entropy_decoder/entropy_decoder_kernel_2.cpp"
#include "../entropy_encoder/entropy_encoder_kernel_1.cpp"
#include "../entropy_encoder/entropy_encoder_kernel_2.cpp"
#include "../md5/md5_kernel_1.cpp"
#include "../tokenizer/tokenizer_kernel_1.cpp"
#include "../unicode/unicode.cpp"
#include "../test_for_odr_violations.cpp"
#ifndef DLIB_ISO_CPP_ONLY
// Code that depends on OS specific APIs
// include this first so that it can disable the older version
// of the winsock API when compiled in windows.
#include "../sockets/sockets_kernel_1.cpp"
#include "../bsp/bsp.cpp"
#include "../dir_nav/dir_nav_kernel_1.cpp"
#include "../dir_nav/dir_nav_kernel_2.cpp"
#include "../dir_nav/dir_nav_extensions.cpp"
#include "../fft/fft.cpp"
#include "../linker/linker_kernel_1.cpp"
#include "../logger/extra_logger_headers.cpp"
#include "../logger/logger_kernel_1.cpp"
#include "../logger/logger_config_file.cpp"
#include "../misc_api/misc_api_kernel_1.cpp"
#include "../misc_api/misc_api_kernel_2.cpp"
#include "../sockets/sockets_extensions.cpp"
#include "../sockets/sockets_kernel_2.cpp"
#include "../sockstreambuf/sockstreambuf.cpp"
#include "../sockstreambuf/sockstreambuf_unbuffered.cpp"
#include "../server/server_kernel.cpp"
#include "../server/server_iostream.cpp"
#include "../server/server_http.cpp"
#include "../threads/multithreaded_object_extension.cpp"
#include "../threads/threaded_object_extension.cpp"
#include "../threads/threads_kernel_1.cpp"
#include "../threads/threads_kernel_2.cpp"
#include "../threads/threads_kernel_shared.cpp"
#include "../threads/thread_pool_extension.cpp"
#include "../threads/async.cpp"
#include "../timer/timer.cpp"
#include "../stack_trace.cpp"
#ifdef DLIB_PNG_SUPPORT
#include "../image_loader/png_loader.cpp"
#include "../image_saver/save_png.cpp"
#endif
#ifdef DLIB_JPEG_SUPPORT
#include "../image_loader/jpeg_loader.cpp"
#include "../image_saver/save_jpeg.cpp"
#endif
#include "../gui_widgets/fonts.cpp"
#ifndef DLIB_NO_GUI_SUPPORT
#include "../gui_widgets/widgets.cpp"
#include "../gui_widgets/drawable.cpp"
#include "../gui_widgets/canvas_drawing.cpp"
#include "../gui_widgets/style.cpp"
#include "../gui_widgets/base_widgets.cpp"
#include "../gui_core/gui_core_kernel_1.cpp"
#include "../gui_core/gui_core_kernel_2.cpp"
#endif // DLIB_NO_GUI_SUPPORT
#include "../cuda/cpu_dlib.cpp"
#include "../cuda/tensor_tools.cpp"
#include "../data_io/image_dataset_metadata.cpp"
#include "../data_io/mnist.cpp"
#include "../data_io/cifar.cpp"
#include "../svm/auto.cpp"
#include "../global_optimization/global_function_search.cpp"
#include "../filtering/kalman_filter.cpp"
#endif // DLIB_ISO_CPP_ONLY
#define DLIB_ALL_SOURCE_END
#endif // DLIB_ALL_SOURCe_
================================================
FILE: dlib/any/any.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_AnY_H_
#define DLIB_AnY_H_
#include "any_abstract.h"
#include <memory>
#include "storage.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
class any
{
public:
any() = default;
any(const any& other) = default;
any& operator=(const any& other) = default;
any(any&& other) = default;
any& operator=(any&& other) = default;
template<
typename T,
std::enable_if_t<!std::is_same<std::decay_t<T>, any>::value, bool> = true
>
any(T&& item)
: storage{std::forward<T>(item)}
{
}
template<
typename T,
typename T_ = std::decay_t<T>,
std::enable_if_t<!std::is_same<T_, any>::value, bool> = true
>
any& operator=(T&& item)
{
if (contains<T_>())
storage.unsafe_get<T_>() = std::forward<T>(item);
else
*this = any{std::forward<T>(item)};
return *this;
}
bool is_empty() const { return storage.is_empty(); }
void clear() { storage.clear(); }
void swap (any& item) { std::swap(*this, item); }
template<typename T> bool contains() const { return storage.contains<T>();}
template <typename T> T& cast_to() { return storage.cast_to<T>(); }
template <typename T> const T& cast_to() const { return storage.cast_to<T>(); }
template <typename T> T& get() { return storage.get<T>(); }
private:
te::storage_heap storage;
};
// ----------------------------------------------------------------------------------------
template <typename T> T& any_cast(any& a) { return a.cast_to<T>(); }
template <typename T> const T& any_cast(const any& a) { return a.cast_to<T>(); }
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_H_
================================================
FILE: dlib/any/any_abstract.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_AnY_ABSTRACT_H_
#ifdef DLIB_AnY_ABSTRACT_H_
#include <typeinfo>
namespace dlib
{
// ----------------------------------------------------------------------------------------
class bad_any_cast : public std::bad_cast
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is the exception class used by the any object.
It is used to indicate when someone attempts to cast an any
object into a type which isn't contained in the any object.
!*/
public:
virtual const char* what() const noexcept { return "bad_any_cast"; }
};
// ----------------------------------------------------------------------------------------
class any
{
/*!
INITIAL VALUE
- is_empty() == true
- for all T: contains<T>() == false
WHAT THIS OBJECT REPRESENTS
This object is basically a type-safe version of a void*. In particular,
it is a container which can contain only one object but the object may
be of any type.
It is somewhat like the type_safe_union except you don't have to declare
the set of possible content types beforehand. So in some sense this is
like a less type-strict version of the type_safe_union.
!*/
public:
any(
);
/*!
ensures
- this object is properly initialized
!*/
any (
const any& item
);
/*!
ensures
- copies the state of item into *this.
- Note that *this and item will contain independent copies of the
contents of item. That is, this function performs a deep
copy and therefore does not result in *this containing
any kind of reference to item.
!*/
any_function (
any_function&& item
);
/*!
ensures
- #item.is_empty() == true
- moves item into *this.
!*/
template < typename T >
any (
const T& item
);
/*!
ensures
- #contains<T>() == true
- #cast_to<T>() == item
(i.e. a copy of item will be stored in *this)
!*/
void clear (
);
/*!
ensures
- #*this will have its default value. I.e. #is_empty() == true
!*/
template <typename T>
bool contains (
) const;
/*!
ensures
- if (this object currently contains an object of type T) then
- returns true
- else
- returns false
!*/
bool is_empty(
) const;
/*!
ensures
- if (this object contains any kind of object) then
- returns false
- else
- returns true
!*/
template <typename T>
T& cast_to(
);
/*!
ensures
- if (contains<T>() == true) then
- returns a non-const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
template <typename T>
const T& cast_to(
) const;
/*!
ensures
- if (contains<T>() == true) then
- returns a const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
template <typename T>
T& get(
);
/*!
ensures
- #is_empty() == false
- #contains<T>() == true
- if (contains<T>() == true)
- returns a non-const reference to the object contained in *this.
- else
- Constructs an object of type T inside *this
- Any previous object stored in this any object is destructed and its
state is lost.
- returns a non-const reference to the newly created T object.
!*/
any& operator= (
const any& item
);
/*!
ensures
- copies the state of item into *this.
- Note that *this and item will contain independent copies of the
contents of item. That is, this function performs a deep
copy and therefore does not result in *this containing
any kind of reference to item.
!*/
void swap (
any& item
);
/*!
ensures
- swaps *this and item
- does not invalidate pointers or references to the object contained
inside *this or item. Moreover, a pointer or reference to the object in
*this will now refer to the contents of #item and vice versa.
!*/
};
// ----------------------------------------------------------------------------------------
template <
typename T
>
T& any_cast(
any& a
) { return a.cast_to<T>(); }
/*!
ensures
- returns a.cast_to<T>()
!*/
// ----------------------------------------------------------------------------------------
template <
typename T
>
const T& any_cast(
const any& a
) { return a.cast_to<T>(); }
/*!
ensures
- returns a.cast_to<T>()
!*/
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_ABSTRACT_H_
================================================
FILE: dlib/any/any_decision_function.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_AnY_DECISION_FUNCTION_Hh_
#define DLIB_AnY_DECISION_FUNCTION_Hh_
#include "any_decision_function_abstract.h"
#include "any_function.h"
#include "../algs.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <class sample_type, class result_type = double>
using any_decision_function = any_function<result_type(const sample_type&)>;
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_DECISION_FUNCTION_Hh_
================================================
FILE: dlib/any/any_decision_function_abstract.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_AnY_DECISION_FUNCTION_ABSTRACT_H_
#ifdef DLIB_AnY_DECISION_FUNCTION_ABSTRACT_H_
#include "any_function_abstract.h"
#include "../algs.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <class sample_type, class result_type = double>
using any_decision_function = any_function<result_type(const sample_type&)>;
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_DECISION_FUNCTION_ABSTRACT_H_
================================================
FILE: dlib/any/any_function.h
================================================
// Copyright (C) 2011 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_AnY_FUNCTION_Hh_
#define DLIB_AnY_FUNCTION_Hh_
#include "../assert.h"
#include "../functional.h"
#include "any.h"
#include "any_function_abstract.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <
class Storage,
class F
>
class any_function_basic;
template <
class Storage,
class R,
class... Args
>
class any_function_basic<Storage, R(Args...)>
{
private:
template<class F>
using is_valid = std::enable_if_t<!std::is_same<std::decay_t<F>, any_function_basic>::value &&
dlib::is_invocable_r<R, F, Args...>::value,
bool>;
template<typename Func>
static auto make_invoker()
{
return [](void* self, Args... args) -> R {
return dlib::invoke(*reinterpret_cast<std::add_pointer_t<Func>>(self),
std::forward<Args>(args)...);
};
}
Storage str;
R (*func)(void*, Args...) = nullptr;
public:
using result_type = R;
constexpr any_function_basic(std::nullptr_t) noexcept {}
constexpr any_function_basic() = default;
constexpr any_function_basic(const any_function_basic& other) = default;
constexpr any_function_basic& operator=(const any_function_basic& other) = default;
constexpr any_function_basic(any_function_basic&& other)
: str{std::move(other.str)},
func{std::exchange(other.func, nullptr)}
{
}
constexpr any_function_basic& operator=(any_function_basic&& other)
{
if (this != &other)
{
str = std::move(other.str);
func = std::exchange(other.func, nullptr);
}
return *this;
}
template<class F, is_valid<F> = true>
any_function_basic(
F&& f
) : str{std::forward<F>(f)},
func{make_invoker<F&&>()}
{
}
template<class F, is_valid<F> = true>
any_function_basic(
F* f
) : str{f},
func{make_invoker<F*>()}
{
}
R operator()(Args... args) const {
return func(const_cast<void*>(str.get_ptr()), std::forward<Args>(args)...);
}
void clear() { str.clear(); }
void swap (any_function_basic& item) { std::swap(*this, item); }
bool is_empty() const noexcept { return str.is_empty() || func == nullptr; }
bool is_set() const noexcept { return !is_empty(); }
explicit operator bool() const noexcept { return is_set(); }
template <typename T> bool contains() const { return str.template contains<T>();}
template <typename T> T& cast_to() { return str.template cast_to<T>(); }
template <typename T> const T& cast_to() const { return str.template cast_to<T>(); }
template <typename T> T& get() { return str.template get<T>(); }
};
// ----------------------------------------------------------------------------------------
template <class T, class Storage, class F>
T& any_cast(any_function_basic<Storage, F>& a) { return a.template cast_to<T>(); }
template <class T, class Storage, class F>
const T& any_cast(const any_function_basic<Storage, F>& a) { return a.template cast_to<T>(); }
// ----------------------------------------------------------------------------------------
template <class F>
using any_function = any_function_basic<te::storage_sbo<16>, F>;
template <class F>
using any_function_view = any_function_basic<te::storage_view, F>;
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_FUNCTION_Hh_
================================================
FILE: dlib/any/any_function_abstract.h
================================================
// Copyright (C) 2011 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_AnY_FUNCTION_ABSTRACT_H_
#ifdef DLIB_AnY_FUNCTION_ABSTRACT_H_
#include "any_abstract.h"
#include "../algs.h"
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <
class Storage,
typename function_type
>
class any_function_basic
{
/*!
REQUIREMENTS ON Storage
This must be one of the storage types from dlib/any/storage.hh
E.g. storage_heap, storage_stack, etc.
It determines the method by which any_function_basic holds onto the function it uses.
REQUIREMENTS ON function_type
This type should be a function signature. Some examples are:
void (int,int) // a function returning nothing and taking two ints
void () // a function returning nothing and taking no arguments
char (double&) // a function returning a char and taking a reference to a double
The number of arguments in the function must be no greater than 10.
INITIAL VALUE
- is_empty() == true
- for all T: contains<T>() == false
WHAT THIS OBJECT REPRESENTS
This object is a version of dlib::any that is restricted to containing
elements which are some kind of function object with an operator() which
matches the function signature defined by function_type.
Here is an example:
#include <iostream>
#include <string>
#include "dlib/any.h"
void print_message(string str) { cout << str << endl; }
int main()
{
dlib::any_function<void(string)> f;
f = print_message;
f("hello world"); // calls print_message("hello world")
}
Note that any_function_basic objects can be used to store general function
objects (i.e. defined by a class with an overloaded operator()) in
addition to regular global functions.
!*/
public:
// This is the type of object returned by function_type functions.
typedef result_type_for_function_type result_type;
any_function_basic(
);
/*!
ensures
- this object is properly initialized
!*/
any_function_basic (
const any_function_basic& item
);
/*!
ensures
- copies the state of item into *this.
- Note that *this and item will contain independent copies of the
contents of item. That is, this function performs a deep
copy and therefore does not result in *this containing
any kind of reference to item.
!*/
any_function_basic (
any_function_basic&& item
);
/*!
ensures
- moves item into *this.
- The exact move semantics are determined by which Storage type is used. E.g.
storage_heap will result in #item.is_empty()==true but storage_view would result
in #item.is_empty() == false
!*/
template < typename Funct >
any_function_basic (
Funct&& funct
);
/*!
ensures
- #contains<T>() == true
- #cast_to<T>() == item
(i.e. calling operator() will invoke funct())
!*/
void clear (
);
/*!
ensures
- #*this will have its default value. I.e. #is_empty() == true
!*/
template <typename T>
bool contains (
) const;
/*!
ensures
- if (this object currently contains an object of type T) then
- returns true
- else
- returns false
!*/
bool is_empty(
) const;
/*!
ensures
- if (this object contains any kind of object) then
- returns false
- else
- returns true
!*/
bool is_set (
) const;
/*!
ensures
- returns !is_empty()
!*/
explicit operator bool(
) const;
/*!
ensures
- returns is_set()
!*/
result_type operator(Args... args) (
) const;
/*!
requires
- is_empty() == false
- the signature defined by function_type takes no arguments
ensures
- Let F denote the function object contained within *this. Then
this function performs:
return F(std::forward<Args>(args)...)
!*/
template <typename T>
T& cast_to(
);
/*!
ensures
- if (contains<T>() == true) then
- returns a non-const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
template <typename T>
const T& cast_to(
) const;
/*!
ensures
- if (contains<T>() == true) then
- returns a const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
template <typename T>
T& get(
);
/*!
ensures
- #is_empty() == false
- #contains<T>() == true
- if (contains<T>() == true)
- returns a non-const reference to the object contained in *this.
- else
- Constructs an object of type T inside *this
- Any previous object stored in this any_function_basic object is destructed and its
state is lost.
- returns a non-const reference to the newly created T object.
!*/
any_function_basic& operator= (
const any_function_basic& item
);
/*!
ensures
- copies the state of item into *this.
- Note that the type of copy is determined by the Storage template argument. E.g.
storage_sbo will result in a deep copy, while storage_view would result in *this
and item referring to the same underlying function.
!*/
void swap (
any_function_basic& item
);
/*!
ensures
- swaps *this and item
!*/
};
// ----------------------------------------------------------------------------------------
template <
typename T,
typename function_type
>
T& any_cast(
any_function_basic<function_type>& a
) { return a.cast_to<T>(); }
/*!
ensures
- returns a.cast_to<T>()
!*/
// ----------------------------------------------------------------------------------------
template <
typename T,
typename function_type
>
const T& any_cast(
const any_function_basic<function_type>& a
) { return a.cast_to<T>(); }
/*!
ensures
- returns a.cast_to<T>()
!*/
// ----------------------------------------------------------------------------------------
/*!A any_function
A version of any_function_basic (defined above) that owns the function it contains. Uses
the small buffer optimization to make working with small lambdas faster.
!*/
template <class F>
using any_function = any_function_basic<te::storage_sbo<16>, F>;
/*!A any_function_view
A version of any_function_basic (defined above) that *DOES NOT* own the function it
contains. It merely holds a pointer to the function given to its constructor.
!*/
template <class F>
using any_function_view = any_function_basic<te::storage_view, F>;
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_FUNCTION_ABSTRACT_H_
================================================
FILE: dlib/any/any_trainer.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_AnY_TRAINER_H_
#define DLIB_AnY_TRAINER_H_
#include "any.h"
#include "any_decision_function.h"
#include "any_trainer_abstract.h"
#include <vector>
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <
typename sample_type_,
typename scalar_type_ = double
>
class any_trainer
{
public:
using sample_type = sample_type_;
using scalar_type = scalar_type_;
using mem_manager_type = default_memory_manager;
using trained_function_type = any_decision_function<sample_type, scalar_type>;
any_trainer() = default;
any_trainer(const any_trainer& other) = default;
any_trainer& operator=(const any_trainer& other) = default;
any_trainer(any_trainer&& other) = default;
any_trainer& operator=(any_trainer&& other) = default;
template <
class T,
class T_ = std::decay_t<T>,
std::enable_if_t<!std::is_same<T_,any_trainer>::value, bool> = true
>
any_trainer (
T&& item
) : storage{std::forward<T>(item)},
train_func{[](
const void* ptr,
const std::vector<sample_type>& samples,
const std::vector<scalar_type>& labels
) -> trained_function_type {
const T_& f = *reinterpret_cast<const T_*>(ptr);
return f.train(samples, labels);
}}
{
}
template <
class T,
class T_ = std::decay_t<T>,
std::enable_if_t<!std::is_same<T_,any_trainer>::value, bool> = true
>
any_trainer& operator= (
T&& item
)
{
if (contains<T_>())
storage.unsafe_get<T_>() = std::forward<T>(item);
else
*this = std::move(any_trainer{std::forward<T>(item)});
return *this;
}
trained_function_type train (
const std::vector<sample_type>& samples,
const std::vector<scalar_type>& labels
) const
{
// make sure requires clause is not broken
DLIB_ASSERT(is_empty() == false,
"\t trained_function_type any_trainer::train()"
<< "\n\t You can't call train() on an empty any_trainer"
<< "\n\t this: " << this
);
return train_func(storage.get_ptr(), samples, labels);
}
bool is_empty() const { return storage.is_empty(); }
void clear() { storage.clear(); }
void swap (any_trainer& item) { std::swap(*this, item); }
template <typename T> bool contains() const { return storage.contains<T>();}
template <typename T> T& cast_to() { return storage.cast_to<T>(); }
template <typename T> const T& cast_to() const { return storage.cast_to<T>(); }
template <typename T> T& get() { return storage.get<T>(); }
private:
te::storage_heap storage;
trained_function_type (*train_func) (
const void* self,
const std::vector<sample_type>& samples,
const std::vector<scalar_type>& labels
) = nullptr;
};
// ----------------------------------------------------------------------------------------
template <typename T, typename U, typename V>
T& any_cast(any_trainer<U,V>& a) { return a.template cast_to<T>(); }
template <typename T, typename U, typename V>
const T& any_cast(const any_trainer<U,V>& a) { return a.template cast_to<T>(); }
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_TRAINER_H_
================================================
FILE: dlib/any/any_trainer_abstract.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_AnY_TRAINER_ABSTRACT_H_
#ifdef DLIB_AnY_TRAINER_ABSTRACT_H_
#include "any_abstract.h"
#include "../algs.h"
#include "any_decision_function_abstract.h"
#include <vector>
namespace dlib
{
// ----------------------------------------------------------------------------------------
template <
typename sample_type_,
typename scalar_type_ = double
>
class any_trainer
{
/*!
INITIAL VALUE
- is_empty() == true
- for all T: contains<T>() == false
WHAT THIS OBJECT REPRESENTS
This object is a version of dlib::any that is restricted to containing
elements which are some kind of object with a .train() method compatible
with the following signature:
decision_function train(
const std::vector<sample_type>& samples,
const std::vector<scalar_type>& labels
) const
Where decision_function is a type capable of being stored in an
any_decision_function<sample_type,scalar_type> object.
any_trainer is intended to be used to contain objects such as the svm_nu_trainer
and other similar types which represent supervised machine learning algorithms.
It allows you to write code which contains and processes these trainer objects
without needing to know the specific types of trainer objects used.
!*/
public:
typedef sample_type_ sample_type;
typedef scalar_type_ scalar_type;
typedef default_memory_manager mem_manager_type;
typedef any_decision_function<sample_type, scalar_type> trained_function_type;
any_trainer(
);
/*!
ensures
- this object is properly initialized
!*/
any_trainer (
const any_trainer& item
);
/*!
ensures
- copies the state of item into *this.
- Note that *this and item will contain independent copies of the
contents of item. That is, this function performs a deep
copy and therefore does not result in *this containing
any kind of reference to item.
!*/
any_trainer (
any_trainer&& item
);
/*!
ensures
- #item.is_empty() == true
- moves item into *this.
!*/
template < typename T >
any_trainer (
const T& item
);
/*!
ensures
- #contains<T>() == true
- #cast_to<T>() == item
(i.e. a copy of item will be stored in *this)
!*/
void clear (
);
/*!
ensures
- #*this will have its default value. I.e. #is_empty() == true
!*/
template <typename T>
bool contains (
) const;
/*!
ensures
- if (this object currently contains an object of type T) then
- returns true
- else
- returns false
!*/
bool is_empty(
) const;
/*!
ensures
- if (this object contains any kind of object) then
- returns false
- else
- returns true
!*/
trained_function_type train (
const std::vector<sample_type>& samples,
const std::vector<scalar_type>& labels
) const
/*!
requires
- is_empty() == false
ensures
- Let TRAINER denote the object contained within *this. Then
this function performs:
return TRAINER.train(samples, labels)
!*/
template <typename T>
T& cast_to(
);
/*!
ensures
- if (contains<T>() == true) then
- returns a non-const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
template <typename T>
const T& cast_to(
) const;
/*!
ensures
- if (contains<T>() == true) then
- returns a const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
template <typename T>
T& get(
);
/*!
ensures
- #is_empty() == false
- #contains<T>() == true
- if (contains<T>() == true)
- returns a non-const reference to the object contained in *this.
- else
- Constructs an object of type T inside *this
- Any previous object stored in this any_trainer object is destructed and its
state is lost.
- returns a non-const reference to the newly created T object.
!*/
any_trainer& operator= (
const any_trainer& item
);
/*!
ensures
- copies the state of item into *this.
- Note that *this and item will contain independent copies of the
contents of item. That is, this function performs a deep
copy and therefore does not result in *this containing
any kind of reference to item.
!*/
void swap (
any_trainer& item
);
/*!
ensures
- swaps *this and item
!*/
};
// ----------------------------------------------------------------------------------------
template <
typename sample_type,
typename scalar_type
>
inline void swap (
any_trainer<sample_type,scalar_type>& a,
any_trainer<sample_type,scalar_type>& b
) { a.swap(b); }
/*!
provides a global swap function
!*/
// ----------------------------------------------------------------------------------------
template <
typename T,
typename sample_type,
typename scalar_type
>
T& any_cast(
any_trainer<sample_type,scalar_type>& a
) { return a.cast_to<T>(); }
/*!
ensures
- returns a.cast_to<T>()
!*/
// ----------------------------------------------------------------------------------------
template <
typename T,
typename sample_type,
typename scalar_type
>
const T& any_cast(
const any_trainer<sample_type,scalar_type>& a
) { return a.cast_to<T>(); }
/*!
ensures
- returns a.cast_to<T>()
!*/
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_AnY_TRAINER_ABSTRACT_H_
================================================
FILE: dlib/any/storage.h
================================================
// Copyright (C) 2022 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_TYPE_ERASURE_H_
#define DLIB_TYPE_ERASURE_H_
#include <type_traits>
#include <utility>
#include <typeindex>
#include <new>
#include <memory>
#include "../assert.h"
namespace dlib
{
// -----------------------------------------------------------------------------------------------------
class bad_any_cast : public std::bad_cast
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is the exception class used by the storage objects.
It is used to indicate when someone attempts to cast a storage
object into a type which isn't contained in the object.
!*/
public:
virtual const char * what() const noexcept
{
return "bad_any_cast";
}
};
// -----------------------------------------------------------------------------------------------------
namespace te
{
/*!
This is used as a SFINAE tool to prevent a function taking a universal reference from
binding to some undesired type. For example:
template <
typename T,
T_is_not_this_type<SomeExcludedType, T> = true
>
void foo(T&&);
prevents foo() from binding to an object of type SomeExcludedType.
!*/
template<class Storage, class T>
using T_is_not_this_type = std::enable_if_t<!std::is_same<std::decay_t<T>, Storage>::value, bool>;
// -----------------------------------------------------------------------------------------------------
template<class Storage>
class storage_base
{
/*!
WHAT THIS OBJECT REPRESENTS
This class defines functionality common to all type erasure storage objects
(defined below in this file). These objects are essentially type-safe versions of
a void*. In particular, they are containers which can contain only one object
but the object may be of any type.
Each storage object implements a different way of storing the underlying object.
E.g. on the heap or stack or some other more specialized method.
!*/
public:
bool is_empty() const
/*!
ensures
- if (this object contains any kind of object) then
- returns false
- else
- returns true
!*/
{
const Storage& me = *static_cast<const Storage*>(this);
return me.get_ptr() == nullptr;
}
template<typename T>
bool contains() const
/*!
ensures
- if (this object currently contains an object of type T) then
- returns true
- else
- returns false
!*/
{
const Storage& me = *static_cast<const Storage*>(this);
return !is_empty() && me.type_id() == std::type_index{typeid(T)};
}
template<typename T>
T& unsafe_get()
/*!
requires
- contains<T>() == true
ensures
- returns a reference to the object contained within *this.
!*/
{
DLIB_ASSERT(contains<T>());
Storage& me = *static_cast<Storage*>(this);
return *reinterpret_cast<T*>(me.get_ptr());
}
template<typename T>
const T& unsafe_get() const
/*!
requires
- contains<T>() == true
ensures
- returns a const reference to the object contained within *this.
!*/
{
DLIB_ASSERT(contains<T>());
const Storage& me = *static_cast<const Storage*>(this);
return *reinterpret_cast<const T*>(me.get_ptr());
}
template <typename T>
T& get(
)
/*!
ensures
- #is_empty() == false
- #contains<T>() == true
- if (contains<T>() == true)
- returns a non-const reference to the object contained in *this.
- else
- Constructs an object of type T inside *this
- Any previous object stored in this any object is destructed and its
state is lost.
- returns a non-const reference to the newly created T object.
!*/
{
Storage& me = *static_cast<Storage*>(this);
if (!contains<T>())
me = T{};
return unsafe_get<T>();
}
template <typename T>
T& cast_to(
)
/*!
ensures
- if (contains<T>() == true) then
- returns a non-const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
{
if (!contains<T>())
throw bad_any_cast{};
return unsafe_get<T>();
}
template <typename T>
const T& cast_to(
) const
/*!
ensures
- if (contains<T>() == true) then
- returns a const reference to the object contained within *this
- else
- throws bad_any_cast
!*/
{
if (!contains<T>())
throw bad_any_cast{};
return unsafe_get<T>();
}
};
// -----------------------------------------------------------------------------------------------------
class storage_heap : public storage_base<storage_heap>
{
public:
/*!
WHAT THIS OBJECT REPRESENTS
This object is a storage type that uses type erasure to erase any type.
This particular storage type uses heap allocation only.
!*/
storage_heap() = default;
/*!
ensures
- #is_empty() == true
- for all T: #contains<T>() == false
!*/
template <
class T,
class T_ = std::decay_t<T>,
T_is_not_this_type<storage_heap, T> = true
>
storage_heap(T &&t) noexcept(std::is_nothrow_constructible<T_,T&&>::value)
/*!
ensures
- copies or moves the incoming object (depending on the forwarding reference)
- #is_empty() == false
- #contains<std::decay_t<T>>() == true
- #unsafe_get<T>() will yield the provided t.
!*/
: ptr{new T_{std::forward<T>(t)}},
del{[](void *self) {
delete reinterpret_cast<T_*>(self);
}},
copy{[](const void *self) -> void * {
return new T_{*reinterpret_cast<const T_*>(self)};
}},
type_id_{[] {
return std::type_index{typeid(T_)};
}}
{
}
storage_heap(const storage_heap& other)
/*!
ensures
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is copied using erased type's copy constructor.
!*/
: ptr{other.ptr ? other.copy(other.ptr) : nullptr},
del{other.del},
copy{other.copy},
type_id_{other.type_id_}
{
}
storage_heap& operator=(const storage_heap& other)
/*!
ensures
- if is_empty() == false then
- destructs the object contained in this class.
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is copied using erased type's copy constructor.
!*/
{
if (this != &other)
*this = storage_heap{other};
return *this;
}
storage_heap(storage_heap&& other) noexcept
/*!
ensures
- The state of other is moved into *this.
- #other.is_empty() == true
!*/
: ptr{std::exchange(other.ptr, nullptr)},
del{std::exchange(other.del, nullptr)},
copy{std::exchange(other.copy, nullptr)},
type_id_{std::exchange(other.type_id_, nullptr)}
{
}
storage_heap& operator=(storage_heap&& other) noexcept
/*!
ensures
- The state of other is moved into *this.
- #other.is_empty() == true
- returns *this
!*/
{
if (this != &other)
{
clear();
ptr = std::exchange(other.ptr, nullptr);
del = std::exchange(other.del, nullptr);
copy = std::exchange(other.copy, nullptr);
type_id_ = std::exchange(other.type_id_, nullptr);
}
return *this;
}
~storage_heap()
/*!
ensures
- destructs the object contained in *this if one exists.
!*/
{
if (ptr)
del(ptr);
}
void clear()
/*!
ensures
- #is_empty() == true
!*/
{
storage_heap{std::move(*this)};
}
void* get_ptr()
/*!
ensures
- returns a pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr;
}
const void* get_ptr() const
/*!
ensures
- returns a const pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr;
}
std::type_index type_id() const
/*!
requires
- is_empty() == false
ensures
- returns the std::type_index of the type contained within this object.
I.e. if this object contains the type T then this returns std::type_index{typeid(T)}.
!*/
{
DLIB_ASSERT(!this->is_empty());
return type_id_();
}
private:
void* ptr = nullptr;
void (*del)(void*) = nullptr;
void* (*copy)(const void*) = nullptr;
std::type_index (*type_id_)() = nullptr;
};
// -----------------------------------------------------------------------------------------------------
template <std::size_t Size, std::size_t Alignment = 8>
class storage_stack : public storage_base<storage_stack<Size, Alignment>>
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is a storage type that uses type erasure to erase any type.
This particular storage type uses stack allocation using a template size and alignment.
Therefore, only objects whose size and alignment fits the template parameters can be
erased and absorbed into this object. Attempting to store a type not
representable on the stack with those settings will result in a build error.
This object will be capable of storing any type with an alignment requirement
that is a divisor of Alignment.
!*/
public:
storage_stack() = default;
/*!
ensures
- #is_empty() == true
- for all T: #contains<T>() == false
!*/
template <
class T,
class T_ = std::decay_t<T>,
T_is_not_this_type<storage_stack, T> = true
>
storage_stack(T &&t) noexcept(std::is_nothrow_constructible<T_,T&&>::value)
/*!
ensures
- copies or moves the incoming object (depending on the forwarding reference)
- #is_empty() == false
- #contains<std::decay_t<T>>() == true
!*/
: del{[](storage_stack& self) {
reinterpret_cast<T_*>(&self.data)->~T_();
self.del = nullptr;
self.copy = nullptr;
self.move = nullptr;
self.type_id_ = nullptr;
}},
copy{[](const storage_stack& src, storage_stack& dst) {
new (&dst.data) T_{*reinterpret_cast<const T_*>(&src.data)};
dst.del = src.del;
dst.copy = src.copy;
dst.move = src.move;
dst.type_id_ = src.type_id_;
}},
move{[](storage_stack& src, storage_stack& dst) {
new (&dst.data) T_{std::move(*reinterpret_cast<T_*>(&src.data))};
dst.del = src.del;
dst.copy = src.copy;
dst.move = src.move;
dst.type_id_ = src.type_id_;
}},
type_id_{[] {
return std::type_index{typeid(T_)};
}}
{
static_assert(sizeof(T_) <= Size, "insufficient size");
static_assert(Alignment % alignof(T_) == 0, "bad alignment");
new (&data) T_{std::forward<T>(t)};
}
storage_stack(const storage_stack& other)
/*!
ensures
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is copied using erased type's copy constructor.
!*/
{
if (other.copy)
other.copy(other, *this);
}
storage_stack& operator=(const storage_stack& other)
/*!
ensures
- #is_empty() == other.is_empty()
- if is_empty() == false then
- destructs the object contained in this class.
- if other.is_empty() == false then
- underlying object of other is copied using erased type's copy constructor
!*/
{
if (this != &other)
{
clear();
if (other.copy)
other.copy(other, *this);
}
return *this;
}
storage_stack(storage_stack&& other)
/*!
ensures
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is moved using erased type's moved constructor
!*/
{
if (other.move)
other.move(other, *this);
}
storage_stack& operator=(storage_stack&& other)
/*!
ensures
- if is_empty() == false then
- destructs the object contained in this class.
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is moved using erased type's moved constructor.
This does not make other empty. It will still contain a moved from object
of the underlying type in whatever that object's moved from state is.
- #other.is_empty() == false
!*/
{
if (this != &other)
{
clear();
if (other.move)
other.move(other, *this);
}
return *this;
}
~storage_stack()
/*!
ensures
- destructs the object contained in *this if one exists.
!*/
{
clear();
}
void clear()
/*!
ensures
- #is_empty() == true
!*/
{
if (del)
del(*this);
}
void* get_ptr()
/*!
ensures
- returns a pointer to the underlying object or nullptr if is_empty()
!*/
{
return del ? (void*)&data : nullptr;
}
const void* get_ptr() const
/*!
ensures
- returns a const pointer to the underlying object or nullptr if is_empty()
!*/
{
return del ? (const void*)&data : nullptr;
}
std::type_index type_id() const
/*!
requires
- is_empty() == false
ensures
- returns the std::type_index of the type contained within this object.
I.e. if this object contains the type T then this returns std::type_index{typeid(T)}.
!*/
{
DLIB_ASSERT(!this->is_empty());
return type_id_();
}
private:
alignas(Alignment) unsigned char data[Size];
void (*del)(storage_stack&) = nullptr;
void (*copy)(const storage_stack&, storage_stack&) = nullptr;
void (*move)(storage_stack&, storage_stack&) = nullptr;
std::type_index (*type_id_)() = nullptr;
};
// -----------------------------------------------------------------------------------------------------
template <std::size_t Size, std::size_t Alignment = 8>
class storage_sbo : public storage_base<storage_sbo<Size, Alignment>>
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is a storage type that uses type erasure to erase any type.
This particular storage type uses small buffer optimization (SBO), i.e. optional
stack allocation if the erased type has sizeof <= Size and alignment
requirements no greater than the given Alignment template value. If not it
allocates the object on the heap.
!*/
public:
// type_fits<T>::value tells us if our SBO can hold T.
template<typename T>
struct type_fits : std::integral_constant<bool, sizeof(T) <= Size && Alignment % alignof(T) == 0>{};
storage_sbo() = default;
/*!
ensures
- #is_empty() == true
- for all T: #contains<T>() == false
!*/
template <
class T,
class T_ = std::decay_t<T>,
T_is_not_this_type<storage_sbo, T> = true,
std::enable_if_t<type_fits<T_>::value, bool> = true
>
storage_sbo(T &&t) noexcept(std::is_nothrow_constructible<T_,T&&>::value)
/*!
ensures
- copies or moves the incoming object (depending on the forwarding reference)
- #is_empty() == false
- #contains<std::decay_t<T>>() == true
- stack allocation is used
!*/
: ptr{new (&data) T_{std::forward<T>(t)}},
del{[](storage_sbo& self) {
reinterpret_cast<T_*>(&self.data)->~T_();
self.ptr = nullptr;
self.del = nullptr;
self.copy = nullptr;
self.move = nullptr;
self.type_id_ = nullptr;
}},
copy{[](const storage_sbo& src, storage_sbo& dst) {
dst.ptr = new (&dst.data) T_{*reinterpret_cast<const T_*>(src.ptr)};
dst.del = src.del;
dst.copy = src.copy;
dst.move = src.move;
dst.type_id_ = src.type_id_;
}},
move{[](storage_sbo& src, storage_sbo& dst) {
dst.ptr = new (&dst.data) T_{std::move(*reinterpret_cast<T_*>(src.ptr))};
dst.del = src.del;
dst.copy = src.copy;
dst.move = src.move;
dst.type_id_ = src.type_id_;
}},
type_id_{[] {
return std::type_index{typeid(T_)};
}}
{
}
template <
class T,
class T_ = std::decay_t<T>,
T_is_not_this_type<storage_sbo, T> = true,
std::enable_if_t<!type_fits<T_>::value, bool> = true
>
storage_sbo(T &&t) noexcept(std::is_nothrow_constructible<T_,T&&>::value)
/*!
ensures
- copies or moves the incoming object (depending on the forwarding reference)
- #is_empty() == false
- #contains<std::decay_t<T>>() == true
- heap allocation is used
!*/
: ptr{new T_{std::forward<T>(t)}},
del{[](storage_sbo& self) {
delete reinterpret_cast<T_*>(self.ptr);
self.ptr = nullptr;
self.del = nullptr;
self.copy = nullptr;
self.move = nullptr;
self.type_id_ = nullptr;
}},
copy{[](const storage_sbo& src, storage_sbo& dst) {
dst.ptr = new T_{*reinterpret_cast<const T_*>(src.ptr)};
dst.del = src.del;
dst.copy = src.copy;
dst.move = src.move;
dst.type_id_ = src.type_id_;
}},
move{[](storage_sbo& src, storage_sbo& dst) {
dst.ptr = std::exchange(src.ptr, nullptr);
dst.del = std::exchange(src.del, nullptr);
dst.copy = std::exchange(src.copy, nullptr);
dst.move = std::exchange(src.move, nullptr);
dst.type_id_ = std::exchange(src.type_id_, nullptr);
}},
type_id_{[] {
return std::type_index{typeid(T_)};
}}
{
}
storage_sbo(const storage_sbo& other)
/*!
ensures
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is copied using erased type's copy constructor
!*/
{
if (other.copy)
other.copy(other, *this);
}
storage_sbo& operator=(const storage_sbo& other)
/*!
ensures
- if is_empty() == false then
- destructs the object contained in this class.
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- underlying object of other is copied using erased type's copy constructor
!*/
{
if (this != &other)
{
clear();
if (other.copy)
other.copy(other, *this);
}
return *this;
}
storage_sbo(storage_sbo&& other)
/*!
ensures
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- if underlying object of other is allocated on stack then
- underlying object of other is moved using erased type's moved constructor.
This does not make other empty. It will still contain a moved from
object of the underlying type in whatever that object's moved from
state is.
- #other.is_empty() == false
- else
- storage heap pointer is moved.
- #other.is_empty() == true
!*/
{
if (other.move)
other.move(other, *this);
}
storage_sbo& operator=(storage_sbo&& other)
/*!
ensures
- underlying object is destructed if is_empty() == false
- #is_empty() == other.is_empty()
- if other.is_empty() == false then
- if underlying object of other is allocated on stack then
- underlying object of other is moved using erased type's moved constructor.
This does not make other empty. It will still contain a moved from
object of the underlying type in whatever that object's moved from
state is.
- #other.is_empty() == false
- else
- storage heap pointer is moved.
- #other.is_empty() == true
!*/
{
if (this != &other)
{
clear();
if (other.move)
other.move(other, *this);
}
return *this;
}
~storage_sbo()
/*!
ensures
- destructs the object contained in *this if one exists.
!*/
{
clear();
}
void clear()
/*!
ensures
- #is_empty() == true
!*/
{
if (ptr)
del(*this);
}
void* get_ptr()
/*!
ensures
- returns a pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr;
}
const void* get_ptr() const
/*!
ensures
- returns a const pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr;
}
std::type_index type_id() const
/*!
requires
- is_empty() == false
ensures
- returns the std::type_index of the type contained within this object.
I.e. if this object contains the type T then this returns std::type_index{typeid(T)}.
!*/
{
DLIB_ASSERT(!this->is_empty());
return type_id_();
}
private:
alignas(Alignment) unsigned char data[Size];
void* ptr = nullptr;
void (*del)(storage_sbo&) = nullptr;
void (*copy)(const storage_sbo&, storage_sbo&) = nullptr;
void (*move)(storage_sbo&, storage_sbo&) = nullptr;
std::type_index (*type_id_)() = nullptr;
};
// -----------------------------------------------------------------------------------------------------
class storage_shared : public storage_base<storage_shared>
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is a storage type that uses type erasure to erase any type.
This particular storage type uses std::shared_ptr<void> to store and erase
incoming objects. Therefore, it uses heap allocation and reference counting.
Moreover, it has the same copying and move semantics as std::shared_ptr. I.e.
it results in the underlying object being held by reference rather than by
value.
!*/
public:
storage_shared() = default;
/*!
ensures
- #is_empty() == true
- for all T: #contains<T>() == false
!*/
template <
class T,
class T_ = std::decay_t<T>,
T_is_not_this_type<storage_shared, T> = true
>
storage_shared(T &&t) noexcept(std::is_nothrow_constructible<T_,T&&>::value)
/*!
ensures
- copies or moves the incoming object (depending on the forwarding reference)
- #is_empty() == true
- #contains<std::decay_t<T>>() == true
!*/
: ptr{std::make_shared<T_>(std::forward<T>(t))},
type_id_{[] {
return std::type_index{typeid(T_)};
}}
{
}
// This object has the same copy/move semantics as a std::shared_ptr<void>
storage_shared(const storage_shared& other) = default;
storage_shared& operator=(const storage_shared& other) = default;
storage_shared(storage_shared&& other) noexcept = default;
storage_shared& operator=(storage_shared&& other) noexcept = default;
void clear()
/*!
ensures
- #is_empty() == true
!*/
{
ptr = nullptr;
type_id_ = nullptr;
}
void* get_ptr()
/*!
ensures
- returns a pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr.get();
}
const void* get_ptr() const
/*!
ensures
- returns a const pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr.get();
}
std::type_index type_id() const
/*!
requires
- is_empty() == false
ensures
- returns the std::type_index of the type contained within this object.
I.e. if this object contains the type T then this returns std::type_index{typeid(T)}.
!*/
{
DLIB_ASSERT(!this->is_empty());
return type_id_();
}
private:
std::shared_ptr<void> ptr = nullptr;
std::type_index (*type_id_)() = nullptr;
};
// -----------------------------------------------------------------------------------------------------
class storage_view : public storage_base<storage_view>
{
/*!
WHAT THIS OBJECT REPRESENTS
This object is a storage type that uses type erasure to erase any type.
This particular storage type is a view type, similar to std::string_view or
std::span. So underlying objects are only ever referenced, not copied, moved or
destructed. That is, instances of this object take no ownership of the objects
they contain. So they are only valid as long as the contained object exists.
So storage_view merely holds a pointer to the underlying object.
!*/
public:
storage_view() = default;
/*!
ensures
- #is_empty() == true
- for all T: #contains<T>() == false
!*/
template <
class T,
class T_ = std::decay_t<T>,
T_is_not_this_type<storage_view, T> = true
>
storage_view(T &&t) noexcept
/*!
ensures
- #get_ptr() == &t
- #is_empty() == false
- #contains<std::decay_t<T>>() == true
!*/
: ptr{&t},
type_id_{[] {
return std::type_index{typeid(T_)};
}}
{
}
// This object has the same copy/move semantics as a void*.
storage_view(const storage_view& other) = default;
storage_view& operator=(const storage_view& other) = default;
storage_view(storage_view&& other) noexcept = default;
storage_view& operator=(storage_view&& other) noexcept = default;
void clear()
/*!
ensures
- #is_empty() == true
!*/
{
ptr = nullptr;
type_id_ = nullptr;
}
void* get_ptr()
/*!
ensures
- returns a pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr;
}
const void* get_ptr() const
/*!
ensures
- returns a const pointer to the underlying object or nullptr if is_empty()
!*/
{
return ptr;
}
std::type_index type_id() const
/*!
requires
- is_empty() == false
ensures
- returns the std::type_index of the type contained within this object.
I.e. if this object contains the type T then this returns std::type_index{typeid(T)}.
!*/
{
DLIB_ASSERT(!this->is_empty());
return type_id_();
}
private:
void* ptr = nullptr;
std::type_index (*type_id_)() = nullptr;
};
// -----------------------------------------------------------------------------------------------------
}
}
#endif //DLIB_TYPE_ERASURE_H_
================================================
FILE: dlib/any.h
================================================
// Copyright (C) 2010 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_AnY_
#define DLIB_AnY_
#include "any/any.h"
#include "any/any_trainer.h"
#include "any/any_decision_function.h"
#include "any/any_function.h"
#endif // DLIB_AnY_
================================================
FILE: dlib/array/array_kernel.h
================================================
// Copyright (C) 2003 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_ARRAY_KERNEl_2_
#define DLIB_ARRAY_KERNEl_2_
#include "array_kernel_abstract.h"
#include "../interfaces/enumerable.h"
#include "../algs.h"
#include "../serialize.h"
#include "../sort.h"
#include "../is_kind.h"
namespace dlib
{
template <
typename T,
typename mem_manager = default_memory_manager
>
class array : public enumerable<T>
{
/*!
INITIAL VALUE
- array_size == 0
- max_array_size == 0
- array_elements == 0
- pos == 0
- last_pos == 0
- _at_start == true
CONVENTION
- array_size == size()
- max_array_size == max_size()
- if (max_array_size > 0)
- array_elements == pointer to max_array_size elements of type T
- else
- array_elements == 0
- if (array_size > 0)
- last_pos == array_elements + array_size - 1
- else
- last_pos == 0
- at_start() == _at_start
- current_element_valid() == pos != 0
- if (current_element_valid()) then
- *pos == element()
!*/
public:
// These typedefs are here for backwards compatibility with old versions of dlib.
typedef array kernel_1a;
typedef array kernel_1a_c;
typedef array kernel_2a;
typedef array kernel_2a_c;
typedef array sort_1a;
typedef array sort_1a_c;
typedef array sort_1b;
typedef array sort_1b_c;
typedef array sort_2a;
typedef array sort_2a_c;
typedef array sort_2b;
typedef array sort_2b_c;
typedef array expand_1a;
typedef array expand_1a_c;
typedef array expand_1b;
typedef array expand_1b_c;
typedef array expand_1c;
typedef array expand_1c_c;
typedef array expand_1d;
typedef array expand_1d_c;
typedef T type;
typedef T value_type;
typedef mem_manager mem_manager_type;
array (
) :
array_size(0),
max_array_size(0),
array_elements(0),
pos(0),
last_pos(0),
_at_start(true)
{}
array(const array&) = delete;
array& operator=(array&) = delete;
array(
array&& item
) : array()
{
swap(item);
}
array& operator=(
array&& item
)
{
swap(item);
return *this;
}
explicit array (
size_t new_size
) :
array_size(0),
max_array_size(0),
array_elements(0),
pos(0),
last_pos(0),
_at_start(true)
{
resize(new_size);
}
~array (
);
void clear (
);
inline const T& operator[] (
size_t pos
) const;
inline T& operator[] (
size_t pos
);
void set_size (
size_t size
);
inline size_t max_size(
) const;
void set_max_size(
size_t max
);
void swap (
array& item
);
// functions from the enumerable interface
inline size_t size (
) const;
inline bool at_start (
) const;
inline void reset (
) const;
bool current_element_valid (
) const;
inline const T& element (
) const;
inline T& element (
);
bool move_next (
) const;
void sort (
);
void resize (
size_t new_size
);
const T& back (
) const;
T& back (
);
void pop_back (
);
void pop_back (
T& item
);
void push_back (
T& item
);
void push_back (
T&& item
);
typedef T* iterator;
typedef const T* const_iterator;
iterator begin() { return array_elements; }
const_iterator begin() const { return array_elements; }
iterator end() { return array_elements+array_size; }
const_iterator end() const { return array_elements+array_size; }
private:
typename mem_manager::template rebind<T>::other pool;
// data members
size_t array_size;
size_t max_array_size;
T* array_elements;
mutable T* pos;
T* last_pos;
mutable bool _at_start;
};
template <
typename T,
typename mem_manager
>
inline void swap (
array<T,mem_manager>& a,
array<T,mem_manager>& b
) { a.swap(b); }
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void serialize (
const array<T,mem_manager>& item,
std::ostream& out
)
{
try
{
serialize(item.max_size(),out);
serialize(item.size(),out);
for (size_t i = 0; i < item.size(); ++i)
serialize(item[i],out);
}
catch (serialization_error& e)
{
throw serialization_error(e.info + "\n while serializing object of type array");
}
}
template <
typename T,
typename mem_manager
>
void deserialize (
array<T,mem_manager>& item,
std::istream& in
)
{
try
{
size_t max_size, size;
deserialize(max_size,in);
deserialize(size,in);
item.set_max_size(max_size);
item.set_size(size);
for (size_t i = 0; i < size; ++i)
deserialize(item[i],in);
}
catch (serialization_error& e)
{
item.clear();
throw serialization_error(e.info + "\n while deserializing object of type array");
}
}
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
// member function definitions
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
array<T,mem_manager>::
~array (
)
{
if (array_elements)
{
pool.deallocate_array(array_elements);
}
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
clear (
)
{
reset();
last_pos = 0;
array_size = 0;
if (array_elements)
{
pool.deallocate_array(array_elements);
}
array_elements = 0;
max_array_size = 0;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
const T& array<T,mem_manager>::
operator[] (
size_t pos
) const
{
// make sure requires clause is not broken
DLIB_ASSERT( pos < this->size() ,
"\tconst T& array::operator[]"
<< "\n\tpos must < size()"
<< "\n\tpos: " << pos
<< "\n\tsize(): " << this->size()
<< "\n\tthis: " << this
);
return array_elements[pos];
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
T& array<T,mem_manager>::
operator[] (
size_t pos
)
{
// make sure requires clause is not broken
DLIB_ASSERT( pos < this->size() ,
"\tT& array::operator[]"
<< "\n\tpos must be < size()"
<< "\n\tpos: " << pos
<< "\n\tsize(): " << this->size()
<< "\n\tthis: " << this
);
return array_elements[pos];
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
set_size (
size_t size
)
{
// make sure requires clause is not broken
DLIB_CASSERT(( size <= this->max_size() ),
"\tvoid array::set_size"
<< "\n\tsize must be <= max_size()"
<< "\n\tsize: " << size
<< "\n\tmax size: " << this->max_size()
<< "\n\tthis: " << this
);
reset();
array_size = size;
if (size > 0)
last_pos = array_elements + size - 1;
else
last_pos = 0;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
size_t array<T,mem_manager>::
size (
) const
{
return array_size;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
set_max_size(
size_t max
)
{
reset();
array_size = 0;
last_pos = 0;
if (max != 0)
{
// if new max size is different
if (max != max_array_size)
{
if (array_elements)
{
pool.deallocate_array(array_elements);
}
// try to get more memroy
try { array_elements = pool.allocate_array(max); }
catch (...) { array_elements = 0; max_array_size = 0; throw; }
max_array_size = max;
}
}
// if the array is being made to be zero
else
{
if (array_elements)
pool.deallocate_array(array_elements);
max_array_size = 0;
array_elements = 0;
}
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
size_t array<T,mem_manager>::
max_size (
) const
{
return max_array_size;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
swap (
array<T,mem_manager>& item
)
{
auto array_size_temp = item.array_size;
auto max_array_size_temp = item.max_array_size;
T* array_elements_temp = item.array_elements;
item.array_size = array_size;
item.max_array_size = max_array_size;
item.array_elements = array_elements;
array_size = array_size_temp;
max_array_size = max_array_size_temp;
array_elements = array_elements_temp;
exchange(_at_start,item._at_start);
exchange(pos,item.pos);
exchange(last_pos,item.last_pos);
pool.swap(item.pool);
}
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
// enumerable function definitions
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
bool array<T,mem_manager>::
at_start (
) const
{
return _at_start;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
reset (
) const
{
_at_start = true;
pos = 0;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
bool array<T,mem_manager>::
current_element_valid (
) const
{
return pos != 0;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
const T& array<T,mem_manager>::
element (
) const
{
// make sure requires clause is not broken
DLIB_ASSERT(this->current_element_valid(),
"\tconst T& array::element()"
<< "\n\tThe current element must be valid if you are to access it."
<< "\n\tthis: " << this
);
return *pos;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
T& array<T,mem_manager>::
element (
)
{
// make sure requires clause is not broken
DLIB_ASSERT(this->current_element_valid(),
"\tT& array::element()"
<< "\n\tThe current element must be valid if you are to access it."
<< "\n\tthis: " << this
);
return *pos;
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
bool array<T,mem_manager>::
move_next (
) const
{
if (!_at_start)
{
if (pos < last_pos)
{
++pos;
return true;
}
else
{
pos = 0;
return false;
}
}
else
{
_at_start = false;
if (array_size > 0)
{
pos = array_elements;
return true;
}
else
{
return false;
}
}
}
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
// Yet more functions
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
sort (
)
{
if (this->size() > 1)
{
// call the quick sort function for arrays that is in algs.h
dlib::qsort_array(*this,0,this->size()-1);
}
this->reset();
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
resize (
size_t new_size
)
{
if (this->max_size() < new_size)
{
array temp;
temp.set_max_size(new_size);
temp.set_size(new_size);
for (size_t i = 0; i < this->size(); ++i)
{
exchange((*this)[i],temp[i]);
}
temp.swap(*this);
}
else
{
this->set_size(new_size);
}
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
T& array<T,mem_manager>::
back (
)
{
// make sure requires clause is not broken
DLIB_ASSERT( this->size() > 0 ,
"\tT& array::back()"
<< "\n\tsize() must be bigger than 0"
<< "\n\tsize(): " << this->size()
<< "\n\tthis: " << this
);
return (*this)[this->size()-1];
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
const T& array<T,mem_manager>::
back (
) const
{
// make sure requires clause is not broken
DLIB_ASSERT( this->size() > 0 ,
"\tconst T& array::back()"
<< "\n\tsize() must be bigger than 0"
<< "\n\tsize(): " << this->size()
<< "\n\tthis: " << this
);
return (*this)[this->size()-1];
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
pop_back (
T& item
)
{
// make sure requires clause is not broken
DLIB_ASSERT( this->size() > 0 ,
"\tvoid array::pop_back()"
<< "\n\tsize() must be bigger than 0"
<< "\n\tsize(): " << this->size()
<< "\n\tthis: " << this
);
exchange(item,(*this)[this->size()-1]);
this->set_size(this->size()-1);
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
pop_back (
)
{
// make sure requires clause is not broken
DLIB_ASSERT( this->size() > 0 ,
"\tvoid array::pop_back()"
<< "\n\tsize() must be bigger than 0"
<< "\n\tsize(): " << this->size()
<< "\n\tthis: " << this
);
this->set_size(this->size()-1);
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
push_back (
T& item
)
{
if (this->max_size() == this->size())
{
// double the size of the array
array temp;
temp.set_max_size(this->size()*2 + 1);
temp.set_size(this->size()+1);
for (size_t i = 0; i < this->size(); ++i)
{
exchange((*this)[i],temp[i]);
}
exchange(item,temp[temp.size()-1]);
temp.swap(*this);
}
else
{
this->set_size(this->size()+1);
exchange(item,(*this)[this->size()-1]);
}
}
// ----------------------------------------------------------------------------------------
template <
typename T,
typename mem_manager
>
void array<T,mem_manager>::
push_back (
T&& item
) { push_back(item); }
// ----------------------------------------------------------------------------------------
template <typename T, typename MM>
struct is_array <array<T,MM> >
{
const static bool value = true;
};
// ----------------------------------------------------------------------------------------
}
#endif // DLIB_ARRAY_KERNEl_2_
================================================
FILE: dlib/array/array_kernel_abstract.h
================================================
// Copyright (C) 2003 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#undef DLIB_ARRAY_KERNEl_ABSTRACT_
#ifdef DLIB_ARRAY_KERNEl_ABSTRACT_
#include "../interfaces/enumerable.h"
#include "../serialize.h"
#include "../algs.h"
namespace dlib
{
template <
typename T,
typename mem_manager = default_memory_manager
>
class array : public enumerable<T>
{
/*!
REQUIREMENTS ON T
T must have a default constructor.
REQUIREMENTS ON mem_manager
must be an implementation of memory_manager/memory_manager_kernel_abstract.h or
must be an implementation of memory_manager_global/memory_manager_global_kernel_abstract.h or
must be an implementation of memory_manager_stateless/memory_manager_stateless_kernel_abstract.h
mem_manager::type can be set to anything.
POINTERS AND REFERENCES TO INTERNAL DATA
front(), back(), swap(), max_size(), set_size(), and operator[]
functions do not invalidate pointers or references to internal data.
All other functions have no such guarantee.
INITIAL VALUE
size() == 0
max_size() == 0
ENUMERATION ORDER
The enumerator will iterate over the elements of the array in the
order (*this)[0], (*this)[1], (*this)[2], ...
WHAT THIS OBJECT REPRESENTS
This object represents an ordered 1-dimensional array of items,
each item is associated with an integer value. The items are
numbered from 0 though size() - 1 and the operator[] functions
run in constant time.
Also note that unless specified otherwise, no member functions
of this object throw exceptions.
!*/
public:
typedef T type;
typedef T value_type;
typedef mem_manager mem_manager_type;
array (
);
/*!
ensures
- #*this is properly initialized
throws
- std::bad_alloc or any exception thrown by T's constructor
!*/
explicit array (
size_t new_size
);
/*!
ensures
- #*this is properly initialized
- #size() == new_size
- #max_size() == new_size
- All elements of the array will have initial values for their type.
throws
- std::bad_alloc or any exception thrown by T's constructor
!*/
~array (
);
/*!
ensures
- all memory associated with *this has been released
!*/
array(
array&& item
);
/*!
ensures
- move constructs *this from item. Therefore, the state of item is
moved into *this and #item has a valid but unspecified state.
!*/
array& operator=(
array&& item
);
/*!
ensures
- move assigns *this from item. Therefore, the state of item is
moved into *this and #item has a valid but unspecified state.
- returns a reference to #*this
!*/
void clear (
);
/*!
ensures
- #*this has its initial value
throws
- std::bad_alloc or any exception thrown by T's constructor
if this exception is thrown then the array object is unusable
until clear() is called and succeeds
!*/
const T& operator[] (
size_t pos
) const;
/*!
requires
- pos < size()
ensures
- returns a const reference to the element at position pos
!*/
T& operator[] (
size_t pos
);
/*!
requires
- pos < size()
ensures
- returns a non-const reference to the element at position pos
!*/
void set_size (
size_t size
);
/*!
requires
- size <= max_size()
ensures
- #size() == size
- any element with index between 0 and size - 1 which was in the
array before the call to set_size() retains its value and index.
All other elements have undetermined (but valid for their type)
values. (e.g. this object might buffer old T objects and reuse
them without reinitializing them between calls to set_size())
- #at_start() == true
throws
- std::bad_alloc or any exception thrown by T's constructor
may throw this exception if there is not enough memory and
if it does throw then the call to set_size() has no effect
!*/
size_t max_size(
) const;
/*!
ensures
- returns the maximum size of *this
!*/
void set_max_size(
size_t max
);
/*!
ensures
- #max_size() == max
- #size() == 0
- #at_start() == true
throws
- std::bad_alloc or any exception thrown by T's constructor
may throw this exception if there is not enough
memory and if it does throw then max_size() == 0
!*/
void swap (
array<T>& item
);
/*!
ensures
- swaps *this and item
!*/
void sort (
);
/*!
requires
- T must be a type with that is comparable via operator<
ensures
gitextract_o0iva_dz/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug.yml
│ │ ├── config.yml
│ │ └── feature.yml
│ └── workflows/
│ ├── build_cpp.yml
│ ├── build_matlab.yml
│ └── build_python.yml
├── .gitignore
├── CMakeLists.txt
├── LICENSE.txt
├── MANIFEST.in
├── README.md
├── dlib/
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── algs.h
│ ├── all/
│ │ └── source.cpp
│ ├── any/
│ │ ├── any.h
│ │ ├── any_abstract.h
│ │ ├── any_decision_function.h
│ │ ├── any_decision_function_abstract.h
│ │ ├── any_function.h
│ │ ├── any_function_abstract.h
│ │ ├── any_trainer.h
│ │ ├── any_trainer_abstract.h
│ │ └── storage.h
│ ├── any.h
│ ├── array/
│ │ ├── array_kernel.h
│ │ ├── array_kernel_abstract.h
│ │ ├── array_tools.h
│ │ └── array_tools_abstract.h
│ ├── array.h
│ ├── array2d/
│ │ ├── array2d_generic_image.h
│ │ ├── array2d_kernel.h
│ │ ├── array2d_kernel_abstract.h
│ │ └── serialize_pixel_overloads.h
│ ├── array2d.h
│ ├── assert.h
│ ├── base64/
│ │ ├── base64_kernel_1.cpp
│ │ ├── base64_kernel_1.h
│ │ └── base64_kernel_abstract.h
│ ├── base64.h
│ ├── bayes_utils/
│ │ ├── bayes_utils.h
│ │ └── bayes_utils_abstract.h
│ ├── bayes_utils.h
│ ├── bigint/
│ │ ├── bigint_kernel_1.cpp
│ │ ├── bigint_kernel_1.h
│ │ ├── bigint_kernel_2.cpp
│ │ ├── bigint_kernel_2.h
│ │ ├── bigint_kernel_abstract.h
│ │ └── bigint_kernel_c.h
│ ├── bigint.h
│ ├── binary_search_tree/
│ │ ├── binary_search_tree_kernel_1.h
│ │ ├── binary_search_tree_kernel_2.h
│ │ ├── binary_search_tree_kernel_abstract.h
│ │ └── binary_search_tree_kernel_c.h
│ ├── binary_search_tree.h
│ ├── bit_stream/
│ │ ├── bit_stream_kernel_1.cpp
│ │ ├── bit_stream_kernel_1.h
│ │ ├── bit_stream_kernel_abstract.h
│ │ ├── bit_stream_kernel_c.h
│ │ ├── bit_stream_multi_1.h
│ │ ├── bit_stream_multi_abstract.h
│ │ └── bit_stream_multi_c.h
│ ├── bit_stream.h
│ ├── bits/
│ │ └── c++config.h
│ ├── bound_function_pointer/
│ │ ├── bound_function_pointer_kernel_1.h
│ │ └── bound_function_pointer_kernel_abstract.h
│ ├── bound_function_pointer.h
│ ├── bridge/
│ │ ├── bridge.h
│ │ └── bridge_abstract.h
│ ├── bridge.h
│ ├── bsp/
│ │ ├── bsp.cpp
│ │ ├── bsp.h
│ │ └── bsp_abstract.h
│ ├── bsp.h
│ ├── byte_orderer/
│ │ ├── byte_orderer_kernel_1.h
│ │ └── byte_orderer_kernel_abstract.h
│ ├── byte_orderer.h
│ ├── cassert
│ ├── clustering/
│ │ ├── bottom_up_cluster.h
│ │ ├── bottom_up_cluster_abstract.h
│ │ ├── chinese_whispers.h
│ │ ├── chinese_whispers_abstract.h
│ │ ├── modularity_clustering.h
│ │ ├── modularity_clustering_abstract.h
│ │ ├── spectral_cluster.h
│ │ └── spectral_cluster_abstract.h
│ ├── clustering.h
│ ├── cmake
│ ├── cmake_utils/
│ │ ├── FindCUDNN.cmake
│ │ ├── check_if_avx_instructions_executable_on_host.cmake
│ │ ├── check_if_neon_available.cmake
│ │ ├── check_if_sse4_instructions_executable_on_host.cmake
│ │ ├── dlib.pc.in
│ │ ├── dlibConfig.cmake.in
│ │ ├── find_blas.cmake
│ │ ├── find_ffmpeg.cmake
│ │ ├── find_libjpeg.cmake
│ │ ├── find_libjxl.cmake
│ │ ├── find_libpng.cmake
│ │ ├── find_libwebp.cmake
│ │ ├── release_build_by_default
│ │ ├── set_compiler_specific_options.cmake
│ │ ├── tell_visual_studio_to_use_static_runtime.cmake
│ │ ├── test_for_avx/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── avx_test.cpp
│ │ │ └── this_file_doesnt_compile.cpp
│ │ ├── test_for_libjpeg/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libjpeg_test.cpp
│ │ ├── test_for_libjxl/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libjxl_test.cpp
│ │ ├── test_for_libpng/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libpng_test.cpp
│ │ ├── test_for_libwebp/
│ │ │ ├── CMakeLists.txt
│ │ │ └── libwebp_test.cpp
│ │ ├── test_for_neon/
│ │ │ ├── CMakeLists.txt
│ │ │ └── neon_test.cpp
│ │ └── test_for_sse4/
│ │ ├── CMakeLists.txt
│ │ ├── sse4_test.cpp
│ │ └── this_file_doesnt_compile.cpp
│ ├── cmd_line_parser/
│ │ ├── cmd_line_parser_check_1.h
│ │ ├── cmd_line_parser_check_c.h
│ │ ├── cmd_line_parser_kernel_1.h
│ │ ├── cmd_line_parser_kernel_abstract.h
│ │ ├── cmd_line_parser_kernel_c.h
│ │ ├── cmd_line_parser_print_1.h
│ │ ├── get_option.h
│ │ └── get_option_abstract.h
│ ├── cmd_line_parser.h
│ ├── compress_stream/
│ │ ├── compress_stream_kernel_1.h
│ │ ├── compress_stream_kernel_2.h
│ │ ├── compress_stream_kernel_3.h
│ │ └── compress_stream_kernel_abstract.h
│ ├── compress_stream.h
│ ├── conditioning_class/
│ │ ├── conditioning_class_kernel_1.h
│ │ ├── conditioning_class_kernel_2.h
│ │ ├── conditioning_class_kernel_3.h
│ │ ├── conditioning_class_kernel_4.h
│ │ ├── conditioning_class_kernel_abstract.h
│ │ └── conditioning_class_kernel_c.h
│ ├── conditioning_class.h
│ ├── config.h
│ ├── config.h.in
│ ├── config_reader/
│ │ ├── config_reader_kernel_1.h
│ │ ├── config_reader_kernel_abstract.h
│ │ ├── config_reader_thread_safe_1.h
│ │ └── config_reader_thread_safe_abstract.h
│ ├── config_reader.h
│ ├── console_progress_indicator.h
│ ├── constexpr_if.h
│ ├── control/
│ │ ├── approximate_linear_models.h
│ │ ├── approximate_linear_models_abstract.h
│ │ ├── lspi.h
│ │ ├── lspi_abstract.h
│ │ ├── mpc.h
│ │ └── mpc_abstract.h
│ ├── control.h
│ ├── cpp_pretty_printer/
│ │ ├── cpp_pretty_printer_kernel_1.h
│ │ ├── cpp_pretty_printer_kernel_2.h
│ │ └── cpp_pretty_printer_kernel_abstract.h
│ ├── cpp_pretty_printer.h
│ ├── cpp_tokenizer/
│ │ ├── cpp_tokenizer_kernel_1.h
│ │ ├── cpp_tokenizer_kernel_abstract.h
│ │ └── cpp_tokenizer_kernel_c.h
│ ├── cpp_tokenizer.h
│ ├── crc32/
│ │ ├── crc32_kernel_1.h
│ │ └── crc32_kernel_abstract.h
│ ├── crc32.h
│ ├── cstring
│ ├── cuda/
│ │ ├── cpu_dlib.cpp
│ │ ├── cpu_dlib.h
│ │ ├── cublas_dlibapi.cpp
│ │ ├── cublas_dlibapi.h
│ │ ├── cuda_data_ptr.cpp
│ │ ├── cuda_data_ptr.h
│ │ ├── cuda_dlib.cu
│ │ ├── cuda_dlib.h
│ │ ├── cuda_errors.h
│ │ ├── cuda_utils.h
│ │ ├── cudnn_dlibapi.cpp
│ │ ├── cudnn_dlibapi.h
│ │ ├── curand_dlibapi.cpp
│ │ ├── curand_dlibapi.h
│ │ ├── cusolver_dlibapi.cu
│ │ ├── cusolver_dlibapi.h
│ │ ├── gpu_data.cpp
│ │ ├── gpu_data.h
│ │ ├── gpu_data_abstract.h
│ │ ├── operation_mode.h
│ │ ├── tensor.h
│ │ ├── tensor_abstract.h
│ │ ├── tensor_tools.cpp
│ │ └── tensor_tools.h
│ ├── data_io/
│ │ ├── arc_agi.h
│ │ ├── arc_agi_abstract.h
│ │ ├── cifar.cpp
│ │ ├── cifar.h
│ │ ├── cifar_abstract.h
│ │ ├── image_dataset_metadata.cpp
│ │ ├── image_dataset_metadata.h
│ │ ├── libsvm_io.h
│ │ ├── libsvm_io_abstract.h
│ │ ├── load_image_dataset.h
│ │ ├── load_image_dataset_abstract.h
│ │ ├── mnist.cpp
│ │ ├── mnist.h
│ │ └── mnist_abstract.h
│ ├── data_io.h
│ ├── dir_nav/
│ │ ├── dir_nav_extensions.cpp
│ │ ├── dir_nav_extensions.h
│ │ ├── dir_nav_extensions_abstract.h
│ │ ├── dir_nav_kernel_1.cpp
│ │ ├── dir_nav_kernel_1.h
│ │ ├── dir_nav_kernel_2.cpp
│ │ ├── dir_nav_kernel_2.h
│ │ ├── dir_nav_kernel_abstract.h
│ │ ├── posix.h
│ │ └── windows.h
│ ├── dir_nav.h
│ ├── directed_graph/
│ │ ├── directed_graph_kernel_1.h
│ │ └── directed_graph_kernel_abstract.h
│ ├── directed_graph.h
│ ├── disjoint_subsets/
│ │ ├── disjoint_subsets.h
│ │ ├── disjoint_subsets_abstract.h
│ │ ├── disjoint_subsets_sized.h
│ │ └── disjoint_subsets_sized_abstract.h
│ ├── disjoint_subsets.h
│ ├── dlib_basic_cpp_build_tutorial.txt
│ ├── dlib_include_path_tutorial.txt
│ ├── dnn/
│ │ ├── core.h
│ │ ├── core_abstract.h
│ │ ├── input.h
│ │ ├── input_abstract.h
│ │ ├── layers.h
│ │ ├── layers_abstract.h
│ │ ├── loss.h
│ │ ├── loss_abstract.h
│ │ ├── solvers.h
│ │ ├── solvers_abstract.h
│ │ ├── trainer.h
│ │ ├── trainer_abstract.h
│ │ ├── utilities.h
│ │ ├── utilities_abstract.h
│ │ ├── validation.h
│ │ ├── visitors.h
│ │ └── visitors_abstract.h
│ ├── dnn.h
│ ├── enable_if.h
│ ├── entropy_decoder/
│ │ ├── entropy_decoder_kernel_1.cpp
│ │ ├── entropy_decoder_kernel_1.h
│ │ ├── entropy_decoder_kernel_2.cpp
│ │ ├── entropy_decoder_kernel_2.h
│ │ ├── entropy_decoder_kernel_abstract.h
│ │ └── entropy_decoder_kernel_c.h
│ ├── entropy_decoder.h
│ ├── entropy_decoder_model/
│ │ ├── entropy_decoder_model_kernel_1.h
│ │ ├── entropy_decoder_model_kernel_2.h
│ │ ├── entropy_decoder_model_kernel_3.h
│ │ ├── entropy_decoder_model_kernel_4.h
│ │ ├── entropy_decoder_model_kernel_5.h
│ │ ├── entropy_decoder_model_kernel_6.h
│ │ └── entropy_decoder_model_kernel_abstract.h
│ ├── entropy_decoder_model.h
│ ├── entropy_encoder/
│ │ ├── entropy_encoder_kernel_1.cpp
│ │ ├── entropy_encoder_kernel_1.h
│ │ ├── entropy_encoder_kernel_2.cpp
│ │ ├── entropy_encoder_kernel_2.h
│ │ ├── entropy_encoder_kernel_abstract.h
│ │ └── entropy_encoder_kernel_c.h
│ ├── entropy_encoder.h
│ ├── entropy_encoder_model/
│ │ ├── entropy_encoder_model_kernel_1.h
│ │ ├── entropy_encoder_model_kernel_2.h
│ │ ├── entropy_encoder_model_kernel_3.h
│ │ ├── entropy_encoder_model_kernel_4.h
│ │ ├── entropy_encoder_model_kernel_5.h
│ │ ├── entropy_encoder_model_kernel_6.h
│ │ ├── entropy_encoder_model_kernel_abstract.h
│ │ └── entropy_encoder_model_kernel_c.h
│ ├── entropy_encoder_model.h
│ ├── error.h
│ ├── external/
│ │ ├── cblas/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── README
│ │ │ ├── cblas.h
│ │ │ ├── cblas_caxpy.c
│ │ │ ├── cblas_ccopy.c
│ │ │ ├── cblas_cdotc_sub.c
│ │ │ ├── cblas_cdotu_sub.c
│ │ │ ├── cblas_cgbmv.c
│ │ │ ├── cblas_cgemm.c
│ │ │ ├── cblas_cgemv.c
│ │ │ ├── cblas_cgerc.c
│ │ │ ├── cblas_cgeru.c
│ │ │ ├── cblas_chbmv.c
│ │ │ ├── cblas_chemm.c
│ │ │ ├── cblas_chemv.c
│ │ │ ├── cblas_cher.c
│ │ │ ├── cblas_cher2.c
│ │ │ ├── cblas_cher2k.c
│ │ │ ├── cblas_cherk.c
│ │ │ ├── cblas_chpmv.c
│ │ │ ├── cblas_chpr.c
│ │ │ ├── cblas_chpr2.c
│ │ │ ├── cblas_cscal.c
│ │ │ ├── cblas_csscal.c
│ │ │ ├── cblas_cswap.c
│ │ │ ├── cblas_csymm.c
│ │ │ ├── cblas_csyr2k.c
│ │ │ ├── cblas_csyrk.c
│ │ │ ├── cblas_ctbmv.c
│ │ │ ├── cblas_ctbsv.c
│ │ │ ├── cblas_ctpmv.c
│ │ │ ├── cblas_ctpsv.c
│ │ │ ├── cblas_ctrmm.c
│ │ │ ├── cblas_ctrmv.c
│ │ │ ├── cblas_ctrsm.c
│ │ │ ├── cblas_ctrsv.c
│ │ │ ├── cblas_dasum.c
│ │ │ ├── cblas_daxpy.c
│ │ │ ├── cblas_dcopy.c
│ │ │ ├── cblas_ddot.c
│ │ │ ├── cblas_dgbmv.c
│ │ │ ├── cblas_dgemm.c
│ │ │ ├── cblas_dgemv.c
│ │ │ ├── cblas_dger.c
│ │ │ ├── cblas_dnrm2.c
│ │ │ ├── cblas_drot.c
│ │ │ ├── cblas_drotg.c
│ │ │ ├── cblas_drotm.c
│ │ │ ├── cblas_drotmg.c
│ │ │ ├── cblas_dsbmv.c
│ │ │ ├── cblas_dscal.c
│ │ │ ├── cblas_dsdot.c
│ │ │ ├── cblas_dspmv.c
│ │ │ ├── cblas_dspr.c
│ │ │ ├── cblas_dspr2.c
│ │ │ ├── cblas_dswap.c
│ │ │ ├── cblas_dsymm.c
│ │ │ ├── cblas_dsymv.c
│ │ │ ├── cblas_dsyr.c
│ │ │ ├── cblas_dsyr2.c
│ │ │ ├── cblas_dsyr2k.c
│ │ │ ├── cblas_dsyrk.c
│ │ │ ├── cblas_dtbmv.c
│ │ │ ├── cblas_dtbsv.c
│ │ │ ├── cblas_dtpmv.c
│ │ │ ├── cblas_dtpsv.c
│ │ │ ├── cblas_dtrmm.c
│ │ │ ├── cblas_dtrmv.c
│ │ │ ├── cblas_dtrsm.c
│ │ │ ├── cblas_dtrsv.c
│ │ │ ├── cblas_dzasum.c
│ │ │ ├── cblas_dznrm2.c
│ │ │ ├── cblas_f77.h
│ │ │ ├── cblas_icamax.c
│ │ │ ├── cblas_idamax.c
│ │ │ ├── cblas_isamax.c
│ │ │ ├── cblas_izamax.c
│ │ │ ├── cblas_sasum.c
│ │ │ ├── cblas_saxpy.c
│ │ │ ├── cblas_scasum.c
│ │ │ ├── cblas_scnrm2.c
│ │ │ ├── cblas_scopy.c
│ │ │ ├── cblas_sdot.c
│ │ │ ├── cblas_sdsdot.c
│ │ │ ├── cblas_sgbmv.c
│ │ │ ├── cblas_sgemm.c
│ │ │ ├── cblas_sgemv.c
│ │ │ ├── cblas_sger.c
│ │ │ ├── cblas_snrm2.c
│ │ │ ├── cblas_srot.c
│ │ │ ├── cblas_srotg.c
│ │ │ ├── cblas_srotm.c
│ │ │ ├── cblas_srotmg.c
│ │ │ ├── cblas_ssbmv.c
│ │ │ ├── cblas_sscal.c
│ │ │ ├── cblas_sspmv.c
│ │ │ ├── cblas_sspr.c
│ │ │ ├── cblas_sspr2.c
│ │ │ ├── cblas_sswap.c
│ │ │ ├── cblas_ssymm.c
│ │ │ ├── cblas_ssymv.c
│ │ │ ├── cblas_ssyr.c
│ │ │ ├── cblas_ssyr2.c
│ │ │ ├── cblas_ssyr2k.c
│ │ │ ├── cblas_ssyrk.c
│ │ │ ├── cblas_stbmv.c
│ │ │ ├── cblas_stbsv.c
│ │ │ ├── cblas_stpmv.c
│ │ │ ├── cblas_stpsv.c
│ │ │ ├── cblas_strmm.c
│ │ │ ├── cblas_strmv.c
│ │ │ ├── cblas_strsm.c
│ │ │ ├── cblas_strsv.c
│ │ │ ├── cblas_xerbla.c
│ │ │ ├── cblas_zaxpy.c
│ │ │ ├── cblas_zcopy.c
│ │ │ ├── cblas_zdotc_sub.c
│ │ │ ├── cblas_zdotu_sub.c
│ │ │ ├── cblas_zdscal.c
│ │ │ ├── cblas_zgbmv.c
│ │ │ ├── cblas_zgemm.c
│ │ │ ├── cblas_zgemv.c
│ │ │ ├── cblas_zgerc.c
│ │ │ ├── cblas_zgeru.c
│ │ │ ├── cblas_zhbmv.c
│ │ │ ├── cblas_zhemm.c
│ │ │ ├── cblas_zhemv.c
│ │ │ ├── cblas_zher.c
│ │ │ ├── cblas_zher2.c
│ │ │ ├── cblas_zher2k.c
│ │ │ ├── cblas_zherk.c
│ │ │ ├── cblas_zhpmv.c
│ │ │ ├── cblas_zhpr.c
│ │ │ ├── cblas_zhpr2.c
│ │ │ ├── cblas_zscal.c
│ │ │ ├── cblas_zswap.c
│ │ │ ├── cblas_zsymm.c
│ │ │ ├── cblas_zsyr2k.c
│ │ │ ├── cblas_zsyrk.c
│ │ │ ├── cblas_ztbmv.c
│ │ │ ├── cblas_ztbsv.c
│ │ │ ├── cblas_ztpmv.c
│ │ │ ├── cblas_ztpsv.c
│ │ │ ├── cblas_ztrmm.c
│ │ │ ├── cblas_ztrmv.c
│ │ │ ├── cblas_ztrsm.c
│ │ │ ├── cblas_ztrsv.c
│ │ │ ├── cdotcsub.f
│ │ │ ├── cdotusub.f
│ │ │ ├── dasumsub.f
│ │ │ ├── ddotsub.f
│ │ │ ├── dnrm2sub.f
│ │ │ ├── dsdotsub.f
│ │ │ ├── dzasumsub.f
│ │ │ ├── dznrm2sub.f
│ │ │ ├── icamaxsub.f
│ │ │ ├── idamaxsub.f
│ │ │ ├── isamaxsub.f
│ │ │ ├── izamaxsub.f
│ │ │ ├── sasumsub.f
│ │ │ ├── scasumsub.f
│ │ │ ├── scnrm2sub.f
│ │ │ ├── sdotsub.f
│ │ │ ├── sdsdotsub.f
│ │ │ ├── snrm2sub.f
│ │ │ ├── zdotcsub.f
│ │ │ └── zdotusub.f
│ │ ├── libjpeg/
│ │ │ ├── README
│ │ │ ├── cderror.h
│ │ │ ├── cdjpeg.h
│ │ │ ├── jaricom.c
│ │ │ ├── jcapimin.c
│ │ │ ├── jcapistd.c
│ │ │ ├── jcarith.c
│ │ │ ├── jccoefct.c
│ │ │ ├── jccolor.c
│ │ │ ├── jcdctmgr.c
│ │ │ ├── jchuff.c
│ │ │ ├── jcinit.c
│ │ │ ├── jcmainct.c
│ │ │ ├── jcmarker.c
│ │ │ ├── jcmaster.c
│ │ │ ├── jcomapi.c
│ │ │ ├── jconfig.h
│ │ │ ├── jcparam.c
│ │ │ ├── jcprepct.c
│ │ │ ├── jcsample.c
│ │ │ ├── jctrans.c
│ │ │ ├── jdapimin.c
│ │ │ ├── jdapistd.c
│ │ │ ├── jdarith.c
│ │ │ ├── jdatadst.c
│ │ │ ├── jdatasrc.c
│ │ │ ├── jdcoefct.c
│ │ │ ├── jdcolor.c
│ │ │ ├── jdct.h
│ │ │ ├── jddctmgr.c
│ │ │ ├── jdhuff.c
│ │ │ ├── jdinput.c
│ │ │ ├── jdmainct.c
│ │ │ ├── jdmarker.c
│ │ │ ├── jdmaster.c
│ │ │ ├── jdmerge.c
│ │ │ ├── jdpostct.c
│ │ │ ├── jdsample.c
│ │ │ ├── jdtrans.c
│ │ │ ├── jerror.c
│ │ │ ├── jerror.h
│ │ │ ├── jfdctflt.c
│ │ │ ├── jfdctfst.c
│ │ │ ├── jfdctint.c
│ │ │ ├── jidctflt.c
│ │ │ ├── jidctfst.c
│ │ │ ├── jidctint.c
│ │ │ ├── jinclude.h
│ │ │ ├── jmemansi.c
│ │ │ ├── jmemmgr.c
│ │ │ ├── jmemname.c
│ │ │ ├── jmemnobs.c
│ │ │ ├── jmemsys.h
│ │ │ ├── jmorecfg.h
│ │ │ ├── jpegint.h
│ │ │ ├── jpeglib.h
│ │ │ ├── jpegtran.c
│ │ │ ├── jquant1.c
│ │ │ ├── jquant2.c
│ │ │ ├── jutils.c
│ │ │ ├── jversion.h
│ │ │ ├── rdbmp.c
│ │ │ ├── rdcolmap.c
│ │ │ ├── rdgif.c
│ │ │ ├── rdjpgcom.c
│ │ │ ├── rdppm.c
│ │ │ ├── rdrle.c
│ │ │ ├── rdswitch.c
│ │ │ ├── rdtarga.c
│ │ │ ├── transupp.c
│ │ │ ├── transupp.h
│ │ │ ├── wrbmp.c
│ │ │ ├── wrgif.c
│ │ │ ├── wrjpgcom.c
│ │ │ ├── wrppm.c
│ │ │ ├── wrrle.c
│ │ │ └── wrtarga.c
│ │ ├── libpng/
│ │ │ ├── LICENSE
│ │ │ ├── README
│ │ │ ├── arm/
│ │ │ │ ├── arm_init.c
│ │ │ │ ├── filter_neon.S
│ │ │ │ ├── filter_neon_intrinsics.c
│ │ │ │ └── palette_neon_intrinsics.c
│ │ │ ├── png.c
│ │ │ ├── png.h
│ │ │ ├── pngconf.h
│ │ │ ├── pngdebug.h
│ │ │ ├── pngerror.c
│ │ │ ├── pngget.c
│ │ │ ├── pnginfo.h
│ │ │ ├── pnglibconf.h
│ │ │ ├── pngmem.c
│ │ │ ├── pngpread.c
│ │ │ ├── pngpriv.h
│ │ │ ├── pngread.c
│ │ │ ├── pngrio.c
│ │ │ ├── pngrtran.c
│ │ │ ├── pngrutil.c
│ │ │ ├── pngset.c
│ │ │ ├── pngstruct.h
│ │ │ ├── pngtrans.c
│ │ │ ├── pngwio.c
│ │ │ ├── pngwrite.c
│ │ │ ├── pngwtran.c
│ │ │ └── pngwutil.c
│ │ ├── pybind11/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── LICENSE
│ │ │ ├── README.rst
│ │ │ ├── include/
│ │ │ │ └── pybind11/
│ │ │ │ ├── attr.h
│ │ │ │ ├── buffer_info.h
│ │ │ │ ├── cast.h
│ │ │ │ ├── chrono.h
│ │ │ │ ├── common.h
│ │ │ │ ├── complex.h
│ │ │ │ ├── detail/
│ │ │ │ │ ├── class.h
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── descr.h
│ │ │ │ │ ├── init.h
│ │ │ │ │ ├── internals.h
│ │ │ │ │ ├── type_caster_base.h
│ │ │ │ │ └── typeid.h
│ │ │ │ ├── eigen/
│ │ │ │ │ ├── common.h
│ │ │ │ │ ├── matrix.h
│ │ │ │ │ └── tensor.h
│ │ │ │ ├── eigen.h
│ │ │ │ ├── embed.h
│ │ │ │ ├── eval.h
│ │ │ │ ├── functional.h
│ │ │ │ ├── gil.h
│ │ │ │ ├── gil_safe_call_once.h
│ │ │ │ ├── iostream.h
│ │ │ │ ├── numpy.h
│ │ │ │ ├── operators.h
│ │ │ │ ├── options.h
│ │ │ │ ├── pybind11.h
│ │ │ │ ├── pytypes.h
│ │ │ │ ├── stl/
│ │ │ │ │ └── filesystem.h
│ │ │ │ ├── stl.h
│ │ │ │ ├── stl_bind.h
│ │ │ │ ├── type_caster_pyobject_ptr.h
│ │ │ │ └── typing.h
│ │ │ └── tools/
│ │ │ ├── FindCatch.cmake
│ │ │ ├── FindEigen3.cmake
│ │ │ ├── FindPythonLibsNew.cmake
│ │ │ ├── JoinPaths.cmake
│ │ │ ├── check-style.sh
│ │ │ ├── cmake_uninstall.cmake.in
│ │ │ ├── codespell_ignore_lines_from_errors.py
│ │ │ ├── libsize.py
│ │ │ ├── make_changelog.py
│ │ │ ├── pybind11.pc.in
│ │ │ ├── pybind11Common.cmake
│ │ │ ├── pybind11Config.cmake.in
│ │ │ ├── pybind11NewTools.cmake
│ │ │ ├── pybind11Tools.cmake
│ │ │ ├── pyproject.toml
│ │ │ ├── setup_global.py.in
│ │ │ └── setup_main.py.in
│ │ └── zlib/
│ │ ├── README
│ │ ├── adler32.c
│ │ ├── compress.c
│ │ ├── crc32.c
│ │ ├── crc32.h
│ │ ├── deflate.c
│ │ ├── deflate.h
│ │ ├── gzclose.c
│ │ ├── gzguts.h
│ │ ├── gzlib.c
│ │ ├── gzread.c
│ │ ├── gzwrite.c
│ │ ├── infback.c
│ │ ├── inffast.c
│ │ ├── inffast.h
│ │ ├── inffixed.h
│ │ ├── inflate.c
│ │ ├── inflate.h
│ │ ├── inftrees.c
│ │ ├── inftrees.h
│ │ ├── trees.c
│ │ ├── trees.h
│ │ ├── uncompr.c
│ │ ├── zconf.h
│ │ ├── zlib.h
│ │ ├── zutil.c
│ │ └── zutil.h
│ ├── fft/
│ │ ├── fft.cpp
│ │ ├── fft.h
│ │ ├── fft_size.h
│ │ ├── fft_stl.h
│ │ ├── kiss_fft.h
│ │ └── mkl_fft.h
│ ├── filtering/
│ │ ├── kalman_filter.cpp
│ │ ├── kalman_filter.h
│ │ ├── kalman_filter_abstract.h
│ │ ├── rls_filter.h
│ │ └── rls_filter_abstract.h
│ ├── filtering.h
│ ├── float_details.h
│ ├── fstream
│ ├── functional.h
│ ├── general_hash/
│ │ ├── count_bits.h
│ │ ├── count_bits_abstract.h
│ │ ├── general_hash.h
│ │ ├── hash.h
│ │ ├── hash_abstract.h
│ │ ├── murmur_hash3.h
│ │ ├── murmur_hash3_abstract.h
│ │ ├── random_hashing.h
│ │ └── random_hashing_abstract.h
│ ├── geometry/
│ │ ├── border_enumerator.h
│ │ ├── border_enumerator_abstract.h
│ │ ├── drectangle.h
│ │ ├── drectangle_abstract.h
│ │ ├── line.h
│ │ ├── line_abstract.h
│ │ ├── point_transforms.h
│ │ ├── point_transforms_abstract.h
│ │ ├── polygon.h
│ │ ├── polygon_abstract.h
│ │ ├── rectangle.h
│ │ ├── rectangle_abstract.h
│ │ ├── vector.h
│ │ └── vector_abstract.h
│ ├── geometry.h
│ ├── global_optimization/
│ │ ├── find_max_global.h
│ │ ├── find_max_global_abstract.h
│ │ ├── global_function_search.cpp
│ │ ├── global_function_search.h
│ │ ├── global_function_search_abstract.h
│ │ ├── upper_bound_function.h
│ │ └── upper_bound_function_abstract.h
│ ├── global_optimization.h
│ ├── graph/
│ │ ├── graph_kernel_1.h
│ │ └── graph_kernel_abstract.h
│ ├── graph.h
│ ├── graph_cuts/
│ │ ├── find_max_factor_graph_potts.h
│ │ ├── find_max_factor_graph_potts_abstract.h
│ │ ├── general_flow_graph.h
│ │ ├── general_potts_problem.h
│ │ ├── graph_labeler.h
│ │ ├── graph_labeler_abstract.h
│ │ ├── min_cut.h
│ │ └── min_cut_abstract.h
│ ├── graph_cuts.h
│ ├── graph_utils/
│ │ ├── edge_list_graphs.h
│ │ ├── edge_list_graphs_abstract.h
│ │ ├── find_k_nearest_neighbors_lsh.h
│ │ ├── find_k_nearest_neighbors_lsh_abstract.h
│ │ ├── function_objects.h
│ │ ├── function_objects_abstract.h
│ │ ├── graph_utils.h
│ │ ├── graph_utils_abstract.h
│ │ ├── ordered_sample_pair.h
│ │ ├── ordered_sample_pair_abstract.h
│ │ ├── sample_pair.h
│ │ └── sample_pair_abstract.h
│ ├── graph_utils.h
│ ├── graph_utils_threaded.h
│ ├── gui_core/
│ │ ├── gui_core_kernel_1.cpp
│ │ ├── gui_core_kernel_1.h
│ │ ├── gui_core_kernel_2.cpp
│ │ ├── gui_core_kernel_2.h
│ │ ├── gui_core_kernel_abstract.h
│ │ ├── windows.h
│ │ └── xlib.h
│ ├── gui_core.h
│ ├── gui_widgets/
│ │ ├── base_widgets.cpp
│ │ ├── base_widgets.h
│ │ ├── base_widgets_abstract.h
│ │ ├── canvas_drawing.cpp
│ │ ├── canvas_drawing.h
│ │ ├── canvas_drawing_abstract.h
│ │ ├── drawable.cpp
│ │ ├── drawable.h
│ │ ├── drawable_abstract.h
│ │ ├── fonts.cpp
│ │ ├── fonts.h
│ │ ├── fonts_abstract.h
│ │ ├── nativefont.h
│ │ ├── style.cpp
│ │ ├── style.h
│ │ ├── style_abstract.h
│ │ ├── widgets.cpp
│ │ ├── widgets.h
│ │ └── widgets_abstract.h
│ ├── gui_widgets.h
│ ├── hash.h
│ ├── hash_map/
│ │ ├── hash_map_kernel_1.h
│ │ ├── hash_map_kernel_abstract.h
│ │ └── hash_map_kernel_c.h
│ ├── hash_map.h
│ ├── hash_set/
│ │ ├── hash_set_kernel_1.h
│ │ ├── hash_set_kernel_abstract.h
│ │ └── hash_set_kernel_c.h
│ ├── hash_set.h
│ ├── hash_table/
│ │ ├── hash_table_kernel_1.h
│ │ ├── hash_table_kernel_2.h
│ │ ├── hash_table_kernel_abstract.h
│ │ └── hash_table_kernel_c.h
│ ├── hash_table.h
│ ├── http_client/
│ │ ├── http_client.cpp
│ │ ├── http_client.h
│ │ └── http_client_abstract.h
│ ├── image_io.h
│ ├── image_keypoint/
│ │ ├── binned_vector_feature_image.h
│ │ ├── binned_vector_feature_image_abstract.h
│ │ ├── build_separable_poly_filters.h
│ │ ├── draw_surf_points.h
│ │ ├── draw_surf_points_abstract.h
│ │ ├── fine_hog_image.h
│ │ ├── fine_hog_image_abstract.h
│ │ ├── hashed_feature_image.h
│ │ ├── hashed_feature_image_abstract.h
│ │ ├── hessian_pyramid.h
│ │ ├── hessian_pyramid_abstract.h
│ │ ├── hog.h
│ │ ├── hog_abstract.h
│ │ ├── nearest_neighbor_feature_image.h
│ │ ├── nearest_neighbor_feature_image_abstract.h
│ │ ├── poly_image.h
│ │ ├── poly_image_abstract.h
│ │ ├── surf.h
│ │ └── surf_abstract.h
│ ├── image_keypoint.h
│ ├── image_loader/
│ │ ├── image_loader.h
│ │ ├── image_loader_abstract.h
│ │ ├── jpeg_loader.cpp
│ │ ├── jpeg_loader.h
│ │ ├── jpeg_loader_abstract.h
│ │ ├── jxl_loader.cpp
│ │ ├── jxl_loader.h
│ │ ├── jxl_loader_abstract.h
│ │ ├── load_image.h
│ │ ├── load_image_abstract.h
│ │ ├── png_loader.cpp
│ │ ├── png_loader.h
│ │ ├── png_loader_abstract.h
│ │ ├── webp_loader.cpp
│ │ ├── webp_loader.h
│ │ └── webp_loader_abstract.h
│ ├── image_processing/
│ │ ├── box_overlap_testing.h
│ │ ├── box_overlap_testing_abstract.h
│ │ ├── correlation_tracker.h
│ │ ├── correlation_tracker_abstract.h
│ │ ├── detection_template_tools.h
│ │ ├── detection_template_tools_abstract.h
│ │ ├── frontal_face_detector.h
│ │ ├── frontal_face_detector_abstract.h
│ │ ├── full_object_detection.h
│ │ ├── full_object_detection_abstract.h
│ │ ├── generic_image.h
│ │ ├── object_detector.h
│ │ ├── object_detector_abstract.h
│ │ ├── remove_unobtainable_rectangles.h
│ │ ├── remove_unobtainable_rectangles_abstract.h
│ │ ├── render_face_detections.h
│ │ ├── render_face_detections_abstract.h
│ │ ├── scan_fhog_pyramid.h
│ │ ├── scan_fhog_pyramid_abstract.h
│ │ ├── scan_image.h
│ │ ├── scan_image_abstract.h
│ │ ├── scan_image_boxes.h
│ │ ├── scan_image_boxes_abstract.h
│ │ ├── scan_image_custom.h
│ │ ├── scan_image_custom_abstract.h
│ │ ├── scan_image_pyramid.h
│ │ ├── scan_image_pyramid_abstract.h
│ │ ├── scan_image_pyramid_tools.h
│ │ ├── scan_image_pyramid_tools_abstract.h
│ │ ├── setup_hashed_features.h
│ │ ├── setup_hashed_features_abstract.h
│ │ ├── shape_predictor.h
│ │ ├── shape_predictor_abstract.h
│ │ ├── shape_predictor_trainer.h
│ │ └── shape_predictor_trainer_abstract.h
│ ├── image_processing.h
│ ├── image_saver/
│ │ ├── dng_shared.h
│ │ ├── image_saver.h
│ │ ├── image_saver_abstract.h
│ │ ├── save_jpeg.cpp
│ │ ├── save_jpeg.h
│ │ ├── save_jpeg_abstract.h
│ │ ├── save_jxl.cpp
│ │ ├── save_jxl.h
│ │ ├── save_jxl_abstract.h
│ │ ├── save_png.cpp
│ │ ├── save_png.h
│ │ ├── save_png_abstract.h
│ │ ├── save_webp.cpp
│ │ ├── save_webp.h
│ │ └── save_webp_abstract.h
│ ├── image_transforms/
│ │ ├── assign_image.h
│ │ ├── assign_image_abstract.h
│ │ ├── colormaps.h
│ │ ├── colormaps_abstract.h
│ │ ├── draw.h
│ │ ├── draw_abstract.h
│ │ ├── edge_detector.h
│ │ ├── edge_detector_abstract.h
│ │ ├── equalize_histogram.h
│ │ ├── equalize_histogram_abstract.h
│ │ ├── fhog.h
│ │ ├── fhog_abstract.h
│ │ ├── hough_transform.h
│ │ ├── hough_transform_abstract.h
│ │ ├── image_pyramid.h
│ │ ├── image_pyramid_abstract.h
│ │ ├── integral_image.h
│ │ ├── integral_image_abstract.h
│ │ ├── interpolation.h
│ │ ├── interpolation_abstract.h
│ │ ├── label_connected_blobs.h
│ │ ├── label_connected_blobs_abstract.h
│ │ ├── lbp.h
│ │ ├── lbp_abstract.h
│ │ ├── morphological_operations.h
│ │ ├── morphological_operations_abstract.h
│ │ ├── random_color_transform.h
│ │ ├── random_color_transform_abstract.h
│ │ ├── random_cropper.h
│ │ ├── random_cropper_abstract.h
│ │ ├── segment_image.h
│ │ ├── segment_image_abstract.h
│ │ ├── spatial_filtering.h
│ │ ├── spatial_filtering_abstract.h
│ │ ├── thresholding.h
│ │ └── thresholding_abstract.h
│ ├── image_transforms.h
│ ├── interfaces/
│ │ ├── cmd_line_parser_option.h
│ │ ├── enumerable.h
│ │ ├── map_pair.h
│ │ └── remover.h
│ ├── invoke.h
│ ├── iomanip
│ ├── iosfwd
│ ├── iosockstream/
│ │ ├── iosockstream.h
│ │ └── iosockstream_abstract.h
│ ├── iosockstream.h
│ ├── iostream
│ ├── is_kind.h
│ ├── istream
│ ├── java/
│ │ ├── CMakeLists.txt
│ │ ├── cmake_swig_jni
│ │ ├── java_array.h
│ │ ├── run_test.sh
│ │ ├── swig_api.h
│ │ └── swig_test.java
│ ├── linker/
│ │ ├── linker_kernel_1.cpp
│ │ ├── linker_kernel_1.h
│ │ └── linker_kernel_abstract.h
│ ├── linker.h
│ ├── locale
│ ├── logger/
│ │ ├── extra_logger_headers.cpp
│ │ ├── extra_logger_headers.h
│ │ ├── logger_config_file.cpp
│ │ ├── logger_config_file.h
│ │ ├── logger_kernel_1.cpp
│ │ ├── logger_kernel_1.h
│ │ └── logger_kernel_abstract.h
│ ├── logger.h
│ ├── lsh/
│ │ ├── create_random_projection_hash.h
│ │ ├── create_random_projection_hash_abstract.h
│ │ ├── hashes.h
│ │ ├── hashes_abstract.h
│ │ ├── projection_hash.h
│ │ └── projection_hash_abstract.h
│ ├── lsh.h
│ ├── lz77_buffer/
│ │ ├── lz77_buffer_kernel_1.h
│ │ ├── lz77_buffer_kernel_2.h
│ │ ├── lz77_buffer_kernel_abstract.h
│ │ └── lz77_buffer_kernel_c.h
│ ├── lz77_buffer.h
│ ├── lzp_buffer/
│ │ ├── lzp_buffer_kernel_1.h
│ │ ├── lzp_buffer_kernel_2.h
│ │ ├── lzp_buffer_kernel_abstract.h
│ │ └── lzp_buffer_kernel_c.h
│ ├── lzp_buffer.h
│ ├── manifold_regularization/
│ │ ├── linear_manifold_regularizer.h
│ │ └── linear_manifold_regularizer_abstract.h
│ ├── manifold_regularization.h
│ ├── map/
│ │ ├── map_kernel_1.h
│ │ ├── map_kernel_abstract.h
│ │ └── map_kernel_c.h
│ ├── map.h
│ ├── math/
│ │ ├── bessel.h
│ │ ├── details/
│ │ │ └── bessel.h
│ │ └── windows.h
│ ├── math.h
│ ├── matlab/
│ │ ├── CMakeLists.txt
│ │ ├── README.txt
│ │ ├── call_matlab.h
│ │ ├── cmake_mex_wrapper
│ │ ├── example.m
│ │ ├── example_mex_callback.cpp
│ │ ├── example_mex_class.cpp
│ │ ├── example_mex_function.cpp
│ │ ├── example_mex_struct.cpp
│ │ ├── mex_wrapper.cpp
│ │ ├── sig_traits.h
│ │ ├── subprocess_stream.cpp
│ │ └── subprocess_stream.h
│ ├── matrix/
│ │ ├── cblas_constants.h
│ │ ├── lapack/
│ │ │ ├── fortran_id.h
│ │ │ ├── gees.h
│ │ │ ├── geev.h
│ │ │ ├── geqrf.h
│ │ │ ├── gesdd.h
│ │ │ ├── gesvd.h
│ │ │ ├── getrf.h
│ │ │ ├── ormqr.h
│ │ │ ├── pbtrf.h
│ │ │ ├── potrf.h
│ │ │ ├── syev.h
│ │ │ └── syevr.h
│ │ ├── matrix.h
│ │ ├── matrix_abstract.h
│ │ ├── matrix_assign.h
│ │ ├── matrix_assign_fwd.h
│ │ ├── matrix_blas_bindings.h
│ │ ├── matrix_cholesky.h
│ │ ├── matrix_conj_trans.h
│ │ ├── matrix_conv.h
│ │ ├── matrix_conv_abstract.h
│ │ ├── matrix_data_layout.h
│ │ ├── matrix_data_layout_abstract.h
│ │ ├── matrix_default_mul.h
│ │ ├── matrix_eigenvalue.h
│ │ ├── matrix_exp.h
│ │ ├── matrix_exp_abstract.h
│ │ ├── matrix_expressions.h
│ │ ├── matrix_fft.h
│ │ ├── matrix_fft_abstract.h
│ │ ├── matrix_fwd.h
│ │ ├── matrix_generic_image.h
│ │ ├── matrix_la.h
│ │ ├── matrix_la_abstract.h
│ │ ├── matrix_lu.h
│ │ ├── matrix_mat.h
│ │ ├── matrix_mat_abstract.h
│ │ ├── matrix_math_functions.h
│ │ ├── matrix_math_functions_abstract.h
│ │ ├── matrix_op.h
│ │ ├── matrix_qr.h
│ │ ├── matrix_read_from_istream.h
│ │ ├── matrix_subexp.h
│ │ ├── matrix_subexp_abstract.h
│ │ ├── matrix_trsm.h
│ │ ├── matrix_utilities.h
│ │ ├── matrix_utilities_abstract.h
│ │ ├── symmetric_matrix_cache.h
│ │ └── symmetric_matrix_cache_abstract.h
│ ├── matrix.h
│ ├── md5/
│ │ ├── md5_kernel_1.cpp
│ │ ├── md5_kernel_1.h
│ │ └── md5_kernel_abstract.h
│ ├── md5.h
│ ├── media/
│ │ ├── ffmpeg_demuxer.h
│ │ ├── ffmpeg_details.h
│ │ ├── ffmpeg_muxer.h
│ │ ├── ffmpeg_utils.h
│ │ └── sink.h
│ ├── media.h
│ ├── member_function_pointer/
│ │ ├── make_mfp.h
│ │ ├── make_mfp_abstract.h
│ │ ├── member_function_pointer_kernel_1.h
│ │ └── member_function_pointer_kernel_abstract.h
│ ├── member_function_pointer.h
│ ├── memory_manager/
│ │ ├── memory_manager_kernel_1.h
│ │ ├── memory_manager_kernel_2.h
│ │ ├── memory_manager_kernel_3.h
│ │ └── memory_manager_kernel_abstract.h
│ ├── memory_manager.h
│ ├── memory_manager_global/
│ │ ├── memory_manager_global_kernel_1.h
│ │ └── memory_manager_global_kernel_abstract.h
│ ├── memory_manager_global.h
│ ├── memory_manager_stateless/
│ │ ├── memory_manager_stateless_kernel_1.h
│ │ ├── memory_manager_stateless_kernel_2.h
│ │ └── memory_manager_stateless_kernel_abstract.h
│ ├── memory_manager_stateless.h
│ ├── metaprogramming.h
│ ├── misc_api/
│ │ ├── misc_api_kernel_1.cpp
│ │ ├── misc_api_kernel_1.h
│ │ ├── misc_api_kernel_2.cpp
│ │ ├── misc_api_kernel_2.h
│ │ ├── misc_api_kernel_abstract.h
│ │ ├── misc_api_shared.h
│ │ ├── posix.h
│ │ └── windows.h
│ ├── misc_api.h
│ ├── mlp/
│ │ ├── mlp_kernel_1.h
│ │ ├── mlp_kernel_abstract.h
│ │ └── mlp_kernel_c.h
│ ├── mlp.h
│ ├── noncopyable.h
│ ├── numeric_constants.h
│ ├── numerical_integration/
│ │ ├── integrate_function_adapt_simpson.h
│ │ └── integrate_function_adapt_simpson_abstract.h
│ ├── numerical_integration.h
│ ├── opencv/
│ │ ├── cv_image.h
│ │ ├── cv_image_abstract.h
│ │ ├── to_open_cv.h
│ │ └── to_open_cv_abstract.h
│ ├── opencv.h
│ ├── optimization/
│ │ ├── elastic_net.h
│ │ ├── elastic_net_abstract.h
│ │ ├── find_max_factor_graph_nmplp.h
│ │ ├── find_max_factor_graph_nmplp_abstract.h
│ │ ├── find_max_factor_graph_viterbi.h
│ │ ├── find_max_factor_graph_viterbi_abstract.h
│ │ ├── find_max_parse_cky.h
│ │ ├── find_max_parse_cky_abstract.h
│ │ ├── find_optimal_parameters.h
│ │ ├── find_optimal_parameters_abstract.h
│ │ ├── isotonic_regression.h
│ │ ├── isotonic_regression_abstract.h
│ │ ├── max_cost_assignment.h
│ │ ├── max_cost_assignment_abstract.h
│ │ ├── max_sum_submatrix.h
│ │ ├── max_sum_submatrix_abstract.h
│ │ ├── optimization.h
│ │ ├── optimization_abstract.h
│ │ ├── optimization_bobyqa.h
│ │ ├── optimization_bobyqa_abstract.h
│ │ ├── optimization_least_squares.h
│ │ ├── optimization_least_squares_abstract.h
│ │ ├── optimization_line_search.h
│ │ ├── optimization_line_search_abstract.h
│ │ ├── optimization_oca.h
│ │ ├── optimization_oca_abstract.h
│ │ ├── optimization_search_strategies.h
│ │ ├── optimization_search_strategies_abstract.h
│ │ ├── optimization_solve_qp2_using_smo.h
│ │ ├── optimization_solve_qp2_using_smo_abstract.h
│ │ ├── optimization_solve_qp3_using_smo.h
│ │ ├── optimization_solve_qp3_using_smo_abstract.h
│ │ ├── optimization_solve_qp_using_smo.h
│ │ ├── optimization_solve_qp_using_smo_abstract.h
│ │ ├── optimization_stop_strategies.h
│ │ ├── optimization_stop_strategies_abstract.h
│ │ ├── optimization_trust_region.h
│ │ └── optimization_trust_region_abstract.h
│ ├── optimization.h
│ ├── optional.h
│ ├── ostream
│ ├── overloaded.h
│ ├── pipe/
│ │ ├── pipe_kernel_1.h
│ │ └── pipe_kernel_abstract.h
│ ├── pipe.h
│ ├── pixel.h
│ ├── platform.h
│ ├── python/
│ │ ├── numpy_image.h
│ │ ├── pyassert.h
│ │ ├── pybind_utils.h
│ │ └── serialize_pickle.h
│ ├── python.h
│ ├── quantum_computing/
│ │ ├── quantum_computing.h
│ │ └── quantum_computing_abstract.h
│ ├── quantum_computing.h
│ ├── queue/
│ │ ├── queue_kernel_1.h
│ │ ├── queue_kernel_2.h
│ │ ├── queue_kernel_abstract.h
│ │ ├── queue_kernel_c.h
│ │ ├── queue_sort_1.h
│ │ └── queue_sort_abstract.h
│ ├── queue.h
│ ├── rand/
│ │ ├── mersenne_twister.h
│ │ ├── rand_kernel_1.h
│ │ └── rand_kernel_abstract.h
│ ├── rand.h
│ ├── random_forest/
│ │ ├── random_forest_regression.h
│ │ └── random_forest_regression_abstract.h
│ ├── random_forest.h
│ ├── ref.h
│ ├── reference_counter/
│ │ ├── reference_counter_kernel_1.h
│ │ └── reference_counter_kernel_abstract.h
│ ├── reference_counter.h
│ ├── revision.h.in
│ ├── scope.h
│ ├── sequence/
│ │ ├── sequence_compare_1.h
│ │ ├── sequence_compare_abstract.h
│ │ ├── sequence_kernel_1.h
│ │ ├── sequence_kernel_2.h
│ │ ├── sequence_kernel_abstract.h
│ │ ├── sequence_kernel_c.h
│ │ ├── sequence_sort_1.h
│ │ ├── sequence_sort_2.h
│ │ └── sequence_sort_abstract.h
│ ├── sequence.h
│ ├── serialize.h
│ ├── server/
│ │ ├── server_http.cpp
│ │ ├── server_http.h
│ │ ├── server_http_abstract.h
│ │ ├── server_iostream.cpp
│ │ ├── server_iostream.h
│ │ ├── server_iostream_abstract.h
│ │ ├── server_kernel.cpp
│ │ ├── server_kernel.h
│ │ └── server_kernel_abstract.h
│ ├── server.h
│ ├── set/
│ │ ├── set_compare_1.h
│ │ ├── set_compare_abstract.h
│ │ ├── set_kernel_1.h
│ │ ├── set_kernel_abstract.h
│ │ └── set_kernel_c.h
│ ├── set.h
│ ├── set_utils/
│ │ ├── set_utils.h
│ │ └── set_utils_abstract.h
│ ├── set_utils.h
│ ├── simd/
│ │ ├── simd4f.h
│ │ ├── simd4i.h
│ │ ├── simd8f.h
│ │ ├── simd8i.h
│ │ └── simd_check.h
│ ├── simd.h
│ ├── sliding_buffer/
│ │ ├── circular_buffer.h
│ │ ├── circular_buffer_abstract.h
│ │ ├── sliding_buffer_kernel_1.h
│ │ ├── sliding_buffer_kernel_abstract.h
│ │ └── sliding_buffer_kernel_c.h
│ ├── sliding_buffer.h
│ ├── smart_pointers/
│ │ ├── scoped_ptr.h
│ │ ├── shared_ptr.h
│ │ ├── shared_ptr_abstract.h
│ │ ├── shared_ptr_thread_safe.h
│ │ ├── shared_ptr_thread_safe_abstract.h
│ │ ├── weak_ptr.h
│ │ └── weak_ptr_abstract.h
│ ├── smart_pointers.h
│ ├── smart_pointers_thread_safe.h
│ ├── sockets/
│ │ ├── posix.h
│ │ ├── sockets_extensions.cpp
│ │ ├── sockets_extensions.h
│ │ ├── sockets_extensions_abstract.h
│ │ ├── sockets_kernel_1.cpp
│ │ ├── sockets_kernel_1.h
│ │ ├── sockets_kernel_2.cpp
│ │ ├── sockets_kernel_2.h
│ │ ├── sockets_kernel_abstract.h
│ │ └── windows.h
│ ├── sockets.h
│ ├── sockstreambuf/
│ │ ├── sockstreambuf.cpp
│ │ ├── sockstreambuf.h
│ │ ├── sockstreambuf_abstract.h
│ │ ├── sockstreambuf_unbuffered.cpp
│ │ └── sockstreambuf_unbuffered.h
│ ├── sockstreambuf.h
│ ├── sort.h
│ ├── sparse_vector.h
│ ├── sqlite/
│ │ ├── sqlite.h
│ │ ├── sqlite_abstract.h
│ │ ├── sqlite_tools.h
│ │ └── sqlite_tools_abstract.h
│ ├── sqlite.h
│ ├── sstream
│ ├── stack/
│ │ ├── stack_kernel_1.h
│ │ ├── stack_kernel_abstract.h
│ │ └── stack_kernel_c.h
│ ├── stack.h
│ ├── stack_trace.cpp
│ ├── stack_trace.h
│ ├── static_map/
│ │ ├── static_map_kernel_1.h
│ │ ├── static_map_kernel_abstract.h
│ │ └── static_map_kernel_c.h
│ ├── static_map.h
│ ├── static_set/
│ │ ├── static_set_compare_1.h
│ │ ├── static_set_compare_abstract.h
│ │ ├── static_set_kernel_1.h
│ │ ├── static_set_kernel_abstract.h
│ │ └── static_set_kernel_c.h
│ ├── static_set.h
│ ├── statistics/
│ │ ├── average_precision.h
│ │ ├── average_precision_abstract.h
│ │ ├── cca.h
│ │ ├── cca_abstract.h
│ │ ├── dpca.h
│ │ ├── dpca_abstract.h
│ │ ├── image_feature_sampling.h
│ │ ├── image_feature_sampling_abstract.h
│ │ ├── lda.h
│ │ ├── lda_abstract.h
│ │ ├── random_subset_selector.h
│ │ ├── random_subset_selector_abstract.h
│ │ ├── running_gradient.h
│ │ ├── running_gradient_abstract.h
│ │ ├── sammon.h
│ │ ├── sammon_abstract.h
│ │ ├── statistics.h
│ │ ├── statistics_abstract.h
│ │ ├── vector_normalizer_frobmetric.h
│ │ └── vector_normalizer_frobmetric_abstract.h
│ ├── statistics.h
│ ├── std_allocator.h
│ ├── stl_checked/
│ │ ├── std_vector_c.h
│ │ └── std_vector_c_abstract.h
│ ├── stl_checked.h
│ ├── string/
│ │ ├── cassert
│ │ ├── iomanip
│ │ ├── iosfwd
│ │ ├── iostream
│ │ ├── locale
│ │ ├── string.h
│ │ └── string_abstract.h
│ ├── string.h
│ ├── svm/
│ │ ├── active_learning.h
│ │ ├── active_learning_abstract.h
│ │ ├── assignment_function.h
│ │ ├── assignment_function_abstract.h
│ │ ├── auto.cpp
│ │ ├── auto.h
│ │ ├── auto_abstract.h
│ │ ├── cross_validate_assignment_trainer.h
│ │ ├── cross_validate_assignment_trainer_abstract.h
│ │ ├── cross_validate_graph_labeling_trainer.h
│ │ ├── cross_validate_graph_labeling_trainer_abstract.h
│ │ ├── cross_validate_multiclass_trainer.h
│ │ ├── cross_validate_multiclass_trainer_abstract.h
│ │ ├── cross_validate_object_detection_trainer.h
│ │ ├── cross_validate_object_detection_trainer_abstract.h
│ │ ├── cross_validate_regression_trainer.h
│ │ ├── cross_validate_regression_trainer_abstract.h
│ │ ├── cross_validate_sequence_labeler.h
│ │ ├── cross_validate_sequence_labeler_abstract.h
│ │ ├── cross_validate_sequence_segmenter.h
│ │ ├── cross_validate_sequence_segmenter_abstract.h
│ │ ├── cross_validate_track_association_trainer.h
│ │ ├── cross_validate_track_association_trainer_abstract.h
│ │ ├── empirical_kernel_map.h
│ │ ├── empirical_kernel_map_abstract.h
│ │ ├── feature_ranking.h
│ │ ├── feature_ranking_abstract.h
│ │ ├── function.h
│ │ ├── function_abstract.h
│ │ ├── kcentroid.h
│ │ ├── kcentroid_abstract.h
│ │ ├── kcentroid_overloads.h
│ │ ├── kernel.h
│ │ ├── kernel_abstract.h
│ │ ├── kernel_matrix.h
│ │ ├── kernel_matrix_abstract.h
│ │ ├── kkmeans.h
│ │ ├── kkmeans_abstract.h
│ │ ├── krls.h
│ │ ├── krls_abstract.h
│ │ ├── krr_trainer.h
│ │ ├── krr_trainer_abstract.h
│ │ ├── linearly_independent_subset_finder.h
│ │ ├── linearly_independent_subset_finder_abstract.h
│ │ ├── multiclass_tools.h
│ │ ├── multiclass_tools_abstract.h
│ │ ├── null_df.h
│ │ ├── null_trainer.h
│ │ ├── null_trainer_abstract.h
│ │ ├── num_nonnegative_weights.h
│ │ ├── one_vs_all_decision_function.h
│ │ ├── one_vs_all_decision_function_abstract.h
│ │ ├── one_vs_all_trainer.h
│ │ ├── one_vs_all_trainer_abstract.h
│ │ ├── one_vs_one_decision_function.h
│ │ ├── one_vs_one_decision_function_abstract.h
│ │ ├── one_vs_one_trainer.h
│ │ ├── one_vs_one_trainer_abstract.h
│ │ ├── pegasos.h
│ │ ├── pegasos_abstract.h
│ │ ├── ranking_tools.h
│ │ ├── ranking_tools_abstract.h
│ │ ├── rbf_network.h
│ │ ├── rbf_network_abstract.h
│ │ ├── reduced.h
│ │ ├── reduced_abstract.h
│ │ ├── rls.h
│ │ ├── rls_abstract.h
│ │ ├── roc_trainer.h
│ │ ├── roc_trainer_abstract.h
│ │ ├── rr_trainer.h
│ │ ├── rr_trainer_abstract.h
│ │ ├── rvm.h
│ │ ├── rvm_abstract.h
│ │ ├── sequence_labeler.h
│ │ ├── sequence_labeler_abstract.h
│ │ ├── sequence_segmenter.h
│ │ ├── sequence_segmenter_abstract.h
│ │ ├── simplify_linear_decision_function.h
│ │ ├── simplify_linear_decision_function_abstract.h
│ │ ├── sort_basis_vectors.h
│ │ ├── sort_basis_vectors_abstract.h
│ │ ├── sparse_kernel.h
│ │ ├── sparse_kernel_abstract.h
│ │ ├── sparse_vector.h
│ │ ├── sparse_vector_abstract.h
│ │ ├── structural_assignment_trainer.h
│ │ ├── structural_assignment_trainer_abstract.h
│ │ ├── structural_graph_labeling_trainer.h
│ │ ├── structural_graph_labeling_trainer_abstract.h
│ │ ├── structural_object_detection_trainer.h
│ │ ├── structural_object_detection_trainer_abstract.h
│ │ ├── structural_sequence_labeling_trainer.h
│ │ ├── structural_sequence_labeling_trainer_abstract.h
│ │ ├── structural_sequence_segmentation_trainer.h
│ │ ├── structural_sequence_segmentation_trainer_abstract.h
│ │ ├── structural_svm_assignment_problem.h
│ │ ├── structural_svm_assignment_problem_abstract.h
│ │ ├── structural_svm_distributed.h
│ │ ├── structural_svm_distributed_abstract.h
│ │ ├── structural_svm_graph_labeling_problem.h
│ │ ├── structural_svm_graph_labeling_problem_abstract.h
│ │ ├── structural_svm_object_detection_problem.h
│ │ ├── structural_svm_object_detection_problem_abstract.h
│ │ ├── structural_svm_problem.h
│ │ ├── structural_svm_problem_abstract.h
│ │ ├── structural_svm_problem_threaded.h
│ │ ├── structural_svm_problem_threaded_abstract.h
│ │ ├── structural_svm_sequence_labeling_problem.h
│ │ ├── structural_svm_sequence_labeling_problem_abstract.h
│ │ ├── structural_track_association_trainer.h
│ │ ├── structural_track_association_trainer_abstract.h
│ │ ├── svm.h
│ │ ├── svm_abstract.h
│ │ ├── svm_c_ekm_trainer.h
│ │ ├── svm_c_ekm_trainer_abstract.h
│ │ ├── svm_c_linear_dcd_trainer.h
│ │ ├── svm_c_linear_dcd_trainer_abstract.h
│ │ ├── svm_c_linear_trainer.h
│ │ ├── svm_c_linear_trainer_abstract.h
│ │ ├── svm_c_trainer.h
│ │ ├── svm_c_trainer_abstract.h
│ │ ├── svm_multiclass_linear_trainer.h
│ │ ├── svm_multiclass_linear_trainer_abstract.h
│ │ ├── svm_nu_trainer.h
│ │ ├── svm_nu_trainer_abstract.h
│ │ ├── svm_one_class_trainer.h
│ │ ├── svm_one_class_trainer_abstract.h
│ │ ├── svm_rank_trainer.h
│ │ ├── svm_rank_trainer_abstract.h
│ │ ├── svm_threaded.h
│ │ ├── svm_threaded_abstract.h
│ │ ├── svr_linear_trainer.h
│ │ ├── svr_linear_trainer_abstract.h
│ │ ├── svr_trainer.h
│ │ ├── svr_trainer_abstract.h
│ │ ├── track_association_function.h
│ │ └── track_association_function_abstract.h
│ ├── svm.h
│ ├── svm_threaded.h
│ ├── sync_extension/
│ │ ├── sync_extension_kernel_1.h
│ │ └── sync_extension_kernel_abstract.h
│ ├── sync_extension.h
│ ├── test/
│ │ ├── CMakeLists.txt
│ │ ├── WINDOWS_build_and_run_all_unit_tests.bat
│ │ ├── active_learning.cpp
│ │ ├── any.cpp
│ │ ├── any_function.cpp
│ │ ├── array.cpp
│ │ ├── array2d.cpp
│ │ ├── assignment_learning.cpp
│ │ ├── base64.cpp
│ │ ├── bayes_nets.cpp
│ │ ├── bigint.cpp
│ │ ├── binary_search_tree.h
│ │ ├── binary_search_tree_kernel_1a.cpp
│ │ ├── binary_search_tree_kernel_2a.cpp
│ │ ├── binary_search_tree_mm1.cpp
│ │ ├── binary_search_tree_mm2.cpp
│ │ ├── blas_bindings/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── blas_bindings_dot.cpp
│ │ │ ├── blas_bindings_gemm.cpp
│ │ │ ├── blas_bindings_gemv.cpp
│ │ │ ├── blas_bindings_ger.cpp
│ │ │ ├── blas_bindings_scal_axpy.cpp
│ │ │ └── vector.cpp
│ │ ├── bridge.cpp
│ │ ├── bsp.cpp
│ │ ├── byte_orderer.cpp
│ │ ├── cca.cpp
│ │ ├── checkerboard.h
│ │ ├── clustering.cpp
│ │ ├── cmd_line_parser.cpp
│ │ ├── cmd_line_parser.h
│ │ ├── cmd_line_parser_wchar_t.cpp
│ │ ├── compress_stream.cpp
│ │ ├── conditioning_class.cpp
│ │ ├── conditioning_class.h
│ │ ├── conditioning_class_c.cpp
│ │ ├── config_reader.cpp
│ │ ├── constexpr_if.cpp
│ │ ├── correlation_tracker.cpp
│ │ ├── crc32.cpp
│ │ ├── create_iris_datafile.cpp
│ │ ├── create_iris_datafile.h
│ │ ├── cublas.cpp
│ │ ├── data_io.cpp
│ │ ├── directed_graph.cpp
│ │ ├── discriminant_pca.cpp
│ │ ├── disjoint_subsets.cpp
│ │ ├── disjoint_subsets_sized.cpp
│ │ ├── dnn.cpp
│ │ ├── ekm_and_lisf.cpp
│ │ ├── elastic_net.cpp
│ │ ├── empirical_kernel_map.cpp
│ │ ├── entropy_coder.cpp
│ │ ├── entropy_encoder_model.cpp
│ │ ├── example.cpp
│ │ ├── example_args.cpp
│ │ ├── examples/
│ │ │ └── CMakeLists.txt
│ │ ├── face.cpp
│ │ ├── ffmpeg.cpp
│ │ ├── ffmpeg_data/
│ │ │ ├── 116-288045-0000.flac
│ │ │ ├── 116-288045-0001.m4a
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MOT17-13-SDP-raw.h265
│ │ │ ├── MOT20-08-raw_shorter.h264
│ │ │ └── details.cfg
│ │ ├── fft.cpp
│ │ ├── fftr_good_data.h
│ │ ├── fhog.cpp
│ │ ├── filtering.cpp
│ │ ├── find_max_factor_graph_nmplp.cpp
│ │ ├── find_max_factor_graph_viterbi.cpp
│ │ ├── find_optimal_parameters.cpp
│ │ ├── geometry.cpp
│ │ ├── global_optimization.cpp
│ │ ├── graph.cpp
│ │ ├── graph_cuts.cpp
│ │ ├── graph_labeler.cpp
│ │ ├── gui/
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── hash.cpp
│ │ ├── hash_map.cpp
│ │ ├── hash_set.cpp
│ │ ├── hash_table.cpp
│ │ ├── hog_image.cpp
│ │ ├── image.cpp
│ │ ├── invoke.cpp
│ │ ├── iosockstream.cpp
│ │ ├── is_same_object.cpp
│ │ ├── isotonic_regression.cpp
│ │ ├── kcentroid.cpp
│ │ ├── kernel_matrix.cpp
│ │ ├── kmeans.cpp
│ │ ├── learning_to_track.cpp
│ │ ├── least_squares.cpp
│ │ ├── linear_manifold_regularizer.cpp
│ │ ├── lspi.cpp
│ │ ├── lz77_buffer.cpp
│ │ ├── main.cpp
│ │ ├── makefile
│ │ ├── map.cpp
│ │ ├── math.cpp
│ │ ├── matrix.cpp
│ │ ├── matrix2.cpp
│ │ ├── matrix3.cpp
│ │ ├── matrix4.cpp
│ │ ├── matrix_chol.cpp
│ │ ├── matrix_eig.cpp
│ │ ├── matrix_lu.cpp
│ │ ├── matrix_qr.cpp
│ │ ├── max_cost_assignment.cpp
│ │ ├── max_sum_submatrix.cpp
│ │ ├── md5.cpp
│ │ ├── member_function_pointer.cpp
│ │ ├── metaprogramming.cpp
│ │ ├── mpc.cpp
│ │ ├── multithreaded_object.cpp
│ │ ├── numerical_integration.cpp
│ │ ├── object_detector.cpp
│ │ ├── oca.cpp
│ │ ├── one_vs_all_trainer.cpp
│ │ ├── one_vs_one_trainer.cpp
│ │ ├── opt_qp_solver.cpp
│ │ ├── optimization.cpp
│ │ ├── optimization_test_functions.cpp
│ │ ├── optimization_test_functions.h
│ │ ├── optional.cpp
│ │ ├── parallel_for.cpp
│ │ ├── parse.cpp
│ │ ├── pipe.cpp
│ │ ├── pixel.cpp
│ │ ├── probabilistic.cpp
│ │ ├── pyramid_down.cpp
│ │ ├── queue.cpp
│ │ ├── rand.cpp
│ │ ├── random_forest.cpp
│ │ ├── ranking.cpp
│ │ ├── read_write_mutex.cpp
│ │ ├── reference_counter.cpp
│ │ ├── rls.cpp
│ │ ├── sammon.cpp
│ │ ├── scan_image.cpp
│ │ ├── scope.cpp
│ │ ├── sequence.cpp
│ │ ├── sequence_labeler.cpp
│ │ ├── sequence_segmenter.cpp
│ │ ├── serialize.cpp
│ │ ├── set.cpp
│ │ ├── sldf.cpp
│ │ ├── sliding_buffer.cpp
│ │ ├── smart_pointers.cpp
│ │ ├── sockets.cpp
│ │ ├── sockets2.cpp
│ │ ├── sockstreambuf.cpp
│ │ ├── sparse_vector.cpp
│ │ ├── stack.cpp
│ │ ├── static_map.cpp
│ │ ├── static_set.cpp
│ │ ├── statistics.cpp
│ │ ├── std_vector_c.cpp
│ │ ├── stft_good_data.h
│ │ ├── string.cpp
│ │ ├── svm.cpp
│ │ ├── svm_c_linear.cpp
│ │ ├── svm_c_linear_dcd.cpp
│ │ ├── svm_multiclass_linear.cpp
│ │ ├── svm_struct.cpp
│ │ ├── svr_linear_trainer.cpp
│ │ ├── symmetric_matrix_cache.cpp
│ │ ├── te.cpp
│ │ ├── tester.cpp
│ │ ├── tester.h
│ │ ├── thread_pool.cpp
│ │ ├── threads.cpp
│ │ ├── timer.cpp
│ │ ├── tokenizer.cpp
│ │ ├── tools/
│ │ │ └── CMakeLists.txt
│ │ ├── trust_region.cpp
│ │ ├── tuple.cpp
│ │ ├── type_safe_union.cpp
│ │ └── vectorstream.cpp
│ ├── test_for_odr_violations.cpp
│ ├── test_for_odr_violations.h
│ ├── threads/
│ │ ├── async.cpp
│ │ ├── async.h
│ │ ├── async_abstract.h
│ │ ├── auto_mutex_extension.h
│ │ ├── auto_mutex_extension_abstract.h
│ │ ├── auto_unlock_extension.h
│ │ ├── auto_unlock_extension_abstract.h
│ │ ├── create_new_thread_extension.h
│ │ ├── create_new_thread_extension_abstract.h
│ │ ├── multithreaded_object_extension.cpp
│ │ ├── multithreaded_object_extension.h
│ │ ├── multithreaded_object_extension_abstract.h
│ │ ├── parallel_for_extension.h
│ │ ├── parallel_for_extension_abstract.h
│ │ ├── posix.h
│ │ ├── read_write_mutex_extension.h
│ │ ├── read_write_mutex_extension_abstract.h
│ │ ├── rmutex_extension.h
│ │ ├── rmutex_extension_abstract.h
│ │ ├── rsignaler_extension.h
│ │ ├── rsignaler_extension_abstract.h
│ │ ├── thread_function_extension.h
│ │ ├── thread_function_extension_abstract.h
│ │ ├── thread_pool_extension.cpp
│ │ ├── thread_pool_extension.h
│ │ ├── thread_pool_extension_abstract.h
│ │ ├── thread_specific_data_extension.h
│ │ ├── thread_specific_data_extension_abstract.h
│ │ ├── threaded_object_extension.cpp
│ │ ├── threaded_object_extension.h
│ │ ├── threaded_object_extension_abstract.h
│ │ ├── threads_kernel.h
│ │ ├── threads_kernel_1.cpp
│ │ ├── threads_kernel_1.h
│ │ ├── threads_kernel_2.cpp
│ │ ├── threads_kernel_2.h
│ │ ├── threads_kernel_abstract.h
│ │ ├── threads_kernel_shared.cpp
│ │ ├── threads_kernel_shared.h
│ │ └── windows.h
│ ├── threads.h
│ ├── time_this.h
│ ├── timeout/
│ │ ├── timeout.h
│ │ └── timeout_abstract.h
│ ├── timeout.h
│ ├── timer/
│ │ ├── timer.cpp
│ │ ├── timer.h
│ │ ├── timer_abstract.h
│ │ └── timer_heavy.h
│ ├── timer.h
│ ├── timing.h
│ ├── tokenizer/
│ │ ├── bpe_tokenizer.h
│ │ ├── bpe_tokenizer_abstract.h
│ │ ├── tokenizer_kernel_1.cpp
│ │ ├── tokenizer_kernel_1.h
│ │ ├── tokenizer_kernel_abstract.h
│ │ └── tokenizer_kernel_c.h
│ ├── tokenizer.h
│ ├── tuple/
│ │ ├── tuple.h
│ │ └── tuple_abstract.h
│ ├── tuple.h
│ ├── type_safe_union/
│ │ ├── type_safe_union_kernel.h
│ │ └── type_safe_union_kernel_abstract.h
│ ├── type_safe_union.h
│ ├── type_traits.h
│ ├── uintn.h
│ ├── unicode/
│ │ ├── unicode.cpp
│ │ ├── unicode.h
│ │ └── unicode_abstract.h
│ ├── unicode.h
│ ├── unordered_pair.h
│ ├── utility.h
│ ├── vectorstream/
│ │ ├── unserialize.h
│ │ ├── unserialize_abstract.h
│ │ ├── vectorstream.h
│ │ └── vectorstream_abstract.h
│ ├── vectorstream.h
│ ├── windows_magic.h
│ ├── xml_parser/
│ │ ├── xml_parser_kernel_1.h
│ │ ├── xml_parser_kernel_abstract.h
│ │ └── xml_parser_kernel_interfaces.h
│ └── xml_parser.h
├── docs/
│ ├── .logger_revnum
│ ├── README.txt
│ ├── bash_helper_functions
│ ├── docs/
│ │ ├── algorithms.xml
│ │ ├── api.xml
│ │ ├── bayes.xml
│ │ ├── books.xml
│ │ ├── change_log.xml
│ │ ├── compile.xml
│ │ ├── compression.xml
│ │ ├── containers.xml
│ │ ├── dlib.css
│ │ ├── dlib.js
│ │ ├── enable_if.html
│ │ ├── faq.xml
│ │ ├── find_max_global_example.webm
│ │ ├── graph_tools.xml
│ │ ├── howto_contribute.xml
│ │ ├── imaging.xml
│ │ ├── index.xml
│ │ ├── intro.xml
│ │ ├── kernel_1a.txt
│ │ ├── kernel_1a.xml
│ │ ├── kernel_1b.txt
│ │ ├── kernel_1b.xml
│ │ ├── kernel_1c.txt
│ │ ├── kernel_1c.xml
│ │ ├── kernel_1da.txt
│ │ ├── kernel_1da.xml
│ │ ├── kernel_1db.txt
│ │ ├── kernel_1db.xml
│ │ ├── kernel_1ea.txt
│ │ ├── kernel_1ea.xml
│ │ ├── kernel_1eb.txt
│ │ ├── kernel_1eb.xml
│ │ ├── kernel_1ec.txt
│ │ ├── kernel_1ec.xml
│ │ ├── kernel_2a.txt
│ │ ├── kernel_2a.xml
│ │ ├── kernel_3a.txt
│ │ ├── kernel_3a.xml
│ │ ├── kernel_3b.txt
│ │ ├── kernel_3b.xml
│ │ ├── license.xml
│ │ ├── linear_algebra.xml
│ │ ├── main_menu.xml
│ │ ├── metaprogramming.xml
│ │ ├── ml.xml
│ │ ├── ml_guide.dia
│ │ ├── network.xml
│ │ ├── old_release_notes.xml
│ │ ├── optimization.xml
│ │ ├── other.xml
│ │ ├── parsing.xml
│ │ ├── python/
│ │ │ ├── conf.py
│ │ │ ├── generate_dlib_listing.py
│ │ │ └── index.rst
│ │ ├── release_notes.xml
│ │ ├── stylesheet.xsl
│ │ ├── term_index.xml
│ │ └── watershed.webm
│ ├── makedocs
│ ├── makerel
│ ├── testenv
│ └── testenv_rel
├── examples/
│ ├── 3d_point_cloud_ex.cpp
│ ├── CMakeLists.txt
│ ├── LICENSE_FOR_EXAMPLE_PROGRAMS.txt
│ ├── assignment_learning_ex.cpp
│ ├── bayes_net_ex.cpp
│ ├── bayes_net_from_disk_ex.cpp
│ ├── bayes_net_gui_ex.cpp
│ ├── bridge_ex.cpp
│ ├── bsp_ex.cpp
│ ├── compress_stream_ex.cpp
│ ├── config.txt
│ ├── config_reader_ex.cpp
│ ├── custom_trainer_ex.cpp
│ ├── dir_nav_ex.cpp
│ ├── dnn_dcgan_train_ex.cpp
│ ├── dnn_face_recognition_ex.cpp
│ ├── dnn_imagenet_ex.cpp
│ ├── dnn_imagenet_train_ex.cpp
│ ├── dnn_inception_ex.cpp
│ ├── dnn_instance_segmentation_ex.cpp
│ ├── dnn_instance_segmentation_ex.h
│ ├── dnn_instance_segmentation_train_ex.cpp
│ ├── dnn_introduction2_ex.cpp
│ ├── dnn_introduction3_ex.cpp
│ ├── dnn_introduction_ex.cpp
│ ├── dnn_metric_learning_ex.cpp
│ ├── dnn_metric_learning_on_images_ex.cpp
│ ├── dnn_mmod_dog_hipsterizer.cpp
│ ├── dnn_mmod_ex.cpp
│ ├── dnn_mmod_face_detection_ex.cpp
│ ├── dnn_mmod_find_cars2_ex.cpp
│ ├── dnn_mmod_find_cars_ex.cpp
│ ├── dnn_mmod_train_find_cars_ex.cpp
│ ├── dnn_self_supervised_learning_ex.cpp
│ ├── dnn_semantic_segmentation_ex.cpp
│ ├── dnn_semantic_segmentation_ex.h
│ ├── dnn_semantic_segmentation_train_ex.cpp
│ ├── dnn_yolo_train_ex.cpp
│ ├── empirical_kernel_map_ex.cpp
│ ├── face_detection_ex.cpp
│ ├── face_landmark_detection_ex.cpp
│ ├── faces/
│ │ ├── image_metadata_stylesheet.xsl
│ │ ├── testing.xml
│ │ ├── testing_with_face_landmarks.xml
│ │ ├── training.xml
│ │ └── training_with_face_landmarks.xml
│ ├── ffmpeg_file_to_speaker_ex.cpp
│ ├── ffmpeg_info_ex.cpp
│ ├── ffmpeg_microphone_to_file_ex.cpp
│ ├── ffmpeg_rtsp_ex.cpp
│ ├── ffmpeg_screen_grab_ex.cpp
│ ├── ffmpeg_video_decoding2_ex.cpp
│ ├── ffmpeg_video_decoding_ex.cpp
│ ├── ffmpeg_video_demuxing2_ex.cpp
│ ├── ffmpeg_video_demuxing_ex.cpp
│ ├── ffmpeg_video_encoding_ex.cpp
│ ├── ffmpeg_video_muxing_ex.cpp
│ ├── ffmpeg_webcam_face_pose_ex.cpp
│ ├── fhog_ex.cpp
│ ├── fhog_object_detector_ex.cpp
│ ├── file_to_code_ex.cpp
│ ├── graph_labeling_ex.cpp
│ ├── gui_api_ex.cpp
│ ├── hough_transform_ex.cpp
│ ├── image_ex.cpp
│ ├── integrate_function_adapt_simp_ex.cpp
│ ├── iosockstream_ex.cpp
│ ├── kcentroid_ex.cpp
│ ├── kkmeans_ex.cpp
│ ├── krls_ex.cpp
│ ├── krls_filter_ex.cpp
│ ├── krr_classification_ex.cpp
│ ├── krr_regression_ex.cpp
│ ├── learning_to_track_ex.cpp
│ ├── least_squares_ex.cpp
│ ├── linear_manifold_regularizer_ex.cpp
│ ├── logger_custom_output_ex.cpp
│ ├── logger_ex.cpp
│ ├── logger_ex_2.cpp
│ ├── matrix_ex.cpp
│ ├── matrix_expressions_ex.cpp
│ ├── max_cost_assignment_ex.cpp
│ ├── member_function_pointer_ex.cpp
│ ├── mlp_ex.cpp
│ ├── model_selection_ex.cpp
│ ├── mpc_ex.cpp
│ ├── multiclass_classification_ex.cpp
│ ├── multithreaded_object_ex.cpp
│ ├── object_detector_advanced_ex.cpp
│ ├── object_detector_ex.cpp
│ ├── one_class_classifiers_ex.cpp
│ ├── optimization_ex.cpp
│ ├── parallel_for_ex.cpp
│ ├── pascal_voc_2012.h
│ ├── pipe_ex.cpp
│ ├── pipe_ex_2.cpp
│ ├── quantum_computing_ex.cpp
│ ├── queue_ex.cpp
│ ├── random_cropper_ex.cpp
│ ├── rank_features_ex.cpp
│ ├── resnet.h
│ ├── running_stats_ex.cpp
│ ├── rvm_ex.cpp
│ ├── rvm_regression_ex.cpp
│ ├── sequence_labeler_ex.cpp
│ ├── sequence_segmenter_ex.cpp
│ ├── server_http_ex.cpp
│ ├── server_iostream_ex.cpp
│ ├── slm_advanced_train_ex.cpp
│ ├── slm_basic_train_ex.cpp
│ ├── slm_data.h
│ ├── slm_defs.h
│ ├── sockets_ex.cpp
│ ├── sockstreambuf_ex.cpp
│ ├── sqlite_ex.cpp
│ ├── std_allocator_ex.cpp
│ ├── surf_ex.cpp
│ ├── svm_c_ex.cpp
│ ├── svm_ex.cpp
│ ├── svm_pegasos_ex.cpp
│ ├── svm_rank_ex.cpp
│ ├── svm_sparse_ex.cpp
│ ├── svm_struct_ex.cpp
│ ├── svr_ex.cpp
│ ├── thread_function_ex.cpp
│ ├── thread_pool_ex.cpp
│ ├── threaded_object_ex.cpp
│ ├── threads_ex.cpp
│ ├── timer_ex.cpp
│ ├── train_object_detector.cpp
│ ├── train_shape_predictor_ex.cpp
│ ├── using_custom_kernels_ex.cpp
│ ├── video_frames/
│ │ └── license.txt
│ ├── video_tracking_ex.cpp
│ ├── webcam_face_pose_ex.cpp
│ └── xml_parser_ex.cpp
├── pyproject.toml
├── python_examples/
│ ├── LICENSE_FOR_EXAMPLE_PROGRAMS.txt
│ ├── cnn_face_detector.py
│ ├── correlation_tracker.py
│ ├── face_alignment.py
│ ├── face_clustering.py
│ ├── face_detector.py
│ ├── face_jitter.py
│ ├── face_landmark_detection.py
│ ├── face_recognition.py
│ ├── find_candidate_object_locations.py
│ ├── global_optimization.py
│ ├── max_cost_assignment.py
│ ├── opencv_webcam_face_detection.py
│ ├── requirements.txt
│ ├── sequence_segmenter.py
│ ├── svm_binary_classifier.py
│ ├── svm_rank.py
│ ├── svm_struct.py
│ ├── train_object_detector.py
│ └── train_shape_predictor.py
├── setup.py
└── tools/
├── archive/
│ ├── CMakeLists.txt
│ └── train_face_5point_model.cpp
├── convert_dlib_nets_to_caffe/
│ ├── CMakeLists.txt
│ ├── main.cpp
│ └── running_a_dlib_model_with_caffe_example.py
├── htmlify/
│ ├── CMakeLists.txt
│ ├── htmlify.cpp
│ ├── to_xml.cpp
│ ├── to_xml.h
│ └── to_xml_example/
│ ├── example.xml
│ ├── output.xml
│ ├── stylesheet.xsl
│ └── test.cpp
├── imglab/
│ ├── CMakeLists.txt
│ ├── README.txt
│ ├── convert_imglab_paths_to_relative
│ ├── copy_imglab_dataset
│ └── src/
│ ├── cluster.cpp
│ ├── cluster.h
│ ├── common.cpp
│ ├── common.h
│ ├── convert_idl.cpp
│ ├── convert_idl.h
│ ├── convert_pascal_v1.cpp
│ ├── convert_pascal_v1.h
│ ├── convert_pascal_xml.cpp
│ ├── convert_pascal_xml.h
│ ├── flip_dataset.cpp
│ ├── flip_dataset.h
│ ├── main.cpp
│ ├── metadata_editor.cpp
│ └── metadata_editor.h
├── python/
│ ├── CMakeLists.txt
│ ├── dlib/
│ │ └── __init__.py.in
│ ├── src/
│ │ ├── basic.cpp
│ │ ├── cca.cpp
│ │ ├── cnn_face_detector.cpp
│ │ ├── conversion.h
│ │ ├── correlation_tracker.cpp
│ │ ├── decision_functions.cpp
│ │ ├── dlib.cpp
│ │ ├── face_recognition.cpp
│ │ ├── global_optimization.cpp
│ │ ├── gui.cpp
│ │ ├── image.cpp
│ │ ├── image2.cpp
│ │ ├── image3.cpp
│ │ ├── image4.cpp
│ │ ├── image_dataset_metadata.cpp
│ │ ├── indexing.h
│ │ ├── line.cpp
│ │ ├── matrix.cpp
│ │ ├── numpy_returns.cpp
│ │ ├── object_detection.cpp
│ │ ├── opaque_types.h
│ │ ├── other.cpp
│ │ ├── rectangles.cpp
│ │ ├── sequence_segmenter.cpp
│ │ ├── serialize_object_detector.h
│ │ ├── shape_predictor.cpp
│ │ ├── shape_predictor.h
│ │ ├── simple_object_detector.h
│ │ ├── simple_object_detector_py.h
│ │ ├── svm_c_trainer.cpp
│ │ ├── svm_rank_trainer.cpp
│ │ ├── svm_struct.cpp
│ │ ├── testing_results.h
│ │ └── vector.cpp
│ └── test/
│ ├── .gitignore
│ ├── generate_numpy_returns_test_data.py
│ ├── shape.pkl
│ ├── test_array.py
│ ├── test_chinese_whispers.py
│ ├── test_global_optimization.py
│ ├── test_matrix.py
│ ├── test_numpy_returns.py
│ ├── test_point.py
│ ├── test_range.py
│ ├── test_rgb_pixel.py
│ ├── test_sparse_vector.py
│ ├── test_svm_c_trainer.py
│ ├── test_vector.py
│ └── utils.py
└── visual_studio_natvis/
├── README.txt
└── dlib.natvis
Showing preview only (539K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (7194 symbols across 939 files)
FILE: dlib/algs.h
function namespace (line 100) | namespace std
function wchar_t (line 133) | inline wchar_t _dTcast<wchar_t> (const char , const wchar_t b) { return ...
function wchar_t (line 140) | inline const wchar_t* _dTcast<wchar_t> ( const char* , const wchar_t* b)...
function namespace (line 156) | namespace dlib
type static_switch (line 464) | struct static_switch
type static_switch (line 465) | struct static_switch
type static_switch (line 466) | struct static_switch
type static_switch (line 467) | struct static_switch
type static_switch (line 468) | struct static_switch
type static_switch (line 469) | struct static_switch
type static_switch (line 470) | struct static_switch
type static_switch (line 471) | struct static_switch
type static_switch (line 472) | struct static_switch
type static_switch (line 473) | struct static_switch
type static_switch (line 474) | struct static_switch
type static_switch (line 475) | struct static_switch
type static_switch (line 476) | struct static_switch
type static_switch (line 477) | struct static_switch
type static_switch (line 478) | struct static_switch
type static_switch (line 479) | struct static_switch
type int32 (line 514) | typedef int32 type;
type int32 (line 515) | typedef int32 type;
type int64 (line 516) | typedef int64 type;
type int64 (line 517) | typedef int64 type;
type promote (line 519) | struct promote
type type (line 519) | typedef double type;
type promote (line 520) | struct promote
type type (line 520) | typedef double type;
type promote (line 521) | struct promote
type type (line 521) | typedef long double type;
function T (line 680) | T operator()(A0 a0) const { return f(a0); }
function T (line 688) | T operator()(A0 a0, A1 a1) const { return f(a0,a1); }
function T (line 696) | T operator()(A0 a0, A1 a1, A2 a2) const { return f(a0,a1,a2); }
function T (line 704) | T operator()(A0 a0, A1 a1, A2 a2, A3 a3) const { return f(a0,a1,a2,a3); }
function T (line 712) | T operator()(A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) const { return f(a0,a1,a...
FILE: dlib/any/any.h
function class (line 14) | class any
FILE: dlib/any/any_abstract.h
function namespace (line 8) | namespace dlib
function class (line 28) | class any
FILE: dlib/any/any_decision_function.h
function namespace (line 10) | namespace dlib
FILE: dlib/any/any_decision_function_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/any/any_function.h
function namespace (line 11) | namespace dlib
function noexcept (line 51) | constexpr any_function_basic(std::nullptr_t) noexcept {}
function str (line 56) | constexpr any_function_basic(any_function_basic&& other)
FILE: dlib/any/any_trainer.h
function namespace (line 11) | namespace dlib
function trained_function_type (line 69) | trained_function_type train (
function clear (line 85) | void clear() { storage.clear(); }
function swap (line 86) | void swap (any_trainer& item) { std::swap(*this, item); }
FILE: dlib/any/any_trainer_abstract.h
function namespace (line 11) | namespace dlib
FILE: dlib/any/storage.h
function namespace (line 13) | namespace dlib
function ptr (line 226) | storage_heap(const storage_heap& other)
function clear (line 734) | void clear()
function class (line 786) | class storage_shared : public storage_base<storage_shared>
function class (line 880) | class storage_view : public storage_base<storage_view>
function clear (line 926) | void clear()
FILE: dlib/array/array_kernel.h
function namespace (line 13) | namespace dlib
FILE: dlib/array/array_kernel_abstract.h
type T (line 56) | typedef T value_type;
type mem_manager (line 57) | typedef mem_manager mem_manager_type;
function max_size (line 158) | size_t max_size(
type T (line 282) | typedef T* iterator;
type T (line 283) | typedef const T* const_iterator;
function const_iterator (line 293) | const_iterator begin(
FILE: dlib/array/array_tools.h
function namespace (line 9) | namespace dlib
FILE: dlib/array/array_tools_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/array2d/array2d_generic_image.h
function namespace (line 9) | namespace dlib
function num_rows (line 23) | long num_rows( const array2d<T,mm>& img) { return img.nr(); }
function num_columns (line 25) | long num_columns( const array2d<T,mm>& img) { return img.nc(); }
function width_step (line 57) | size_t width_step(
FILE: dlib/array2d/array2d_kernel.h
function namespace (line 12) | namespace dlib
function iterator (line 329) | iterator begin()
function iterator (line 334) | iterator end()
FILE: dlib/array2d/array2d_kernel_abstract.h
type mem_manager (line 66) | typedef mem_manager mem_manager_type;
type T (line 67) | typedef T* iterator;
type T (line 68) | typedef const T* const_iterator;
function class (line 72) | class row
FILE: dlib/array2d/serialize_pixel_overloads.h
function namespace (line 9) | namespace dlib
FILE: dlib/assert.h
function namespace (line 72) | namespace dlib
function dlib_assert_breakpoint (line 201) | inline void dlib_assert_breakpoint(
FILE: dlib/base64/base64_kernel_1.cpp
type dlib (line 11) | namespace dlib
FILE: dlib/base64/base64_kernel_1.h
function class (line 39) | class decode_error : public dlib::error { public:
type line_ending_type (line 48) | enum line_ending_type
FILE: dlib/base64/base64_kernel_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/bayes_utils/bayes_utils.h
function namespace (line 23) | namespace dlib
function swap (line 240) | inline void swap (
function class (line 251) | class joint_probability_table
function marginalize (line 417) | void marginalize (
function normalize (line 442) | void normalize (
function swap (line 456) | void swap (
function friend (line 463) | friend inline void serialize (
function swap (line 484) | inline void swap (
function class (line 491) | class conditional_probability_table : noncopyable
function swap (line 626) | inline void swap (
function class (line 633) | class bayes_node : noncopyable
function swap (line 712) | inline void swap (
function namespace (line 719) | namespace bayes_node_utils
function assignment (line 973) | assignment node_first_parent_assignment (
function n (line 1069) | long n
function class (line 1111) | class bayesian_network_gibbs_sampler : noncopyable
function namespace (line 1200) | namespace bayesian_network_join_tree_helpers
function class (line 1576) | class bayesian_network_join_tree : noncopyable
function swap (line 1667) | inline void swap (
FILE: dlib/bayes_utils/bayes_utils_abstract.h
function swap (line 175) | inline void swap (
function swap (line 357) | inline void swap (
function num_values (line 434) | unsigned long num_values (
function value (line 539) | unsigned long value (
function namespace (line 640) | namespace bayes_node_utils
function class (line 909) | class bayesian_network_gibbs_sampler : noncopyable
FILE: dlib/bigint.h
function namespace (line 13) | namespace dlib
FILE: dlib/bigint/bigint_kernel_1.cpp
type dlib (line 9) | namespace dlib
function bigint_kernel_1 (line 70) | const bigint_kernel_1 bigint_kernel_1::
function bigint_kernel_1 (line 84) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 115) | const bigint_kernel_1 bigint_kernel_1::
function bigint_kernel_1 (line 129) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 151) | const bigint_kernel_1 bigint_kernel_1::
function bigint_kernel_1 (line 165) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 189) | const bigint_kernel_1 bigint_kernel_1::
function bigint_kernel_1 (line 209) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 242) | const bigint_kernel_1 bigint_kernel_1::
function bigint_kernel_1 (line 260) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 310) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 516) | const bigint_kernel_1 operator+ (
function bigint_kernel_1 (line 531) | const bigint_kernel_1 operator+ (
function bigint_kernel_1 (line 546) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 577) | const bigint_kernel_1 operator- (
function bigint_kernel_1 (line 592) | const bigint_kernel_1 operator- (
function bigint_kernel_1 (line 607) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 629) | const bigint_kernel_1 operator* (
function bigint_kernel_1 (line 644) | const bigint_kernel_1 operator* (
function bigint_kernel_1 (line 659) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 689) | const bigint_kernel_1 operator/ (
function bigint_kernel_1 (line 708) | const bigint_kernel_1 operator/ (
function bigint_kernel_1 (line 724) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 747) | const bigint_kernel_1 operator% (
function bigint_kernel_1 (line 772) | const bigint_kernel_1 operator% (
function bigint_kernel_1 (line 790) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 856) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 881) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 911) | const bigint_kernel_1 bigint_kernel_1::
function bigint_kernel_1 (line 929) | bigint_kernel_1& bigint_kernel_1::
function bigint_kernel_1 (line 951) | const bigint_kernel_1 bigint_kernel_1::
FILE: dlib/bigint/bigint_kernel_1.h
function namespace (line 12) | namespace dlib
function explicit (line 117) | explicit bigint_kernel_1 (
function swap (line 313) | void swap (
function swap (line 501) | inline void swap (
function serialize (line 506) | inline void serialize (
function deserialize (line 517) | inline void deserialize (
function operator (line 532) | inline bool operator> (const bigint_kernel_1& a, const bigint_kernel_1&...
function operator (line 533) | inline bool operator!= (const bigint_kernel_1& a, const bigint_kernel_1&...
function operator (line 534) | inline bool operator<= (const bigint_kernel_1& a, const bigint_kernel_1&...
function operator (line 535) | inline bool operator>= (const bigint_kernel_1& a, const bigint_kernel_1&...
FILE: dlib/bigint/bigint_kernel_2.cpp
type dlib (line 10) | namespace dlib
function bigint_kernel_2 (line 71) | const bigint_kernel_2 bigint_kernel_2::
function bigint_kernel_2 (line 85) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 116) | const bigint_kernel_2 bigint_kernel_2::
function bigint_kernel_2 (line 130) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 152) | const bigint_kernel_2 bigint_kernel_2::
function bigint_kernel_2 (line 166) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 190) | const bigint_kernel_2 bigint_kernel_2::
function bigint_kernel_2 (line 210) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 243) | const bigint_kernel_2 bigint_kernel_2::
function bigint_kernel_2 (line 261) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 311) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 517) | const bigint_kernel_2 operator+ (
function bigint_kernel_2 (line 532) | const bigint_kernel_2 operator+ (
function bigint_kernel_2 (line 547) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 578) | const bigint_kernel_2 operator- (
function bigint_kernel_2 (line 593) | const bigint_kernel_2 operator- (
function bigint_kernel_2 (line 608) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 630) | const bigint_kernel_2 operator* (
function bigint_kernel_2 (line 645) | const bigint_kernel_2 operator* (
function bigint_kernel_2 (line 660) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 690) | const bigint_kernel_2 operator/ (
function bigint_kernel_2 (line 709) | const bigint_kernel_2 operator/ (
function bigint_kernel_2 (line 725) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 748) | const bigint_kernel_2 operator% (
function bigint_kernel_2 (line 773) | const bigint_kernel_2 operator% (
function bigint_kernel_2 (line 791) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 857) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 882) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 912) | const bigint_kernel_2 bigint_kernel_2::
function bigint_kernel_2 (line 930) | bigint_kernel_2& bigint_kernel_2::
function bigint_kernel_2 (line 952) | const bigint_kernel_2 bigint_kernel_2::
FILE: dlib/bigint/bigint_kernel_2.h
function namespace (line 15) | namespace dlib
function explicit (line 115) | explicit bigint_kernel_2 (
function swap (line 310) | void swap (
type std (line 318) | typedef std::complex<t> ct;
function swap (line 526) | inline void swap (
function serialize (line 531) | inline void serialize (
function deserialize (line 542) | inline void deserialize (
function operator (line 557) | inline bool operator> (const bigint_kernel_2& a, const bigint_kernel_2&...
function operator (line 558) | inline bool operator!= (const bigint_kernel_2& a, const bigint_kernel_2&...
function operator (line 559) | inline bool operator<= (const bigint_kernel_2& a, const bigint_kernel_2&...
function operator (line 560) | inline bool operator>= (const bigint_kernel_2& a, const bigint_kernel_2&...
FILE: dlib/bigint/bigint_kernel_abstract.h
function namespace (line 11) | namespace dlib
FILE: dlib/bigint/bigint_kernel_c.h
function namespace (line 11) | namespace dlib
function serialize (line 250) | void serialize (
function data (line 302) | data(value)
FILE: dlib/binary_search_tree.h
function namespace (line 16) | namespace dlib
FILE: dlib/binary_search_tree/binary_search_tree_kernel_1.h
function namespace (line 15) | namespace dlib
type range (line 108) | typedef range range_type;
type compare (line 109) | typedef compare compare_type;
type mem_manager (line 110) | typedef mem_manager mem_manager_type;
function height (line 130) | inline short height (
function node (line 430) | node* pop (
FILE: dlib/binary_search_tree/binary_search_tree_kernel_2.h
function namespace (line 14) | namespace dlib
type range (line 108) | typedef range range_type;
type compare (line 109) | typedef compare compare_type;
type mem_manager (line 110) | typedef mem_manager mem_manager_type;
function height (line 132) | inline short height (
FILE: dlib/binary_search_tree/binary_search_tree_kernel_abstract.h
type range (line 81) | typedef range range_type;
type compare (line 82) | typedef compare compare_type;
type mem_manager (line 83) | typedef mem_manager mem_manager_type;
FILE: dlib/binary_search_tree/binary_search_tree_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/bit_stream.h
function namespace (line 12) | namespace dlib
FILE: dlib/bit_stream/bit_stream_kernel_1.cpp
type dlib (line 12) | namespace dlib
function swap (line 15) | inline void swap (
FILE: dlib/bit_stream/bit_stream_kernel_1.h
function virtual (line 54) | virtual ~bit_stream_kernel_1 (
FILE: dlib/bit_stream/bit_stream_kernel_abstract.h
function class (line 11) | class bit_stream
FILE: dlib/bit_stream/bit_stream_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/bit_stream/bit_stream_multi_1.h
function namespace (line 8) | namespace dlib
FILE: dlib/bit_stream/bit_stream_multi_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/bit_stream/bit_stream_multi_c.h
function namespace (line 10) | namespace dlib
FILE: dlib/bound_function_pointer/bound_function_pointer_kernel_1.h
function namespace (line 10) | namespace dlib
type bound_function_helper_T (line 312) | typedef bound_function_helper_T<bound_function_helper<F> > bf_helper_type;
type bound_function_helper_T (line 331) | typedef bound_function_helper_T<bound_function_helper<F,A1> > bf_helper_...
type bound_function_helper_T (line 352) | typedef bound_function_helper_T<bound_function_helper<F,A1,A2> > bf_help...
type bound_function_helper_T (line 375) | typedef bound_function_helper_T<bound_function_helper<F,A1,A2,A3> > bf_h...
type bound_function_helper_T (line 400) | typedef bound_function_helper_T<bound_function_helper<F,A1,A2,A3,A4> > b...
type bound_function_helper_T (line 424) | typedef bound_function_helper_T<bound_function_helper<void> > bf_helper_...
type bound_function_helper_T (line 440) | typedef bound_function_helper_T<bound_function_helper<void> > bf_helper_...
type bound_function_helper_T (line 459) | typedef bound_function_helper_T<bound_function_helper<void,T1> > bf_help...
type bound_function_helper_T (line 477) | typedef bound_function_helper_T<bound_function_helper<void,T1> > bf_help...
type bound_function_helper_T (line 499) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2> > bf_h...
type bound_function_helper_T (line 520) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2> > bf_h...
type bound_function_helper_T (line 545) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2,T3> > b...
type bound_function_helper_T (line 569) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2,T3> > b...
type bound_function_helper_T (line 597) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2,T3,T4> ...
type bound_function_helper_T (line 624) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2,T3,T4> ...
function set (line 640) | void set (
type bound_function_helper_T (line 662) | typedef bound_function_helper_T<bound_function_helper<void,T1> > bf_help...
type bound_function_helper_T (line 681) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2> > bf_h...
type bound_function_helper_T (line 703) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2,T3> > b...
type bound_function_helper_T (line 728) | typedef bound_function_helper_T<bound_function_helper<void,T1,T2,T3,T4> ...
function destroy_bf_memory (line 746) | void destroy_bf_memory (
function bfp1_helpers (line 757) | const bfp1_helpers::bound_function_helper_base_base* bf () const
function swap (line 764) | inline void swap (
FILE: dlib/bound_function_pointer/bound_function_pointer_kernel_abstract.h
function class (line 11) | class bound_function_pointer
FILE: dlib/bridge/bridge.h
function namespace (line 20) | namespace dlib
function connect_to_ip_and_port (line 48) | inline connect_to_ip_and_port connect_to (
function p (line 98) | p(p_) {}
function p (line 113) | p(p_) {}
function deserialize (line 139) | inline void deserialize ( bridge_status& , std::istream& )
function namespace (line 146) | namespace impl_brns
function bridge_status (line 275) | bridge_status get_bridge_status (
function receive_thread (line 371) | void receive_thread (
function transmit_thread (line 451) | void transmit_thread (
function class (line 568) | class bridge : noncopyable
FILE: dlib/bridge/bridge_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/bsp/bsp.cpp
type dlib (line 13) | namespace dlib
type impl1 (line 16) | namespace impl1
function connect_all (line 19) | void connect_all (
function connect_all_hostinfo (line 35) | void connect_all_hostinfo (
function send_out_connection_orders (line 64) | void send_out_connection_orders (
type impl2 (line 101) | namespace impl2
function read_thread (line 136) | void read_thread (
FILE: dlib/bsp/bsp.h
function namespace (line 21) | namespace dlib
function class (line 369) | class bsp_context : noncopyable
FILE: dlib/bsp/bsp_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/byte_orderer/byte_orderer_kernel_1.h
function namespace (line 10) | namespace dlib
function const (line 170) | char> ( char& ) const {}
FILE: dlib/byte_orderer/byte_orderer_kernel_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/clustering/bottom_up_cluster.h
function namespace (line 16) | namespace dlib
type snl_range (line 136) | struct snl_range
function snl_range (line 149) | inline snl_range merge(const snl_range& a, const snl_range& b)
function distance (line 154) | inline double distance (const snl_range& a, const snl_range& b)
FILE: dlib/clustering/bottom_up_cluster_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/clustering/chinese_whispers.h
function namespace (line 11) | namespace dlib
FILE: dlib/clustering/chinese_whispers_abstract.h
function namespace (line 11) | namespace dlib
FILE: dlib/clustering/modularity_clustering.h
function namespace (line 12) | namespace dlib
function namespace (line 356) | namespace impl
function modularity (line 401) | inline double modularity (
function modularity (line 461) | inline double modularity (
FILE: dlib/clustering/modularity_clustering_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/clustering/spectral_cluster.h
function namespace (line 11) | namespace dlib
FILE: dlib/clustering/spectral_cluster_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/cmake_utils/test_for_avx/avx_test.cpp
function main (line 4) | int main()
FILE: dlib/cmake_utils/test_for_libjpeg/libjpeg_test.cpp
type jpeg_loader_error_mgr (line 10) | struct jpeg_loader_error_mgr
function jpeg_loader_error_exit (line 16) | void jpeg_loader_error_exit (j_common_ptr cinfo)
function main (line 25) | int main()
FILE: dlib/cmake_utils/test_for_libjxl/libjxl_test.cpp
function main (line 13) | int main()
FILE: dlib/cmake_utils/test_for_libpng/libpng_test.cpp
function png_loader_user_error_fn_silent (line 9) | void png_loader_user_error_fn_silent(png_structp png_struct, png_const_...
function png_loader_user_warning_fn_silent (line 13) | void png_loader_user_warning_fn_silent(png_structp , png_const_charp )
function main (line 19) | int main()
FILE: dlib/cmake_utils/test_for_libwebp/libwebp_test.cpp
function main (line 10) | int main()
FILE: dlib/cmake_utils/test_for_neon/neon_test.cpp
function main (line 5) | int main(){}
FILE: dlib/cmake_utils/test_for_sse4/sse4_test.cpp
function main (line 9) | int main()
FILE: dlib/cmd_line_parser.h
function namespace (line 19) | namespace dlib
type cmd_line_parser (line 76) | typedef cmd_line_parser<char> command_line_parser;
type cmd_line_parser (line 77) | typedef cmd_line_parser<wchar_t> wcommand_line_parser;
FILE: dlib/cmd_line_parser/cmd_line_parser_check_1.h
function namespace (line 12) | namespace dlib
function set_info_string (line 87) | void set_info_string (
function throw (line 421) | throw cmd_line_check_error(
FILE: dlib/cmd_line_parser/cmd_line_parser_check_c.h
function namespace (line 13) | namespace dlib
FILE: dlib/cmd_line_parser/cmd_line_parser_kernel_1.h
function namespace (line 15) | namespace dlib
function std (line 164) | const std::basic_string<charT>& argument (
function parse (line 246) | void parse (
function parsed_line (line 254) | bool parsed_line(
function number_of_arguments (line 278) | unsigned long number_of_arguments(
function have_parsed_line (line 353) | have_parsed_line(false)
function delete (line 373) | delete static_cast<option_t*>(options.element().value());
FILE: dlib/cmd_line_parser/cmd_line_parser_kernel_abstract.h
function namespace (line 13) | namespace dlib
FILE: dlib/cmd_line_parser/cmd_line_parser_kernel_c.h
function namespace (line 13) | namespace dlib
FILE: dlib/cmd_line_parser/cmd_line_parser_print_1.h
function namespace (line 15) | namespace dlib
type typename (line 60) | typedef typename clp_base::char_type ct;
type std (line 61) | typedef std::basic_string<ct> string;
type typename (line 62) | typedef typename string::size_type size_type;
type std (line 64) | typedef std::basic_ostringstream<ct> ostringstream;
FILE: dlib/cmd_line_parser/get_option.h
function namespace (line 10) | namespace dlib
FILE: dlib/cmd_line_parser/get_option_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/compress_stream.h
function namespace (line 22) | namespace dlib
FILE: dlib/compress_stream/compress_stream_kernel_1.h
function namespace (line 12) | namespace dlib
FILE: dlib/compress_stream/compress_stream_kernel_2.h
function namespace (line 11) | namespace dlib
FILE: dlib/compress_stream/compress_stream_kernel_3.h
function namespace (line 10) | namespace dlib
FILE: dlib/compress_stream/compress_stream_kernel_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/conditioning_class.h
function namespace (line 15) | namespace dlib
FILE: dlib/conditioning_class/conditioning_class_kernel_1.h
function namespace (line 10) | namespace dlib
FILE: dlib/conditioning_class/conditioning_class_kernel_2.h
function namespace (line 10) | namespace dlib
FILE: dlib/conditioning_class/conditioning_class_kernel_3.h
function namespace (line 11) | namespace dlib
FILE: dlib/conditioning_class/conditioning_class_kernel_4.h
function namespace (line 10) | namespace dlib
FILE: dlib/conditioning_class/conditioning_class_kernel_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/conditioning_class/conditioning_class_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/config_reader.h
function namespace (line 15) | namespace dlib
FILE: dlib/config_reader/config_reader_kernel_1.h
function namespace (line 18) | namespace dlib
function delete (line 266) | delete static_cast<config_reader_kernel_1*>(block_table.element().value());
FILE: dlib/config_reader/config_reader_kernel_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/config_reader/config_reader_thread_safe_1.h
function namespace (line 15) | namespace dlib
FILE: dlib/config_reader/config_reader_thread_safe_abstract.h
function namespace (line 11) | namespace dlib
FILE: dlib/console_progress_indicator.h
function namespace (line 11) | namespace dlib
FILE: dlib/constexpr_if.h
function namespace (line 9) | namespace dlib
FILE: dlib/control/approximate_linear_models.h
function namespace (line 9) | namespace dlib
type typename (line 66) | typedef typename feature_extractor::state_type state_type;
type typename (line 67) | typedef typename feature_extractor::action_type action_type;
function action_type (line 82) | action_type operator() (
function serialize (line 102) | void serialize(const policy<feature_extractor>& item, std::ostream& out)
FILE: dlib/control/approximate_linear_models_abstract.h
type example_feature_extractor (line 13) | struct example_feature_extractor
type feature_extractor (line 102) | typedef feature_extractor feature_extractor_type;
type typename (line 103) | typedef typename feature_extractor::state_type state_type;
type typename (line 104) | typedef typename feature_extractor::action_type action_type;
type typename (line 150) | typedef typename feature_extractor::state_type state_type;
type typename (line 151) | typedef typename feature_extractor::action_type action_type;
FILE: dlib/control/lspi.h
function namespace (line 9) | namespace dlib
FILE: dlib/control/lspi_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/control/mpc.h
function namespace (line 11) | namespace dlib
function set_target (line 142) | void set_target (
function set_target (line 157) | void set_target (
function set_last_target (line 165) | void set_last_target (
function set_target_error_threshold (line 193) | void set_target_error_threshold (
function set_max_iterations (line 203) | void set_max_iterations (
function set_epsilon (line 210) | void set_epsilon (
function solve_linear_mpc (line 266) | void solve_linear_mpc (
FILE: dlib/control/mpc_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/cpp_pretty_printer.h
function namespace (line 12) | namespace dlib
FILE: dlib/cpp_pretty_printer/cpp_pretty_printer_kernel_1.h
function namespace (line 12) | namespace dlib
FILE: dlib/cpp_pretty_printer/cpp_pretty_printer_kernel_2.h
function namespace (line 12) | namespace dlib
FILE: dlib/cpp_pretty_printer/cpp_pretty_printer_kernel_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/cpp_tokenizer.h
function namespace (line 13) | namespace dlib
FILE: dlib/cpp_tokenizer/cpp_tokenizer_kernel_1.h
function namespace (line 11) | namespace dlib
function have_peeked (line 196) | have_peeked(false)
FILE: dlib/cpp_tokenizer/cpp_tokenizer_kernel_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/cpp_tokenizer/cpp_tokenizer_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/crc32/crc32_kernel_1.h
function namespace (line 11) | namespace dlib
FILE: dlib/crc32/crc32_kernel_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/cuda/cpu_dlib.cpp
type dlib (line 13) | namespace dlib
type cpu (line 15) | namespace cpu
function multiply (line 20) | void multiply (
function multiply_conv (line 82) | void multiply_conv (
function scale_channels (line 158) | void scale_channels (
function add (line 222) | void add(
function add (line 279) | void add (
function multiply_zero_padded (line 340) | void multiply_zero_padded (
function assign_bias_gradient (line 413) | void assign_bias_gradient (
function assign_conv_bias_gradient (line 440) | void assign_conv_bias_gradient (
function affine_transform (line 478) | void affine_transform(
function affine_transform (line 492) | void affine_transform(
function affine_transform (line 510) | void affine_transform(
function affine_transform_range (line 532) | void affine_transform_range(
function affine_transform (line 558) | void affine_transform(
function affine_transform_conv (line 599) | void affine_transform_conv(
function affine_transform (line 634) | void affine_transform(
function compute_adam_update (line 674) | void compute_adam_update (
function batch_normalize_inference (line 717) | void batch_normalize_inference (
function batch_normalize (line 778) | void batch_normalize (
function batch_normalize_gradient (line 880) | void batch_normalize_gradient (
function batch_normalize_conv_inference (line 977) | void batch_normalize_conv_inference (
function batch_normalize_conv (line 1042) | void batch_normalize_conv (
function batch_normalize_conv_gradient (line 1157) | void batch_normalize_conv_gradient(
function layer_normalize (line 1265) | void layer_normalize (
function layer_normalize_gradient (line 1346) | void layer_normalize_gradient (
function rms_normalize (line 1454) | void rms_normalize(
function rms_normalize_gradient (line 1517) | void rms_normalize_gradient(
function threshold (line 1592) | void threshold (
function dot (line 1602) | void dot (
type ttimpl (line 1623) | namespace ttimpl
function softmax (line 1625) | void softmax(
function softmax_gradient (line 1698) | void softmax_gradient(
function softmax (line 1773) | void softmax(
function softmax_gradient (line 1784) | void softmax_gradient(
function softmax_all (line 1798) | void softmax_all (
function softmax_all_gradient (line 1807) | void softmax_all_gradient (
function sigmoid (line 1820) | void sigmoid (
function sigmoid_gradient (line 1831) | void sigmoid_gradient (
function mish (line 1854) | void mish (
function mish_gradient (line 1869) | void mish_gradient(
function relu (line 1906) | void relu (
function relu_gradient (line 1914) | void relu_gradient (
function prelu (line 1945) | void prelu (
function prelu_gradient (line 1963) | void prelu_gradient (
function leaky_relu (line 1994) | void leaky_relu (
function leaky_relu_gradient (line 2011) | void leaky_relu_gradient (
function tanh (line 2045) | void tanh (
function tanh_gradient (line 2056) | void tanh_gradient (
function clipped_relu (line 2079) | void clipped_relu (
function clipped_relu_gradient (line 2088) | void clipped_relu_gradient (
function elu (line 2120) | void elu (
function elu_gradient (line 2137) | void elu_gradient (
function gelu (line 2171) | void gelu (
function gelu_gradient (line 2182) | void gelu_gradient (
function smelu (line 2212) | void smelu (
function smelu_gradient (line 2231) | void smelu_gradient (
function silu (line 2269) | void silu (
function silu_gradient (line 2280) | void silu_gradient (
function resize_bilinear (line 2309) | void resize_bilinear (
function resize_bilinear_gradient (line 2337) | void resize_bilinear_gradient (
function reorg (line 2391) | void reorg(
function reorg_gradient (line 2436) | void reorg_gradient(
function embeddings (line 2480) | void embeddings(
function embeddings_gradient (line 2528) | void embeddings_gradient(
function img2col (line 2835) | void img2col(
function col2img (line 2888) | void col2img(
function copy_tensor (line 3071) | void copy_tensor(
function copy_tensor (line 3112) | void copy_tensor(
function transpose (line 3182) | void transpose(
function compute_act_halt_probabilities (line 3224) | void compute_act_halt_probabilities(
function update_act_state (line 3263) | void update_act_state(
function finalize_act_output (line 3311) | void finalize_act_output(
function apply_act_depth_scaling (line 3345) | void apply_act_depth_scaling(
FILE: dlib/cuda/cpu_dlib.h
function namespace (line 13) | namespace dlib
function class (line 892) | class compute_loss_multiclass_log_per_pixel_weighted
function class (line 954) | class compute_loss_mean_squared_per_channel_and_pixel
FILE: dlib/cuda/cublas_dlibapi.cpp
type dlib (line 40) | namespace dlib
type cuda (line 42) | namespace cuda
class cublas_context (line 47) | class cublas_context
method cublas_context (line 51) | cublas_context(const cublas_context&) = delete;
method cublas_context (line 52) | cublas_context& operator=(const cublas_context&) = delete;
method cublas_context (line 54) | cublas_context()
method cublasHandle_t (line 67) | cublasHandle_t get_handle (
function cublasHandle_t (line 89) | static cublasHandle_t context()
function gemm (line 97) | void gemm (
FILE: dlib/cuda/cublas_dlibapi.h
function namespace (line 11) | namespace dlib
FILE: dlib/cuda/cuda_data_ptr.cpp
type dlib (line 11) | namespace dlib
type cuda (line 13) | namespace cuda
function cuda_data_void_ptr (line 28) | cuda_data_void_ptr weak_cuda_data_void_ptr::
function memcpy (line 68) | void memcpy(
function memcpy (line 83) | void memcpy(
function memcpy (line 93) | void memcpy(
function memcpy (line 108) | void memcpy(
class cudnn_device_buffer (line 118) | class cudnn_device_buffer
method cudnn_device_buffer (line 122) | cudnn_device_buffer(const cudnn_device_buffer&) = delete;
method cudnn_device_buffer (line 123) | cudnn_device_buffer& operator=(const cudnn_device_buffer&) = delete;
method cudnn_device_buffer (line 125) | cudnn_device_buffer()
method cuda_data_void_ptr (line 133) | cuda_data_void_ptr get (
function cuda_data_void_ptr (line 163) | cuda_data_void_ptr device_global_buffer(size_t size)
FILE: dlib/cuda/cuda_data_ptr.h
function namespace (line 14) | namespace dlib
FILE: dlib/cuda/cuda_dlib.h
function namespace (line 11) | namespace dlib
function class (line 83) | class enable_peer_access
function resize_bilinear (line 536) | inline void resize_bilinear (
function resize_bilinear_gradient (line 541) | inline void resize_bilinear_gradient (
function class (line 663) | class compute_loss_binary_log_per_pixel
function class (line 724) | class compute_loss_multiclass_log_per_pixel
function class (line 785) | class compute_loss_multiclass_log_per_pixel_weighted
function class (line 861) | class compute_loss_mean_squared_per_channel_and_pixel
function set_device (line 932) | inline void set_device (
function get_device (line 939) | inline int get_device (
function get_num_devices (line 942) | inline int get_num_devices (
function std (line 945) | inline std::string get_device_name (
function set_current_device_blocking_sync (line 953) | inline void set_current_device_blocking_sync(
function can_access_peer (line 957) | inline bool can_access_peer (int , int )
function can_access_peer (line 959) | inline bool can_access_peer (const tensor& , const tensor& )
function device_synchronize (line 962) | inline void device_synchronize (int ){}
function device_synchronize (line 963) | inline void device_synchronize (const tensor& ){}
function class (line 965) | class enable_peer_access
FILE: dlib/cuda/cuda_errors.h
function namespace (line 9) | namespace dlib
FILE: dlib/cuda/cuda_utils.h
function namespace (line 40) | namespace dlib
function class (line 323) | class grid_stride_range_y
FILE: dlib/cuda/cudnn_dlibapi.cpp
type dlib (line 56) | namespace dlib
type cuda (line 59) | namespace cuda
function cudnnTensorDescriptor_t (line 64) | static cudnnTensorDescriptor_t descriptor(const tensor& t)
function cudnnTensorDescriptor_t (line 68) | static cudnnTensorDescriptor_t descriptor(const tensor_descriptor& t)
class cudnn_context (line 75) | class cudnn_context
method cudnn_context (line 79) | cudnn_context(const cudnn_context&) = delete;
method cudnn_context (line 80) | cudnn_context& operator=(const cudnn_context&) = delete;
method cudnn_context (line 82) | cudnn_context()
method cudnnHandle_t (line 95) | cudnnHandle_t get_handle (
function cudnnHandle_t (line 117) | static cudnnHandle_t context()
class cudnn_activation_descriptor (line 124) | class cudnn_activation_descriptor
method cudnn_activation_descriptor (line 128) | cudnn_activation_descriptor(const cudnn_activation_descriptor&) = ...
method cudnn_activation_descriptor (line 129) | cudnn_activation_descriptor& operator=(const cudnn_activation_desc...
method cudnn_activation_descriptor (line 131) | cudnn_activation_descriptor(
method cudnnActivationDescriptor_t (line 146) | cudnnActivationDescriptor_t get_handle (
function cudnnActivationDescriptor_t (line 155) | static cudnnActivationDescriptor_t identity_activation_descriptor()
function cudnnActivationDescriptor_t (line 161) | static cudnnActivationDescriptor_t relu_activation_descriptor()
function cudnnActivationDescriptor_t (line 167) | static cudnnActivationDescriptor_t sigmoid_activation_descriptor()
function cudnnActivationDescriptor_t (line 173) | static cudnnActivationDescriptor_t tanh_activation_descriptor()
function add (line 257) | void add(
function assign_conv_bias_gradient (line 303) | void assign_conv_bias_gradient (
function batch_normalize_inference (line 331) | void batch_normalize_inference (
function batch_normalize (line 393) | void batch_normalize (
function batch_normalize_gradient (line 468) | void batch_normalize_gradient(
function batch_normalize_conv_inference (line 520) | void batch_normalize_conv_inference (
function batch_normalize_conv (line 582) | void batch_normalize_conv (
function batch_normalize_conv_gradient (line 658) | void batch_normalize_conv_gradient(
function pick_best_algorithm (line 765) | decltype(std::declval<T>().algo) pick_best_algorithm(const std::vect...
function softmax (line 1542) | void softmax(
function softmax_gradient (line 1595) | void softmax_gradient(
function softmax_all (line 1659) | void softmax_all (
function softmax_all_gradient (line 1683) | void softmax_all_gradient (
function sigmoid (line 1713) | void sigmoid (
function sigmoid_gradient (line 1734) | void sigmoid_gradient (
function relu (line 1764) | void relu (
function relu_gradient (line 1785) | void relu_gradient (
function tanh (line 1815) | void tanh (
function tanh_gradient (line 1836) | void tanh_gradient (
FILE: dlib/cuda/cudnn_dlibapi.h
function namespace (line 13) | namespace dlib
FILE: dlib/cuda/curand_dlibapi.cpp
type dlib (line 38) | namespace dlib
type cuda (line 40) | namespace cuda
FILE: dlib/cuda/curand_dlibapi.h
function namespace (line 12) | namespace dlib
FILE: dlib/cuda/cusolver_dlibapi.h
function namespace (line 13) | namespace dlib
FILE: dlib/cuda/gpu_data.cpp
type dlib (line 16) | namespace dlib
function memcpy (line 21) | void memcpy (
function memcpy (line 33) | void memcpy (
function synchronize_stream (line 82) | void synchronize_stream(cudaStream_t stream)
FILE: dlib/cuda/gpu_data.h
function namespace (line 12) | namespace dlib
FILE: dlib/cuda/gpu_data_abstract.h
function class (line 14) | class gpu_data
FILE: dlib/cuda/operation_mode.h
function namespace (line 6) | namespace dlib
FILE: dlib/cuda/tensor.h
function namespace (line 15) | namespace dlib
function have_same_dimensions (line 284) | inline bool have_same_dimensions (
function class (line 297) | class resizable_tensor : public tensor
function _annotation (line 322) | resizable_tensor(const resizable_tensor& item) : _annotation(item.annota...
function _annotation (line 327) | resizable_tensor(const tensor& item) : _annotation(item.annotation())
function virtual (line 336) | virtual const float* host() const { return data_instance.host(); }
function virtual (line 337) | virtual float* host() { return data_instance.host(); }
function virtual (line 338) | virtual float* host_write_only() { return data_instance.host_write...
function virtual (line 339) | virtual const float* device() const { return data_instance.device(); }
function virtual (line 340) | virtual float* device() { return data_instance.device(); }
function virtual (line 341) | virtual float* device_write_only() { return data_instance.device_w...
function virtual (line 344) | virtual any& annotation() { return _annotation; }
function clear (line 346) | void clear(
function copy_size (line 355) | void copy_size (
function swap (line 413) | void swap(resizable_tensor& item)
function virtual (line 440) | virtual gpu_data& data() { return data_instance; }
function serialize (line 444) | inline void serialize(const tensor& item, std::ostream& out)
function deserialize (line 468) | inline void deserialize(resizable_tensor& item, std::istream& in)
function virtual (line 544) | virtual any& annotation() { return *_annotation; }
function virtual (line 560) | virtual gpu_data& data() { return *data_instance; }
function class (line 566) | class alias_tensor_const_instance
function operator (line 570) | operator const tensor& () { return inst; }
function inst (line 572) | alias_tensor_const_instance(const alias_tensor_instance& item) : inst(it...
function class (line 583) | class alias_tensor
function serialize (line 657) | inline void serialize(const alias_tensor& item, std::ostream& out)
function deserialize (line 667) | inline void deserialize(alias_tensor& item, std::istream& in)
function memcpy (line 683) | inline void memcpy (
FILE: dlib/cuda/tensor_abstract.h
function class (line 13) | class tensor
function class (line 432) | class resizable_tensor : public tensor
function class (line 590) | class alias_tensor_instance : public tensor
function memcpy (line 610) | inline void memcpy (
FILE: dlib/cuda/tensor_tools.cpp
type dlib (line 10) | namespace dlib
function dnn_prefer_fastest_algorithms (line 22) | bool dnn_prefer_fastest_algorithms (
function set_dnn_prefer_fastest_algorithms (line 28) | void set_dnn_prefer_fastest_algorithms(
function set_dnn_prefer_smallest_algorithms (line 34) | void set_dnn_prefer_smallest_algorithms(
type tt (line 41) | namespace tt
function inverse_norms (line 46) | void inverse_norms (
function dot_prods (line 59) | void dot_prods (
function dot_prods (line 72) | void dot_prods (
function scale_columns (line 89) | void scale_columns (
function scale_rows (line 109) | void scale_rows (
function scale_rows2 (line 129) | void scale_rows2 (
function exp (line 156) | void exp (
function log (line 172) | void log (
function log10 (line 188) | void log10 (
function gemm (line 204) | void gemm (
function multiply (line 353) | void multiply (
function scale_channels (line 375) | void scale_channels (
function multiply_conv (line 389) | void multiply_conv (
function multiply_zero_padded (line 403) | void multiply_zero_padded (
function affine_transform (line 419) | void affine_transform(
function affine_transform (line 433) | void affine_transform(
function affine_transform (line 446) | void affine_transform(
function affine_transform (line 462) | void affine_transform(
function affine_transform (line 477) | void affine_transform(
function affine_transform_range (line 495) | void affine_transform_range(
function affine_transform (line 514) | void affine_transform(
function affine_transform (line 532) | void affine_transform(
function affine_transform (line 551) | void affine_transform(
function affine_transform_conv (line 567) | void affine_transform_conv(
function compute_adam_update (line 583) | void compute_adam_update (
function batch_normalize_inference (line 609) | void batch_normalize_inference (
function batch_normalize (line 626) | void batch_normalize (
function batch_normalize_gradient (line 646) | void batch_normalize_gradient (
function batch_normalize_conv_inference (line 668) | void batch_normalize_conv_inference (
function batch_normalize_conv (line 685) | void batch_normalize_conv (
function batch_normalize_conv_gradient (line 705) | void batch_normalize_conv_gradient (
function layer_normalize (line 727) | void layer_normalize (
function layer_normalize_gradient (line 744) | void layer_normalize_gradient (
function rms_normalize (line 767) | void rms_normalize(
function rms_normalize_gradient (line 782) | void rms_normalize_gradient(
function threshold (line 801) | void threshold (
function dot (line 813) | void dot (
function add (line 829) | void add(
function add (line 845) | void add (
function assign_conv_bias_gradient (line 860) | void assign_conv_bias_gradient (
function assign_bias_gradient (line 874) | void assign_bias_gradient (
function softmax (line 888) | void softmax(
function softmax_gradient (line 901) | void softmax_gradient(
function softmax_all (line 917) | void softmax_all (
function softmax_all_gradient (line 929) | void softmax_all_gradient (
function sigmoid (line 944) | void sigmoid (
function sigmoid_gradient (line 956) | void sigmoid_gradient (
function mish (line 971) | void mish (
function mish_gradient (line 983) | void mish_gradient (
function relu (line 998) | void relu (
function relu_gradient (line 1010) | void relu_gradient (
function prelu (line 1025) | void prelu (
function prelu_gradient (line 1038) | void prelu_gradient (
function leaky_relu (line 1055) | void leaky_relu (
function leaky_relu_gradient (line 1068) | void leaky_relu_gradient (
function tanh (line 1084) | void tanh (
function tanh_gradient (line 1096) | void tanh_gradient (
function clipped_relu (line 1111) | void clipped_relu (
function clipped_relu_gradient (line 1124) | void clipped_relu_gradient (
function elu (line 1140) | void elu (
function elu_gradient (line 1153) | void elu_gradient (
function gelu (line 1169) | void gelu (
function gelu_gradient (line 1181) | void gelu_gradient (
function smelu (line 1196) | void smelu (
function smelu_gradient (line 1210) | void smelu_gradient (
function silu (line 1227) | void silu (
function silu_gradient (line 1239) | void silu_gradient (
function resize_bilinear (line 1254) | void resize_bilinear (
function resize_bilinear_gradient (line 1270) | void resize_bilinear_gradient (
function reorg (line 1288) | void reorg (
function reorg_gradient (line 1303) | void reorg_gradient (
function copy_tensor (line 1320) | void copy_tensor(
function copy_tensor (line 1338) | void copy_tensor(
function transpose (line 1371) | void transpose(
function embeddings (line 1386) | void embeddings(
function embeddings_gradient (line 1399) | void embeddings_gradient(
function compute_act_halt_probabilities (line 1417) | void compute_act_halt_probabilities(
function update_act_state (line 1436) | void update_act_state(
function finalize_act_output (line 1461) | void finalize_act_output(
function apply_act_depth_scaling (line 1481) | void apply_act_depth_scaling(
type dlib (line 41) | namespace dlib { namespace tt
function dnn_prefer_fastest_algorithms (line 22) | bool dnn_prefer_fastest_algorithms (
function set_dnn_prefer_fastest_algorithms (line 28) | void set_dnn_prefer_fastest_algorithms(
function set_dnn_prefer_smallest_algorithms (line 34) | void set_dnn_prefer_smallest_algorithms(
type tt (line 41) | namespace tt
function inverse_norms (line 46) | void inverse_norms (
function dot_prods (line 59) | void dot_prods (
function dot_prods (line 72) | void dot_prods (
function scale_columns (line 89) | void scale_columns (
function scale_rows (line 109) | void scale_rows (
function scale_rows2 (line 129) | void scale_rows2 (
function exp (line 156) | void exp (
function log (line 172) | void log (
function log10 (line 188) | void log10 (
function gemm (line 204) | void gemm (
function multiply (line 353) | void multiply (
function scale_channels (line 375) | void scale_channels (
function multiply_conv (line 389) | void multiply_conv (
function multiply_zero_padded (line 403) | void multiply_zero_padded (
function affine_transform (line 419) | void affine_transform(
function affine_transform (line 433) | void affine_transform(
function affine_transform (line 446) | void affine_transform(
function affine_transform (line 462) | void affine_transform(
function affine_transform (line 477) | void affine_transform(
function affine_transform_range (line 495) | void affine_transform_range(
function affine_transform (line 514) | void affine_transform(
function affine_transform (line 532) | void affine_transform(
function affine_transform (line 551) | void affine_transform(
function affine_transform_conv (line 567) | void affine_transform_conv(
function compute_adam_update (line 583) | void compute_adam_update (
function batch_normalize_inference (line 609) | void batch_normalize_inference (
function batch_normalize (line 626) | void batch_normalize (
function batch_normalize_gradient (line 646) | void batch_normalize_gradient (
function batch_normalize_conv_inference (line 668) | void batch_normalize_conv_inference (
function batch_normalize_conv (line 685) | void batch_normalize_conv (
function batch_normalize_conv_gradient (line 705) | void batch_normalize_conv_gradient (
function layer_normalize (line 727) | void layer_normalize (
function layer_normalize_gradient (line 744) | void layer_normalize_gradient (
function rms_normalize (line 767) | void rms_normalize(
function rms_normalize_gradient (line 782) | void rms_normalize_gradient(
function threshold (line 801) | void threshold (
function dot (line 813) | void dot (
function add (line 829) | void add(
function add (line 845) | void add (
function assign_conv_bias_gradient (line 860) | void assign_conv_bias_gradient (
function assign_bias_gradient (line 874) | void assign_bias_gradient (
function softmax (line 888) | void softmax(
function softmax_gradient (line 901) | void softmax_gradient(
function softmax_all (line 917) | void softmax_all (
function softmax_all_gradient (line 929) | void softmax_all_gradient (
function sigmoid (line 944) | void sigmoid (
function sigmoid_gradient (line 956) | void sigmoid_gradient (
function mish (line 971) | void mish (
function mish_gradient (line 983) | void mish_gradient (
function relu (line 998) | void relu (
function relu_gradient (line 1010) | void relu_gradient (
function prelu (line 1025) | void prelu (
function prelu_gradient (line 1038) | void prelu_gradient (
function leaky_relu (line 1055) | void leaky_relu (
function leaky_relu_gradient (line 1068) | void leaky_relu_gradient (
function tanh (line 1084) | void tanh (
function tanh_gradient (line 1096) | void tanh_gradient (
function clipped_relu (line 1111) | void clipped_relu (
function clipped_relu_gradient (line 1124) | void clipped_relu_gradient (
function elu (line 1140) | void elu (
function elu_gradient (line 1153) | void elu_gradient (
function gelu (line 1169) | void gelu (
function gelu_gradient (line 1181) | void gelu_gradient (
function smelu (line 1196) | void smelu (
function smelu_gradient (line 1210) | void smelu_gradient (
function silu (line 1227) | void silu (
function silu_gradient (line 1239) | void silu_gradient (
function resize_bilinear (line 1254) | void resize_bilinear (
function resize_bilinear_gradient (line 1270) | void resize_bilinear_gradient (
function reorg (line 1288) | void reorg (
function reorg_gradient (line 1303) | void reorg_gradient (
function copy_tensor (line 1320) | void copy_tensor(
function copy_tensor (line 1338) | void copy_tensor(
function transpose (line 1371) | void transpose(
function embeddings (line 1386) | void embeddings(
function embeddings_gradient (line 1399) | void embeddings_gradient(
function compute_act_halt_probabilities (line 1417) | void compute_act_halt_probabilities(
function update_act_state (line 1436) | void update_act_state(
function finalize_act_output (line 1461) | void finalize_act_output(
function apply_act_depth_scaling (line 1481) | void apply_act_depth_scaling(
FILE: dlib/cuda/tensor_tools.h
function namespace (line 18) | namespace dlib
function class (line 222) | class inv
function class (line 252) | class tensor_rand
function class (line 1068) | class tensor_conv
function class (line 1304) | class pooling
function resize_bilinear (line 1981) | inline void resize_bilinear (
function resize_bilinear_gradient (line 1996) | inline void resize_bilinear_gradient (
function class (line 2172) | class multi_device_tensor_averager
FILE: dlib/data_io/arc_agi.h
function namespace (line 19) | namespace dlib
function namespace (line 142) | namespace internal
function class (line 315) | class arc_agi_manager
function arc_task (line 631) | const arc_task& get_evaluation_task_by_id(const std::string& task_id) const
function serialize (line 652) | void serialize(std::ostream& out) const
function deserialize (line 668) | void deserialize(std::istream& in)
function arc_token_sequence_t (line 691) | static arc_token_sequence_t tokenize_input_context(const arc_task& task,
FILE: dlib/data_io/arc_agi_abstract.h
type arc_token_id (line 22) | enum arc_token_id
type arc_task_pair (line 39) | struct arc_task_pair
type arc_task (line 66) | struct arc_task
FILE: dlib/data_io/cifar.cpp
type dlib (line 11) | namespace dlib
type impl (line 13) | namespace impl
function load_cifar_10_batch (line 15) | void load_cifar_10_batch (
function load_cifar_10_dataset (line 57) | void load_cifar_10_dataset (
FILE: dlib/data_io/cifar.h
function namespace (line 14) | namespace dlib
FILE: dlib/data_io/cifar_abstract.h
function namespace (line 13) | namespace dlib
FILE: dlib/data_io/image_dataset_metadata.cpp
type dlib (line 17) | namespace dlib
type image_dataset_metadata (line 19) | namespace image_dataset_metadata
function create_image_metadata_stylesheet_file (line 25) | void create_image_metadata_stylesheet_file(const std::string& main_f...
function save_image_dataset_metadata (line 42) | void save_image_dataset_metadata (
class doc_handler (line 137) | class doc_handler : public document_handler
method doc_handler (line 147) | doc_handler(
method start_document (line 154) | virtual void start_document (
method end_document (line 163) | virtual void end_document (
method start_element (line 168) | virtual void start_element (
method end_element (line 273) | virtual void end_element (
method characters (line 294) | virtual void characters (
method processing_instruction (line 313) | virtual void processing_instruction (
class xml_error_handler (line 324) | class xml_error_handler : public error_handler
method error (line 327) | virtual void error (
method fatal_error (line 331) | virtual void fatal_error (
function load_image_dataset_metadata (line 343) | void load_image_dataset_metadata (
function get_decoded_string (line 366) | const std::string get_decoded_string()
FILE: dlib/data_io/image_dataset_metadata.h
type gender_t (line 19) | enum gender_t
type image (line 100) | struct image
type dataset (line 118) | struct dataset
FILE: dlib/data_io/libsvm_io.h
function namespace (line 17) | namespace dlib
type typename (line 113) | typedef typename basic_type<typename pair_type::first_type>::type key_type;
type typename (line 154) | typedef typename basic_type<typename pair_type::first_type>::type key_type;
type typename (line 189) | typedef typename sample_type::value_type pair_type;
type typename (line 190) | typedef typename basic_type<typename pair_type::first_type>::type key_type;
FILE: dlib/data_io/libsvm_io_abstract.h
function namespace (line 13) | namespace dlib
FILE: dlib/data_io/load_image_dataset.h
function namespace (line 22) | namespace dlib
type typename (line 126) | typedef typename array_type::value_type image_type;
type typename (line 347) | typedef typename array_type::value_type image_type;
FILE: dlib/data_io/mnist.cpp
type dlib (line 13) | namespace dlib
function load_mnist_dataset (line 15) | void load_mnist_dataset (
FILE: dlib/data_io/mnist.h
function namespace (line 13) | namespace dlib
FILE: dlib/data_io/mnist_abstract.h
function namespace (line 12) | namespace dlib
FILE: dlib/dir_nav/dir_nav_extensions.cpp
type dlib (line 8) | namespace dlib
type implementation_details (line 13) | namespace implementation_details
function get_all_sub_dirs (line 15) | void get_all_sub_dirs (
function file_exists (line 39) | bool file_exists (
function directory_exists (line 56) | bool directory_exists (
function directory (line 73) | directory get_parent_directory (
function directory (line 82) | directory get_parent_directory (
function select_oldest_file (line 99) | std::string select_oldest_file (
function select_newest_file (line 116) | std::string select_newest_file (
FILE: dlib/dir_nav/dir_nav_extensions.h
function namespace (line 13) | namespace dlib
function class (line 135) | class match_all
FILE: dlib/dir_nav/dir_nav_extensions_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/dir_nav/dir_nav_kernel_1.cpp
type dlib (line 18) | namespace dlib
function directory (line 178) | const directory directory::
FILE: dlib/dir_nav/dir_nav_kernel_1.h
function namespace (line 26) | namespace dlib
function class (line 150) | class directory
function swap (line 366) | inline void swap (
function swap (line 373) | inline void swap (
type directory (line 393) | typedef directory::listing_error listing_error;
type file (line 394) | typedef file::private_constructor private_constructor;
type directory (line 516) | typedef directory::listing_error listing_error;
type directory (line 517) | typedef directory::private_constructor private_constructor;
FILE: dlib/dir_nav/dir_nav_kernel_2.cpp
type dlib (line 17) | namespace dlib
type stat64 (line 54) | struct stat64
type stat64 (line 143) | struct stat64
function directory (line 194) | const directory directory::
FILE: dlib/dir_nav/dir_nav_kernel_2.h
function namespace (line 36) | namespace dlib
function class (line 157) | class directory
function swap (line 309) | inline void swap (
function swap (line 316) | inline void swap (
type dirent (line 341) | struct dirent
type stat64 (line 342) | struct stat64
type dirent (line 496) | struct dirent
type stat64 (line 497) | struct stat64
FILE: dlib/dir_nav/dir_nav_kernel_abstract.h
function std (line 121) | const std::string& name (
FILE: dlib/directed_graph.h
function namespace (line 10) | namespace dlib
FILE: dlib/directed_graph/directed_graph_kernel_1.h
function check_parent_edge (line 28) | static void check_parent_edge (
function check_child_edge (line 43) | static void check_child_edge (
function check_parent (line 58) | static void check_parent (
function check_child (line 73) | static void check_child (
function check_node (line 88) | static void check_node (
function check_has_edge (line 103) | static void check_has_edge (
function check_add_edge (line 121) | static void check_add_edge (
function check_remove_edge (line 148) | static void check_remove_edge (
function check_remove_node (line 175) | static void check_remove_node (
type node_type (line 240) | struct node_type
type E (line 249) | typedef E edge_type;
type mem_manager (line 250) | typedef mem_manager mem_manager_type;
type directed_graph_kernel_1 (line 254) | typedef directed_graph_kernel_1<Tr,Er,MMr> other;
function virtual (line 260) | virtual ~directed_graph_kernel_1(
function clear (line 263) | void clear(
function node_type (line 277) | const node_type& node (
function swap (line 303) | void swap (
type node_type (line 312) | struct node_type
function node_type (line 326) | const node_type& parent (
function node_type (line 334) | const node_type& child (
function E (line 342) | const E& parent_edge (
function E (line 350) | const E& child_edge (
type std_allocator (line 360) | typedef std_allocator<node_type*,mem_manager> alloc_type;
type std_allocator (line 361) | typedef std_allocator<std::shared_ptr<E>,mem_manager> alloc_edge_type;
FILE: dlib/directed_graph/directed_graph_kernel_abstract.h
type E (line 57) | typedef E edge_type;
type mem_manager (line 58) | typedef mem_manager mem_manager_type;
type directed_graph (line 62) | typedef directed_graph<Tr,Er,MMr> other;
function number_of_nodes (line 107) | unsigned long number_of_nodes (
FILE: dlib/disjoint_subsets/disjoint_subsets.h
function namespace (line 10) | namespace dlib
FILE: dlib/disjoint_subsets/disjoint_subsets_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/disjoint_subsets/disjoint_subsets_sized.h
function namespace (line 11) | namespace dlib
FILE: dlib/disjoint_subsets/disjoint_subsets_sized_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/dnn/core.h
function namespace (line 33) | namespace dlib
function namespace (line 197) | namespace impl
function T (line 554) | const T& top() const
function namespace (line 589) | namespace dimpl
function zero_gradients (line 698) | enum class zero_gradients : uint8_t
function tensor (line 911) | const tensor& operator() (const input_type& x)
function tensor (line 916) | const tensor& forward(const tensor& x)
function disable_output_and_gradient_getters (line 959) | void disable_output_and_gradient_getters (
function set_gradient_inputs_to_zero (line 1039) | void set_gradient_inputs_to_zero()
function clean (line 1045) | void clean()
function friend (line 1056) | friend void serialize(const add_layer& item, std::ostream& out)
function print (line 1094) | void print (std::ostream& out, unsigned long idx, int& min_length) const
function this_layer_requires_forward_output (line 1110) | bool this_layer_requires_forward_output(
function swap (line 1116) | void swap(add_layer& item)
type INPUT_LAYER (line 1166) | typedef INPUT_LAYER subnet_type;
type INPUT_LAYER (line 1167) | typedef INPUT_LAYER input_layer_type;
type typename (line 1168) | typedef typename INPUT_LAYER::input_type input_type;
function tensor (line 1311) | const tensor& operator() (const input_type& x)
function tensor (line 1316) | const tensor& forward (const tensor& x)
function disable_output_and_gradient_getters (line 1343) | void disable_output_and_gradient_getters (
function set_gradient_inputs_to_zero (line 1425) | void set_gradient_inputs_to_zero()
function clean (line 1430) | void clean()
function friend (line 1441) | friend void serialize(const add_layer& item, std::ostream& out)
function print (line 1483) | void print (std::ostream& out, unsigned long idx, int& min_length) const
function class (line 1502) | class subnet_wrapper
function swap (line 1529) | void swap(add_layer& item)
type typename (line 1576) | typedef typename subnet_type::input_type input_type;
type typename (line 1577) | typedef typename subnet_type::input_layer_type input_layer_type;
type layer_details_type (line 1578) | typedef int layer_details_type;
function tensor (line 1622) | const tensor& operator() (const input_type& x)
function tensor (line 1627) | const tensor& forward(const tensor& x)
function set_gradient_inputs_to_zero (line 1684) | void set_gradient_inputs_to_zero()
function clean (line 1689) | void clean()
function friend (line 1694) | friend void serialize(const add_tag_layer& item, std::ostream& out)
function print (line 1717) | void print (std::ostream& out, unsigned long idx, int& min_length) const
function this_layer_requires_forward_output (line 1738) | bool this_layer_requires_forward_output(
function disable_output_and_gradient_getters (line 1741) | void disable_output_and_gradient_getters (
type typename (line 1794) | typedef typename SUBNET::input_type input_type;
type typename (line 1795) | typedef typename subnet_type::input_layer_type input_layer_type;
type layer_details_type (line 1796) | typedef int layer_details_type;
type REPEATED_LAYER (line 1806) | typedef REPEATED_LAYER<impl::repeat_input_layer> repeated_layer_type;
function details (line 1810) | details(num)
function repeated_layer_type (line 1817) | const repeated_layer_type& get_repeated_layer (
function disable_output_and_gradient_getters (line 2066) | void disable_output_and_gradient_getters (
type typename (line 2097) | typedef typename subnet_type::input_type input_type;
type INPUT_LAYER (line 2098) | typedef INPUT_LAYER input_layer_type;
type layer_details_type (line 2099) | typedef int layer_details_type;
function tensor (line 2173) | const tensor& operator() (const input_type& x)
function tensor (line 2178) | const tensor& forward(const tensor& x)
function back_propagate_error (line 2216) | void back_propagate_error(
function back_propagate_error (line 2223) | void back_propagate_error(
function set_gradient_inputs_to_zero (line 2250) | void set_gradient_inputs_to_zero()
function clean (line 2255) | void clean()
function friend (line 2262) | friend void serialize(const add_tag_layer& item, std::ostream& out)
function print (line 2298) | void print (std::ostream& out, unsigned long idx, int& min_length) const
function this_layer_requires_forward_output (line 2322) | bool this_layer_requires_forward_output(
function disable_output_and_gradient_getters (line 2325) | void disable_output_and_gradient_getters (
function swap (line 2341) | void swap(add_tag_layer& item)
function class (line 2370) | class no_label_type
type no_label_type (line 2393) | typedef no_label_type type;
type typename (line 2398) | typedef typename T::training_label_type type;
type no_label_type (line 2404) | typedef no_label_type type;
type typename (line 2409) | typedef typename T::output_label_type type;
type SUBNET (line 2414) | typedef SUBNET subnet_type;
type typename (line 2415) | typedef typename subnet_type::input_type input_type;
type typename (line 2416) | typedef typename subnet_type::input_layer_type input_layer_type;
type typename (line 2420) | typedef typename get_loss_layer_training_label_type<LOSS_DETAILS>::type ...
type typename (line 2421) | typedef typename get_loss_layer_output_label_type<LOSS_DETAILS>::type ou...
function subnetwork (line 2456) | loss(std::move(layer_det)),
function tensor (line 2578) | const tensor& forward(const tensor& x)
function compute_loss (line 2626) | double compute_loss (
function set_gradient_inputs_to_zero (line 2715) | void set_gradient_inputs_to_zero (
function clean (line 2721) | void clean (
function print (line 2740) | void print (std::ostream& out, unsigned long idx, int& min_length) const
function namespace (line 2792) | namespace impl
type typename (line 2832) | typedef typename repeat<N,L,S>::repeated_layer_type repeated_layer_type;
function type (line 2866) | static type& layer(const repeat<N,L,S>& n)
type typename (line 2878) | typedef typename repeat<N,L,S>::repeated_layer_type repeated_layer_type;
function type (line 2881) | static type& layer(const repeat<N,L,S>& n)
function type (line 2893) | static type& layer(const repeat<N,L,S>& n)
function typename (line 2987) | typename net_type::input_layer_type& input_layer (
type typename (line 3001) | typedef typename subnet_type::input_type input_type;
type typename (line 3002) | typedef typename subnet_type::input_layer_type input_layer_type;
type layer_details_type (line 3003) | typedef int layer_details_type;
function tensor (line 3048) | const tensor& operator() (const input_type& x)
function tensor (line 3054) | const tensor& forward(const tensor& x)
function set_gradient_inputs_to_zero (line 3118) | void set_gradient_inputs_to_zero()
function clean (line 3123) | void clean()
function friend (line 3128) | friend void serialize(const add_skip_layer& item, std::ostream& out)
function print (line 3151) | void print (std::ostream& out, unsigned long idx, int& min_length) const
function this_layer_requires_forward_output (line 3171) | bool this_layer_requires_forward_output(
function disable_output_and_gradient_getters (line 3174) | void disable_output_and_gradient_getters (
function namespace (line 3216) | namespace timpl
function class (line 3229) | class test_layer_subnet
type layer_test_results (line 3307) | struct layer_test_results
function namespace (line 3548) | namespace impl
function namespace (line 3680) | namespace impl
function namespace (line 3745) | namespace impl
function namespace (line 3804) | namespace impl
function namespace (line 3844) | namespace impl
FILE: dlib/dnn/core_abstract.h
function size (line 247) | size_t size(
type class (line 280) | enum class
type SUBNET (line 317) | typedef SUBNET subnet_type;
type typename (line 318) | typedef typename subnet_type::input_type input_type;
type typename (line 319) | typedef typename subnet_type::input_layer_type input_layer_type;
type SUBNET (line 776) | typedef SUBNET subnet_type;
type typename (line 777) | typedef typename subnet_type::input_type input_type;
type typename (line 778) | typedef typename subnet_type::input_layer_type input_layer_type;
type typename (line 783) | typedef typename LOSS_DETAILS::training_label_type training_label_type;
type typename (line 786) | typedef typename LOSS_DETAILS::output_label_type output_label_type;
function subnet_type (line 853) | const subnet_type& subnet(
FILE: dlib/dnn/input.h
function namespace (line 16) | namespace dlib
type matrix (line 176) | typedef matrix<rgb_pixel> input_type;
function image_contained_point (line 204) | bool image_contained_point ( const tensor& data, const point& p) const {...
function drectangle (line 205) | drectangle tensor_space_to_image_space ( const tensor& /*data*/, drectan...
function drectangle (line 206) | drectangle image_space_to_tensor_space ( const tensor& /*data*/, double ...
function friend (line 253) | friend void serialize(const input_rgb_image_sized& item, std::ostream& out)
function friend (line 290) | friend void to_xml(const input_rgb_image_sized& item, std::ostream& out)
function class (line 314) | class input_rgb_image_pair
function image_contained_point (line 355) | bool image_contained_point ( const tensor& data, const point& p) const {...
function drectangle (line 356) | drectangle tensor_space_to_image_space ( const tensor& /*data*/, drectan...
function drectangle (line 357) | drectangle image_space_to_tensor_space ( const tensor& /*data*/, double ...
function friend (line 416) | friend void serialize(const input_rgb_image_pair& item, std::ostream& out)
function friend (line 449) | friend void to_xml(const input_rgb_image_pair& item, std::ostream& out)
type typename (line 514) | typedef typename pixel_traits<T>::basic_pixel_type bptype;
function friend (line 541) | friend void serialize(const input& /*item*/, std::ostream& out)
function drectangle (line 579) | drectangle image_space_to_tensor_space ( const tensor& /*data*/, double ...
function friend (line 634) | friend void serialize(const input& /*item*/, std::ostream& out)
type typename (line 703) | typedef typename pixel_traits<T>::basic_pixel_type bptype;
type PYRAMID_TYPE (line 764) | typedef PYRAMID_TYPE pyramid_type;
function set_pyramid_padding (line 767) | void set_pyramid_padding(unsigned long value) { pyramid_padding = value; }
function set_pyramid_outer_padding (line 770) | void set_pyramid_outer_padding(unsigned long value) { pyramid_outer_padd...
function image_contained_point (line 772) | bool image_contained_point(
function drectangle (line 782) | drectangle tensor_space_to_image_space(
function drectangle (line 791) | drectangle image_space_to_tensor_space (
function create_tiled_pyramid (line 849) | void create_tiled_pyramid (
type PYRAMID_TYPE (line 881) | typedef PYRAMID_TYPE pyramid_type;
function friend (line 916) | friend void serialize(const input_grayscale_image_pyramid& item, std::os...
function friend (line 941) | friend void to_xml(const input_grayscale_image_pyramid& item, std::ostre...
type PYRAMID_TYPE (line 957) | typedef PYRAMID_TYPE pyramid_type;
function friend (line 1031) | friend void serialize(const input_rgb_image_pyramid& item, std::ostream&...
function friend (line 1070) | friend void to_xml(const input_rgb_image_pyramid& item, std::ostream& out)
function class (line 1087) | class input_tensor
function friend (line 1135) | friend void serialize(const input_tensor&, std::ostream& out)
FILE: dlib/dnn/input_abstract.h
function class (line 15) | class EXAMPLE_INPUT_LAYER
function image_contained_point (line 165) | bool image_contained_point ( const tensor& data, const point& p) const {...
function drectangle (line 166) | drectangle tensor_space_to_image_space ( const tensor& /*data*/, drectan...
function drectangle (line 167) | drectangle image_space_to_tensor_space ( const tensor& /*data*/, double ...
function class (line 172) | class input_rgb_image
function image_contained_point (line 379) | bool image_contained_point ( const tensor& data, const point& p) const {...
function drectangle (line 380) | drectangle tensor_space_to_image_space ( const tensor& /*data*/, drectan...
function drectangle (line 381) | drectangle image_space_to_tensor_space ( const tensor& /*data*/, double ...
type PYRAMID_TYPE (line 404) | typedef PYRAMID_TYPE pyramid_type;
FILE: dlib/dnn/layers.h
function namespace (line 20) | namespace dlib
function con_ (line 70) | con_(num_con_outputs(_num_filters)) {}
function set_num_filters (line 92) | void set_num_filters(long num)
function set_learning_rate_multiplier (line 105) | void set_learning_rate_multiplier(double val) { learning_rate_multiplier...
function set_weight_decay_multiplier (line 106) | void set_weight_decay_multiplier(double val) { weight_decay_multiplier ...
function set_bias_learning_rate_multiplier (line 110) | void set_bias_learning_rate_multiplier(double val) { bias_learning_rate_...
function set_bias_weight_decay_multiplier (line 111) | void set_bias_weight_decay_multiplier(double val) { bias_weight_decay_m...
function disable_relu (line 115) | void disable_relu()
function enable_relu (line 120) | void enable_relu()
function disable_bias (line 127) | void disable_bias()
function enable_bias (line 143) | void enable_bias()
function dpoint (line 160) | inline dpoint map_input_to_output (
function dpoint (line 169) | inline dpoint map_output_to_input (
function friend (line 291) | friend void serialize(const con_& item, std::ostream& out)
function friend (line 387) | friend void to_xml(const con_& item, std::ostream& out)
function cont_ (line 476) | cont_(num_con_outputs(_num_filters)) {}
function set_num_filters (line 486) | void set_num_filters(long num)
function set_learning_rate_multiplier (line 499) | void set_learning_rate_multiplier(double val) { learning_rate_multiplier...
function set_weight_decay_multiplier (line 500) | void set_weight_decay_multiplier(double val) { weight_decay_multiplier ...
function set_bias_learning_rate_multiplier (line 504) | void set_bias_learning_rate_multiplier(double val) { bias_learning_rate_...
function set_bias_weight_decay_multiplier (line 505) | void set_bias_weight_decay_multiplier(double val) { bias_weight_decay_m...
function disable_bias (line 506) | void disable_bias() { use_bias = false; }
function dpoint (line 509) | inline dpoint map_output_to_input (
function dpoint (line 518) | inline dpoint map_input_to_output (
function friend (line 627) | friend void serialize(const cont_& item, std::ostream& out)
function friend (line 714) | friend void to_xml(const cont_& item, std::ostream& out)
function dpoint (line 800) | inline dpoint map_input_to_output (dpoint p) const
function dpoint (line 806) | inline dpoint map_output_to_input (dpoint p) const
function friend (line 816) | friend void serialize(const upsample_& /*item*/, std::ostream& out)
function dpoint (line 912) | inline dpoint map_output_to_input (dpoint p) const
function friend (line 922) | friend void serialize(const resize_to_& item, std::ostream& out)
function set_output_k (line 1003) | void set_output_k(long k) {
function set_output_nr (line 1007) | void set_output_nr(long nr) {
function set_output_nc (line 1011) | void set_output_nc(long nc) {
function dpoint (line 1083) | inline dpoint map_input_to_output(const dpoint& p) const {
function dpoint (line 1088) | inline dpoint map_output_to_input(const dpoint& p) const {
function friend (line 1097) | friend void serialize(const reshape_to_& item, std::ostream& out)
function friend (line 1135) | friend void to_xml(const reshape_to_& item, std::ostream& out)
function dpoint (line 1194) | inline dpoint map_input_to_output (
function dpoint (line 1203) | inline dpoint map_output_to_input (
function friend (line 1265) | friend void serialize(const max_pool_& item, std::ostream& out)
function friend (line 1319) | friend void to_xml(const max_pool_& item, std::ostream& out)
function dpoint (line 1391) | inline dpoint map_input_to_output (
function dpoint (line 1400) | inline dpoint map_output_to_input (
function friend (line 1462) | friend void serialize(const avg_pool_& item, std::ostream& out)
function friend (line 1517) | friend void to_xml(const avg_pool_& item, std::ostream& out)
function class (line 1555) | class layer_norm_
function friend (line 1616) | friend void serialize(const layer_norm_& item, std::ostream& out)
function friend (line 1660) | friend void to_xml(const layer_norm_& item, std::ostream& out)
function class (line 1692) | class rms_norm_
function friend (line 1747) | friend void serialize(const rms_norm_& item, std::ostream& out)
function friend (line 1785) | friend void to_xml(const rms_norm_& item, std::ostream& out)
type layer_mode (line 1814) | enum layer_mode
function set_running_stats_window_size (line 1847) | void set_running_stats_window_size (unsigned long new_window_size )
function set_learning_rate_multiplier (line 1856) | void set_learning_rate_multiplier(double val) { learning_rate_multiplier...
function set_weight_decay_multiplier (line 1857) | void set_weight_decay_multiplier(double val) { weight_decay_multiplier ...
function set_bias_learning_rate_multiplier (line 1861) | void set_bias_learning_rate_multiplier(double val) { bias_learning_rate_...
function set_bias_weight_decay_multiplier (line 1862) | void set_bias_weight_decay_multiplier(double val) { bias_weight_decay_m...
function dpoint (line 1864) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 1865) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 1937) | friend void serialize(const bn_& item, std::ostream& out)
function friend (line 2005) | friend void to_xml(const bn_& item, std::ostream& out)
type fc_bias_mode (line 2052) | enum fc_bias_mode
type num_fc_outputs (line 2058) | struct num_fc_outputs
function set_learning_rate_multiplier (line 2085) | void set_learning_rate_multiplier(double val) { learning_rate_multiplier...
function set_weight_decay_multiplier (line 2086) | void set_weight_decay_multiplier(double val) { weight_decay_multiplier ...
function set_bias_learning_rate_multiplier (line 2090) | void set_bias_learning_rate_multiplier(double val) { bias_learning_rate_...
function set_bias_weight_decay_multiplier (line 2091) | void set_bias_weight_decay_multiplier(double val) { bias_weight_decay_m...
function disable_bias (line 2092) | void disable_bias() { use_bias = false; }
function set_num_outputs (line 2098) | void set_num_outputs(long num)
function alias_tensor_instance (line 2173) | alias_tensor_instance get_weights()
function alias_tensor_instance (line 2183) | alias_tensor_instance get_biases()
function friend (line 2200) | friend void serialize(const fc_& item, std::ostream& out)
function friend (line 2275) | friend void to_xml(const fc_& item, std::ostream& out)
type linear_bias_mode (line 2328) | enum linear_bias_mode { LINEAR_HAS_BIAS = 0, LINEAR_NO_BIAS = 1 }
function set_learning_rate_multiplier (line 2370) | void set_learning_rate_multiplier(double val) { learning_rate_multiplier...
function set_num_outputs (line 2373) | void set_num_outputs(long num)
function alias_tensor_instance (line 2452) | alias_tensor_instance get_weights() { return weights(params, 0); }
function alias_tensor_instance (line 2454) | alias_tensor_instance get_biases()
function dpoint (line 2467) | inline dpoint map_input_to_output(const dpoint& p) const { return p; }
function dpoint (line 2468) | inline dpoint map_output_to_input(const dpoint& p) const { return p; }
function friend (line 2473) | friend void serialize(const linear_& item, std::ostream& out)
function friend (line 2520) | friend void to_xml(const linear_& item, std::ostream& out)
function class (line 2553) | class dropout_
function forward_inplace (line 2592) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 2601) | void backward_inplace(
function dpoint (line 2613) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 2614) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 2619) | friend void serialize(const dropout_& item, std::ostream& out)
function clean (line 2636) | void clean(
function friend (line 2650) | friend void to_xml(const dropout_& item, std::ostream& out)
function class (line 2689) | class multiply_
function class (line 2784) | class affine_
function dpoint (line 3036) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 3037) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 3039) | friend void serialize(const add_prev_& /*item*/, std::ostream& out)
function dpoint (line 3139) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 3140) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 3142) | friend void serialize(const mult_prev_& /*item*/, std::ostream& out)
function dpoint (line 3236) | inline dpoint map_input_to_output(const dpoint& p) const { return p; }
function dpoint (line 3237) | inline dpoint map_output_to_input(const dpoint& p) const { return p; }
function friend (line 3239) | friend void serialize(const multm_prev_& /*item*/, std::ostream& out)
function dpoint (line 3355) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 3356) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 3358) | friend void serialize(const resize_prev_to_tagged_& /*item*/, std::ostre...
function friend (line 3451) | friend void serialize(const scale_& item, std::ostream& out)
function dpoint (line 3570) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 3571) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 3573) | friend void serialize(const scale_prev_& item, std::ostream& out)
function disable (line 3644) | void disable()
function forward_inplace (line 3657) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 3665) | void backward_inplace(
function dpoint (line 3678) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 3679) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 3684) | friend void serialize(const relu_& item, std::ostream& out)
function friend (line 3713) | friend void to_xml(const relu_& item, std::ostream& out)
function class (line 3734) | class prelu_
function class (line 3822) | class leaky_relu_
function class (line 3900) | class sig_
function dpoint (line 4001) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 4006) | friend void serialize(const mish_& /*item*/, std::ostream& out)
function dpoint (line 4053) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 4054) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function forward_inplace (line 4056) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 4061) | void backward_inplace(
function friend (line 4074) | friend void serialize(const htan_& /*item*/, std::ostream& out)
function forward_inplace (line 4128) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 4133) | void backward_inplace(
function dpoint (line 4143) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 4144) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 4149) | friend void serialize(const clipped_relu_& item, std::ostream& out)
function friend (line 4172) | friend void to_xml(const clipped_relu_& item, std::ostream& out)
function class (line 4188) | class elu_
function class (line 4267) | class gelu_
function dpoint (line 4299) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 4300) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 4305) | friend void serialize(const gelu_& /*item*/, std::ostream& out)
function forward_inplace (line 4358) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 4363) | void backward_inplace(
function dpoint (line 4373) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 4374) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 4379) | friend void serialize(const smelu_& item, std::ostream& out)
function friend (line 4402) | friend void to_xml(const smelu_& item, std::ostream& out)
function class (line 4417) | class silu_
function dpoint (line 4449) | inline dpoint map_input_to_output (const dpoint& p) const { return p; }
function dpoint (line 4450) | inline dpoint map_output_to_input (const dpoint& p) const { return p; }
function friend (line 4455) | friend void serialize(const silu_& /*item*/, std::ostream& out)
function forward_inplace (line 4497) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 4502) | void backward_inplace(
function friend (line 4515) | friend void serialize(const softmax_& /*item*/, std::ostream& out)
function forward_inplace (line 4565) | void forward_inplace(const tensor& input, tensor& output)
function backward_inplace (line 4570) | void backward_inplace(
function friend (line 4583) | friend void serialize(const softmax_all_& /*item*/, std::ostream& out)
function tag_count (line 4621) | constexpr static size_t tag_count() {return 1 + concat_helper_impl<TAG_T...
function list_tags (line 4622) | static void list_tags(std::ostream& out)
function split (line 4643) | void split(const tensor& input, SUBNET& sub, size_t k_offset)
function tag_count (line 4653) | constexpr static size_t tag_count() {return 1;}
function list_tags (line 4654) | static void list_tags(std::ostream& out)
function split (line 4672) | void split(const tensor& input, SUBNET& sub, size_t k_offset)
function friend (line 4718) | friend void serialize(const concat_& /*item*/, std::ostream& out)
function class (line 4831) | class l2normalize_
function friend (line 4973) | friend void serialize(const extract_& /*item*/, std::ostream& out)
function friend (line 5086) | friend void serialize(const slice_& /*item*/, std::ostream& out)
function dpoint (line 5203) | inline dpoint map_input_to_output (dpoint p) const
function dpoint (line 5209) | inline dpoint map_output_to_input (dpoint p) const
function friend (line 5219) | friend void serialize(const reorg_& /*item*/, std::ostream& out)
function dpoint (line 5291) | inline dpoint map_output_to_input(dpoint p) const
function friend (line 5302) | friend void serialize(const transpose_& /*item*/, std::ostream& out) {
function friend (line 5398) | friend void serialize(const positional_encodings_& /*item*/, std::ostrea...
function set_learning_rate_multiplier (line 5449) | void set_learning_rate_multiplier(double val) { learning_rate_multiplier...
function set_scale_by_freq (line 5451) | void set_scale_by_freq(bool val) { scale_by_freq = val; }
function set_num_embeddings (line 5455) | void set_num_embeddings(unsigned long num)
function set_embedding_dim (line 5466) | void set_embedding_dim(unsigned long dim)
function friend (line 5515) | friend void serialize(const embeddings_& item, std::ostream& out)
function friend (line 5544) | friend void to_xml(const embeddings_& item, std::ostream& out)
type neg_infinity_tag (line 5590) | struct neg_infinity_tag {}
type zero_tag (line 5591) | struct zero_tag {}
function true_type (line 5596) | struct is_special_value<neg_infinity_tag> : std::true_type {}
function true_type (line 5598) | struct is_special_value<zero_tag> : std::true_type {}
function dpoint (line 5628) | inline dpoint map_input_to_output(const dpoint& p) const { return p; }
function dpoint (line 5629) | inline dpoint map_output_to_input(const dpoint& p) const { return p; }
function friend (line 5634) | friend void serialize(const tril_& item, std::ostream& out)
function friend (line 5655) | friend void to_xml(const tril_& item, std::ostream& out)
function check_mask (line 5670) | void check_mask(const tensor& t)
function set_halt_threshold (line 5925) | void set_halt_threshold(float threshold) {
function set_ponder_penalty (line 5929) | void set_ponder_penalty(float penalty) {
function enable_depth_scaling (line 5939) | void enable_depth_scaling() { enable_depth_scaling_ = true; }
function disable_depth_scaling (line 5940) | void disable_depth_scaling() { enable_depth_scaling_ = false; }
function dpoint (line 5943) | inline dpoint map_input_to_output(const dpoint& p) const { return p; }
function dpoint (line 5944) | inline dpoint map_output_to_input(const dpoint& p) const { return p; }
function friend (line 5947) | friend void serialize(const adaptive_computation_time_& item, std::ostre...
function friend (line 5988) | friend void to_xml(const adaptive_computation_time_& item, std::ostream&...
function all_positions_halted (line 6018) | bool all_positions_halted(const resizable_tensor& ch) const {
function compute_ponder_stats (line 6028) | void compute_ponder_stats() {
FILE: dlib/dnn/layers_abstract.h
type fc_bias_mode (line 425) | enum fc_bias_mode
type num_fc_outputs (line 431) | struct num_fc_outputs
function get_learning_rate_multiplier (line 521) | double get_learning_rate_multiplier(
function get_output_k (line 1690) | long get_output_k() const;
function class (line 1905) | class multiply_
type layer_mode (line 2273) | enum layer_mode
function get_learning_rate_multiplier (line 2391) | double get_learning_rate_multiplier(
function class (line 4274) | class transpose_
function get_num_embeddings (line 4510) | unsigned long get_num_embeddings() const;
FILE: dlib/dnn/loss.h
function namespace (line 19) | namespace dlib
function friend (line 218) | friend void serialize(const loss_binary_log_& , std::ostream& out)
type output_label_type (line 254) | typedef unsigned long output_label_type;
function friend (line 335) | friend void serialize(const loss_multiclass_log_& , std::ostream& out)
type weighted_label (line 371) | typedef weighted_label training_label_type;
type output_label_type (line 372) | typedef unsigned long output_label_type;
function friend (line 454) | friend void serialize(const loss_multiclass_log_weighted_& , std::ostrea...
function friend (line 734) | friend void to_xml(const loss_multimulticlass_log_& item, std::ostream& ...
function operator (line 760) | inline bool operator== (const std::string& lhs, const loss_multimulticla...
function operator (line 762) | inline bool operator== (const loss_multimulticlass_log_::classifier_outp...
function class (line 767) | class loss_multibinary_log_
function use_image_pyramid (line 916) | enum class use_image_pyramid : uint8_t
function std (line 1145) | static std::set<std::string> get_labels (
function serialize (line 1205) | inline void serialize(const mmod_options& item, std::ostream& out)
function deserialize (line 1221) | inline void deserialize(mmod_options& item, std::istream& in)
type std (line 1331) | typedef std::vector<mmod_rect> output_label_type;
function options (line 1335) | loss_mmod_(mmod_options options_) : options(options_) {}
function friend (line 1679) | friend void serialize(const loss_mmod_& item, std::ostream& out)
function friend (line 1715) | friend void to_xml(const loss_mmod_& /*item*/, std::ostream& out)
function find_best_detection_window (line 1789) | size_t find_best_detection_window (
function overlaps_any_box_nms (line 1984) | bool overlaps_any_box_nms (
function class (line 2007) | class loss_metric_
function friend (line 2200) | friend void serialize(const loss_metric_& item, std::ostream& out)
function friend (line 2236) | friend void to_xml(const loss_metric_& item, std::ostream& out)
function class (line 2257) | class loss_ranking_
function friend (line 2367) | friend void serialize(const loss_ranking_& , std::ostream& out)
type output_label_type (line 2403) | typedef float output_label_type;
function friend (line 2474) | friend void serialize(const loss_mean_squared_& , std::ostream& out)
type output_label_type (line 2510) | typedef float output_label_type;
function eps (line 2513) | loss_epsilon_insensitive_(double eps) : eps(eps)
function set_epsilon (line 2519) | void set_epsilon(double e)
function friend (line 2600) | friend void serialize(const loss_epsilon_insensitive_& item, std::ostrea...
function friend (line 2621) | friend void to_xml(const loss_epsilon_insensitive_& item, std::ostream& ...
function class (line 2636) | class loss_mean_squared_multioutput_
function friend (line 2724) | friend void serialize(const loss_mean_squared_multioutput_& , std::ostre...
type matrix (line 2760) | typedef matrix<float> output_label_type;
function to_label (line 2766) | void to_label (
function friend (line 2834) | friend void serialize(const loss_binary_log_per_pixel_& , std::ostream& ...
type matrix (line 2883) | typedef matrix<uint16_t> training_label_type;
type matrix (line 2884) | typedef matrix<uint16_t> output_label_type;
function to_label (line 2890) | void to_label (
type matrix (line 3022) | typedef matrix<weighted_label> training_label_type;
type matrix (line 3023) | typedef matrix<uint16_t> output_label_type;
function to_label (line 3029) | void to_label (
function friend (line 3079) | friend void serialize(const loss_multiclass_log_per_pixel_weighted_& , s...
type matrix (line 3123) | typedef matrix<float> output_label_type;
type std (line 3249) | typedef std::array<matrix<float>, _num_channels> output_label_type;
function friend (line 3330) | friend void serialize(const loss_mean_squared_per_channel_and_pixel_& , ...
type matrix (line 3373) | typedef matrix<float,0,1> output_label_type;
function friend (line 3443) | friend void serialize(const loss_dot_& , std::ostream& out)
type yolo_options (line 3474) | struct yolo_options
function serialize (line 3525) | inline void serialize(const yolo_options& item, std::ostream& out)
function deserialize (line 3542) | inline void deserialize(yolo_options& item, std::istream& in)
function tensor_to_dets (line 3602) | void tensor_to_dets (
function tensor_to_loss (line 3619) | void tensor_to_loss (
function tag_count (line 3636) | constexpr static size_t tag_count() { return 1; }
function list_tags (line 3638) | static void list_tags(std::ostream& out) { out << "tag" << tag_id<TAG_TY...
function tensor_to_dets (line 3641) | void tensor_to_dets (
function tensor_to_loss (line 3701) | void tensor_to_loss (
function list_tags (line 3874) | static void list_tags(std::ostream& out) { impl::yolo_helper_impl<TAG_TY...
type std (line 3879) | typedef std::vector<yolo_rect> output_label_type;
function tag_count (line 3881) | constexpr static size_t tag_count() { return impl::yolo_helper_impl<TAG_...
function options (line 3885) | loss_yolo_(const yolo_options& options) : options(options) { }
function friend (line 3950) | friend void serialize(const loss_yolo_& item, std::ostream& out)
function friend (line 4002) | friend void to_xml(const loss_yolo_& /*item*/, std::ostream& out)
function overlaps_any_box_nms (line 4011) | inline bool overlaps_any_box_nms (
FILE: dlib/dnn/loss_abstract.h
function class (line 14) | class EXAMPLE_LOSS_LAYER_
function class (line 164) | class loss_binary_hinge_
function class (line 229) | class loss_binary_log_
function class (line 304) | class loss_multiclass_log_
function class (line 405) | class loss_multiclass_log_weighted_
function num_classes (line 576) | size_t num_classes(
function operator (line 694) | inline bool operator== (const loss_multimulticlass_log_::classifier_outp...
function class (line 699) | class loss_multibinary_log_
type class (line 815) | enum class
type mmod_options (line 821) | struct mmod_options
type std (line 1003) | typedef std::vector<mmod_rect> output_label_type;
type matrix (line 1119) | typedef matrix<float,0,1> output_label_type;
function get_margin (line 1164) | float get_margin() const;
type output_label_type (line 1308) | typedef float output_label_type;
function get_epsilon (line 1327) | double get_epsilon (
function class (line 1450) | class loss_mean_squared_multioutput_
function class (line 1511) | class loss_binary_log_per_pixel_
function class (line 1573) | class loss_multiclass_log_per_pixel_
function class (line 1638) | class loss_multiclass_log_per_pixel_weighted_
function class (line 1707) | class loss_mean_squared_per_pixel_
type std (line 1779) | typedef std::array<matrix<float>, _num_channels> output_label_type;
function class (line 1826) | class loss_dot_
type yolo_options (line 1888) | struct yolo_options
function serialize (line 1963) | void serialize(const yolo_options& item, std::ostream& out)
FILE: dlib/dnn/solvers.h
function namespace (line 11) | namespace dlib
function friend (line 122) | friend void serialize(const sgd& item, std::ostream& out)
function class (line 195) | class adam
function friend (line 314) | friend void serialize(const adam& item, std::ostream& out)
FILE: dlib/dnn/solvers_abstract.h
function get_weight_decay (line 119) | float get_weight_decay () const;
FILE: dlib/dnn/trainer.h
function namespace (line 28) | namespace dlib
function force_flush_to_disk (line 58) | enum class force_flush_to_disk {
function train (line 353) | void train (
function std (line 424) | const std::string& get_synchronization_file (
function clear_average_loss (line 444) | void clear_average_loss (
function set_learning_rate (line 451) | void set_learning_rate (
function set_min_learning_rate (line 475) | void set_min_learning_rate (
function set_iterations_without_progress_threshold (line 511) | void set_iterations_without_progress_threshold (
function set_test_iterations_without_progress_threshold (line 532) | void set_test_iterations_without_progress_threshold (
function set_learning_rate_shrink_factor (line 553) | void set_learning_rate_shrink_factor (
function record_loss (line 595) | void record_loss(double loss)
function compute_parameter_gradients (line 631) | double compute_parameter_gradients(size_t device, job_t& next_job, const...
function update_parameters (line 649) | void update_parameters(size_t device)
function thread (line 656) | void thread() try
function init (line 874) | void init()
function friend (line 913) | friend void serialize(const dnn_trainer& item, std::ostream& out)
function drop_some_previous_loss_values (line 1010) | void drop_some_previous_loss_values()
function drop_some_test_previous_loss_values (line 1017) | void drop_some_test_previous_loss_values()
function loss_increased_since_last_disk_sync (line 1101) | bool loss_increased_since_last_disk_sync()
function print_progress (line 1245) | void print_progress()
function print_periodic_verbose_status (line 1263) | void print_periodic_verbose_status()
FILE: dlib/dnn/trainer_abstract.h
type class (line 17) | enum class
type typename (line 58) | typedef typename net_type::input_type input_type;
FILE: dlib/dnn/utilities.h
function randomize_parameters (line 16) | inline void randomize_parameters (
FILE: dlib/dnn/utilities_abstract.h
function namespace (line 9) | namespace dlib
FILE: dlib/dnn/validation.h
function namespace (line 11) | namespace dlib
FILE: dlib/dnn/visitors.h
function namespace (line 11) | namespace dlib
function class (line 89) | class visitor_net_map_output_to_input
function dpoint (line 160) | dpoint input_tensor_to_output_tensor(
function dpoint (line 171) | dpoint output_tensor_to_input_tensor(
function namespace (line 195) | namespace impl
function namespace (line 241) | namespace impl
function namespace (line 425) | namespace impl
function namespace (line 537) | namespace impl
function namespace (line 613) | namespace impl
function update (line 1111) | void update(const size_t i)
function end_node (line 1120) | void end_node()
FILE: dlib/dnn/visitors_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/enable_if.h
function namespace (line 11) | namespace dlib
type T (line 39) | typedef T type;
FILE: dlib/entropy_decoder.h
function namespace (line 13) | namespace dlib
FILE: dlib/entropy_decoder/entropy_decoder_kernel_1.cpp
type dlib (line 12) | namespace dlib
function uint32 (line 201) | uint32 entropy_decoder_kernel_1::
FILE: dlib/entropy_decoder/entropy_decoder_kernel_2.cpp
type dlib (line 12) | namespace dlib
function uint32 (line 205) | uint32 entropy_decoder_kernel_2::
FILE: dlib/entropy_decoder/entropy_decoder_kernel_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_decoder/entropy_decoder_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/entropy_decoder_model.h
function namespace (line 16) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_1.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_2.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_3.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_4.h
function namespace (line 11) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_5.h
function namespace (line 11) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_6.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_decoder_model/entropy_decoder_model_kernel_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/entropy_encoder.h
function namespace (line 13) | namespace dlib
FILE: dlib/entropy_encoder/entropy_encoder_kernel_1.cpp
type dlib (line 9) | namespace dlib
FILE: dlib/entropy_encoder/entropy_encoder_kernel_1.h
function namespace (line 11) | namespace dlib
FILE: dlib/entropy_encoder/entropy_encoder_kernel_2.cpp
type dlib (line 9) | namespace dlib
FILE: dlib/entropy_encoder/entropy_encoder_kernel_2.h
function namespace (line 11) | namespace dlib
FILE: dlib/entropy_encoder/entropy_encoder_kernel_abstract.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_encoder/entropy_encoder_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/entropy_encoder_model.h
function namespace (line 19) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_1.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_2.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_3.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_4.h
function namespace (line 12) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_5.h
function namespace (line 12) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_6.h
function namespace (line 10) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_abstract.h
function namespace (line 8) | namespace dlib
FILE: dlib/entropy_encoder_model/entropy_encoder_model_kernel_c.h
function namespace (line 11) | namespace dlib
FILE: dlib/error.h
function namespace (line 17) | namespace dlib
function class (line 182) | class fatal_error : public error
function error (line 212) | fatal_error(
function error (line 231) | error(EFATAL) {check_for_previous_fatal_errors();}
function dlib_fatal_error_terminate (line 247) | static inline void dlib_fatal_error_terminate (
function check_for_previous_fatal_errors (line 255) | void check_for_previous_fatal_errors()
function class (line 298) | class gui_error : public error
FILE: dlib/external/cblas/cblas.h
type CBLAS_ORDER (line 11) | enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102}
type CBLAS_TRANSPOSE (line 12) | enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113}
type CBLAS_UPLO (line 13) | enum CBLAS_UPLO {CblasUpper=121, CblasLower=122}
type CBLAS_DIAG (line 14) | enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132}
type CBLAS_SIDE (line 15) | enum CBLAS_SIDE {CblasLeft=141, CblasRight=142}
type CBLAS_ORDER (line 152) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 153) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 157) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 158) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 162) | enum CBLAS_ORDER
type CBLAS_UPLO (line 162) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 163) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 163) | enum CBLAS_DIAG
type CBLAS_ORDER (line 166) | enum CBLAS_ORDER
type CBLAS_UPLO (line 166) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 167) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 167) | enum CBLAS_DIAG
type CBLAS_ORDER (line 170) | enum CBLAS_ORDER
type CBLAS_UPLO (line 170) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 171) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 171) | enum CBLAS_DIAG
type CBLAS_ORDER (line 173) | enum CBLAS_ORDER
type CBLAS_UPLO (line 173) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 174) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 174) | enum CBLAS_DIAG
type CBLAS_ORDER (line 177) | enum CBLAS_ORDER
type CBLAS_UPLO (line 177) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 178) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 178) | enum CBLAS_DIAG
type CBLAS_ORDER (line 181) | enum CBLAS_ORDER
type CBLAS_UPLO (line 181) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 182) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 182) | enum CBLAS_DIAG
type CBLAS_ORDER (line 185) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 186) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 190) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 191) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 195) | enum CBLAS_ORDER
type CBLAS_UPLO (line 195) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 196) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 196) | enum CBLAS_DIAG
type CBLAS_ORDER (line 199) | enum CBLAS_ORDER
type CBLAS_UPLO (line 199) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 200) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 200) | enum CBLAS_DIAG
type CBLAS_ORDER (line 203) | enum CBLAS_ORDER
type CBLAS_UPLO (line 203) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 204) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 204) | enum CBLAS_DIAG
type CBLAS_ORDER (line 206) | enum CBLAS_ORDER
type CBLAS_UPLO (line 206) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 207) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 207) | enum CBLAS_DIAG
type CBLAS_ORDER (line 210) | enum CBLAS_ORDER
type CBLAS_UPLO (line 210) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 211) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 211) | enum CBLAS_DIAG
type CBLAS_ORDER (line 214) | enum CBLAS_ORDER
type CBLAS_UPLO (line 214) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 215) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 215) | enum CBLAS_DIAG
type CBLAS_ORDER (line 218) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 219) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 223) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 224) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 228) | enum CBLAS_ORDER
type CBLAS_UPLO (line 228) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 229) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 229) | enum CBLAS_DIAG
type CBLAS_ORDER (line 232) | enum CBLAS_ORDER
type CBLAS_UPLO (line 232) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 233) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 233) | enum CBLAS_DIAG
type CBLAS_ORDER (line 236) | enum CBLAS_ORDER
type CBLAS_UPLO (line 236) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 237) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 237) | enum CBLAS_DIAG
type CBLAS_ORDER (line 239) | enum CBLAS_ORDER
type CBLAS_UPLO (line 239) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 240) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 240) | enum CBLAS_DIAG
type CBLAS_ORDER (line 243) | enum CBLAS_ORDER
type CBLAS_UPLO (line 243) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 244) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 244) | enum CBLAS_DIAG
type CBLAS_ORDER (line 247) | enum CBLAS_ORDER
type CBLAS_UPLO (line 247) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 248) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 248) | enum CBLAS_DIAG
type CBLAS_ORDER (line 251) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 252) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 256) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 257) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 261) | enum CBLAS_ORDER
type CBLAS_UPLO (line 261) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 262) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 262) | enum CBLAS_DIAG
type CBLAS_ORDER (line 265) | enum CBLAS_ORDER
type CBLAS_UPLO (line 265) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 266) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 266) | enum CBLAS_DIAG
type CBLAS_ORDER (line 269) | enum CBLAS_ORDER
type CBLAS_UPLO (line 269) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 270) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 270) | enum CBLAS_DIAG
type CBLAS_ORDER (line 272) | enum CBLAS_ORDER
type CBLAS_UPLO (line 272) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 273) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 273) | enum CBLAS_DIAG
type CBLAS_ORDER (line 276) | enum CBLAS_ORDER
type CBLAS_UPLO (line 276) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 277) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 277) | enum CBLAS_DIAG
type CBLAS_ORDER (line 280) | enum CBLAS_ORDER
type CBLAS_UPLO (line 280) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 281) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 281) | enum CBLAS_DIAG
type CBLAS_ORDER (line 288) | enum CBLAS_ORDER
type CBLAS_UPLO (line 288) | enum CBLAS_UPLO
type CBLAS_ORDER (line 292) | enum CBLAS_ORDER
type CBLAS_UPLO (line 292) | enum CBLAS_UPLO
type CBLAS_ORDER (line 296) | enum CBLAS_ORDER
type CBLAS_UPLO (line 296) | enum CBLAS_UPLO
type CBLAS_ORDER (line 300) | enum CBLAS_ORDER
type CBLAS_ORDER (line 303) | enum CBLAS_ORDER
type CBLAS_UPLO (line 303) | enum CBLAS_UPLO
type CBLAS_ORDER (line 306) | enum CBLAS_ORDER
type CBLAS_UPLO (line 306) | enum CBLAS_UPLO
type CBLAS_ORDER (line 309) | enum CBLAS_ORDER
type CBLAS_UPLO (line 309) | enum CBLAS_UPLO
type CBLAS_ORDER (line 313) | enum CBLAS_ORDER
type CBLAS_UPLO (line 313) | enum CBLAS_UPLO
type CBLAS_ORDER (line 317) | enum CBLAS_ORDER
type CBLAS_UPLO (line 317) | enum CBLAS_UPLO
type CBLAS_ORDER (line 321) | enum CBLAS_ORDER
type CBLAS_UPLO (line 321) | enum CBLAS_UPLO
type CBLAS_ORDER (line 325) | enum CBLAS_ORDER
type CBLAS_UPLO (line 325) | enum CBLAS_UPLO
type CBLAS_ORDER (line 329) | enum CBLAS_ORDER
type CBLAS_ORDER (line 332) | enum CBLAS_ORDER
type CBLAS_UPLO (line 332) | enum CBLAS_UPLO
type CBLAS_ORDER (line 335) | enum CBLAS_ORDER
type CBLAS_UPLO (line 335) | enum CBLAS_UPLO
type CBLAS_ORDER (line 338) | enum CBLAS_ORDER
type CBLAS_UPLO (line 338) | enum CBLAS_UPLO
type CBLAS_ORDER (line 342) | enum CBLAS_ORDER
type CBLAS_UPLO (line 342) | enum CBLAS_UPLO
type CBLAS_ORDER (line 350) | enum CBLAS_ORDER
type CBLAS_UPLO (line 350) | enum CBLAS_UPLO
type CBLAS_ORDER (line 354) | enum CBLAS_ORDER
type CBLAS_UPLO (line 354) | enum CBLAS_UPLO
type CBLAS_ORDER (line 358) | enum CBLAS_ORDER
type CBLAS_UPLO (line 358) | enum CBLAS_UPLO
type CBLAS_ORDER (line 362) | enum CBLAS_ORDER
type CBLAS_ORDER (line 365) | enum CBLAS_ORDER
type CBLAS_ORDER (line 368) | enum CBLAS_ORDER
type CBLAS_UPLO (line 368) | enum CBLAS_UPLO
type CBLAS_ORDER (line 371) | enum CBLAS_ORDER
type CBLAS_UPLO (line 371) | enum CBLAS_UPLO
type CBLAS_ORDER (line 374) | enum CBLAS_ORDER
type CBLAS_UPLO (line 374) | enum CBLAS_UPLO
type CBLAS_ORDER (line 377) | enum CBLAS_ORDER
type CBLAS_UPLO (line 377) | enum CBLAS_UPLO
type CBLAS_ORDER (line 381) | enum CBLAS_ORDER
type CBLAS_UPLO (line 381) | enum CBLAS_UPLO
type CBLAS_ORDER (line 385) | enum CBLAS_ORDER
type CBLAS_UPLO (line 385) | enum CBLAS_UPLO
type CBLAS_ORDER (line 389) | enum CBLAS_ORDER
type CBLAS_UPLO (line 389) | enum CBLAS_UPLO
type CBLAS_ORDER (line 393) | enum CBLAS_ORDER
type CBLAS_ORDER (line 396) | enum CBLAS_ORDER
type CBLAS_ORDER (line 399) | enum CBLAS_ORDER
type CBLAS_UPLO (line 399) | enum CBLAS_UPLO
type CBLAS_ORDER (line 402) | enum CBLAS_ORDER
type CBLAS_UPLO (line 402) | enum CBLAS_UPLO
type CBLAS_ORDER (line 405) | enum CBLAS_ORDER
type CBLAS_UPLO (line 405) | enum CBLAS_UPLO
type CBLAS_ORDER (line 408) | enum CBLAS_ORDER
type CBLAS_UPLO (line 408) | enum CBLAS_UPLO
type CBLAS_ORDER (line 421) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 421) | enum CBLAS_TRANSPOSE
type CBLAS_TRANSPOSE (line 422) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 426) | enum CBLAS_ORDER
type CBLAS_SIDE (line 426) | enum CBLAS_SIDE
type CBLAS_UPLO (line 427) | enum CBLAS_UPLO
type CBLAS_ORDER (line 431) | enum CBLAS_ORDER
type CBLAS_UPLO (line 431) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 432) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 435) | enum CBLAS_ORDER
type CBLAS_UPLO (line 435) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 436) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 440) | enum CBLAS_ORDER
type CBLAS_SIDE (line 440) | enum CBLAS_SIDE
type CBLAS_UPLO (line 441) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 441) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 442) | enum CBLAS_DIAG
type CBLAS_ORDER (line 445) | enum CBLAS_ORDER
type CBLAS_SIDE (line 445) | enum CBLAS_SIDE
type CBLAS_UPLO (line 446) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 446) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 447) | enum CBLAS_DIAG
type CBLAS_ORDER (line 451) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 451) | enum CBLAS_TRANSPOSE
type CBLAS_TRANSPOSE (line 452) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 456) | enum CBLAS_ORDER
type CBLAS_SIDE (line 456) | enum CBLAS_SIDE
type CBLAS_UPLO (line 457) | enum CBLAS_UPLO
type CBLAS_ORDER (line 461) | enum CBLAS_ORDER
type CBLAS_UPLO (line 461) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 462) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 465) | enum CBLAS_ORDER
type CBLAS_UPLO (line 465) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 466) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 470) | enum CBLAS_ORDER
type CBLAS_SIDE (line 470) | enum CBLAS_SIDE
type CBLAS_UPLO (line 471) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 471) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 472) | enum CBLAS_DIAG
type CBLAS_ORDER (line 475) | enum CBLAS_ORDER
type CBLAS_SIDE (line 475) | enum CBLAS_SIDE
type CBLAS_UPLO (line 476) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 476) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 477) | enum CBLAS_DIAG
type CBLAS_ORDER (line 481) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 481) | enum CBLAS_TRANSPOSE
type CBLAS_TRANSPOSE (line 482) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 486) | enum CBLAS_ORDER
type CBLAS_SIDE (line 486) | enum CBLAS_SIDE
type CBLAS_UPLO (line 487) | enum CBLAS_UPLO
type CBLAS_ORDER (line 491) | enum CBLAS_ORDER
type CBLAS_UPLO (line 491) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 492) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 495) | enum CBLAS_ORDER
type CBLAS_UPLO (line 495) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 496) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 500) | enum CBLAS_ORDER
type CBLAS_SIDE (line 500) | enum CBLAS_SIDE
type CBLAS_UPLO (line 501) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 501) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 502) | enum CBLAS_DIAG
type CBLAS_ORDER (line 505) | enum CBLAS_ORDER
type CBLAS_SIDE (line 505) | enum CBLAS_SIDE
type CBLAS_UPLO (line 506) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 506) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 507) | enum CBLAS_DIAG
type CBLAS_ORDER (line 511) | enum CBLAS_ORDER
type CBLAS_TRANSPOSE (line 511) | enum CBLAS_TRANSPOSE
type CBLAS_TRANSPOSE (line 512) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 516) | enum CBLAS_ORDER
type CBLAS_SIDE (line 516) | enum CBLAS_SIDE
type CBLAS_UPLO (line 517) | enum CBLAS_UPLO
type CBLAS_ORDER (line 521) | enum CBLAS_ORDER
type CBLAS_UPLO (line 521) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 522) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 525) | enum CBLAS_ORDER
type CBLAS_UPLO (line 525) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 526) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 530) | enum CBLAS_ORDER
type CBLAS_SIDE (line 530) | enum CBLAS_SIDE
type CBLAS_UPLO (line 531) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 531) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 532) | enum CBLAS_DIAG
type CBLAS_ORDER (line 535) | enum CBLAS_ORDER
type CBLAS_SIDE (line 535) | enum CBLAS_SIDE
type CBLAS_UPLO (line 536) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 536) | enum CBLAS_TRANSPOSE
type CBLAS_DIAG (line 537) | enum CBLAS_DIAG
type CBLAS_ORDER (line 545) | enum CBLAS_ORDER
type CBLAS_SIDE (line 545) | enum CBLAS_SIDE
type CBLAS_UPLO (line 546) | enum CBLAS_UPLO
type CBLAS_ORDER (line 550) | enum CBLAS_ORDER
type CBLAS_UPLO (line 550) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 551) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 554) | enum CBLAS_ORDER
type CBLAS_UPLO (line 554) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 555) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 560) | enum CBLAS_ORDER
type CBLAS_SIDE (line 560) | enum CBLAS_SIDE
type CBLAS_UPLO (line 561) | enum CBLAS_UPLO
type CBLAS_ORDER (line 565) | enum CBLAS_ORDER
type CBLAS_UPLO (line 565) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 566) | enum CBLAS_TRANSPOSE
type CBLAS_ORDER (line 569) | enum CBLAS_ORDER
type CBLAS_UPLO (line 569) | enum CBLAS_UPLO
type CBLAS_TRANSPOSE (line 570) | enum CBLAS_TRANSPOSE
FILE: dlib/external/cblas/cblas_caxpy.c
function cblas_caxpy (line 11) | void cblas_caxpy( const CBLAS_INT_TYPE N, const void *alpha, const void *X,
FILE: dlib/external/cblas/cblas_ccopy.c
function cblas_ccopy (line 11) | void cblas_ccopy( const CBLAS_INT_TYPE N, const void *X,
FILE: dlib/external/cblas/cblas_cdotc_sub.c
function cblas_cdotc_sub (line 12) | void cblas_cdotc_sub( const CBLAS_INT_TYPE N, const void *X, const CBLAS...
FILE: dlib/external/cblas/cblas_cdotu_sub.c
function cblas_cdotu_sub (line 12) | void cblas_cdotu_sub( const CBLAS_INT_TYPE N, const void *X,
FILE: dlib/external/cblas/cblas_cgbmv.c
function cblas_cgbmv (line 12) | void cblas_cgbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_cgemm.c
function cblas_cgemm (line 12) | void cblas_cgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOS...
FILE: dlib/external/cblas/cblas_cgemv.c
function cblas_cgemv (line 12) | void cblas_cgemv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_cgerc.c
function cblas_cgerc (line 12) | void cblas_cgerc(const enum CBLAS_ORDER order, const CBLAS_INT_TYPE M, c...
FILE: dlib/external/cblas/cblas_cgeru.c
function cblas_cgeru (line 10) | void cblas_cgeru(const enum CBLAS_ORDER order, const CBLAS_INT_TYPE M, c...
FILE: dlib/external/cblas/cblas_chbmv.c
function cblas_chbmv (line 12) | void cblas_chbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_chemm.c
function cblas_chemm (line 12) | void cblas_chemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_chemv.c
function cblas_chemv (line 12) | void cblas_chemv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_cher.c
function cblas_cher (line 12) | void cblas_cher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_cher2.c
function cblas_cher2 (line 12) | void cblas_cher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_cher2k.c
function cblas_cher2k (line 12) | void cblas_cher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_cherk.c
function cblas_cherk (line 12) | void cblas_cherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_chpmv.c
function cblas_chpmv (line 12) | void cblas_chpmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_chpr.c
function cblas_chpr (line 12) | void cblas_chpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_chpr2.c
function cblas_chpr2 (line 12) | void cblas_chpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_cscal.c
function cblas_cscal (line 11) | void cblas_cscal( const CBLAS_INT_TYPE N, const void *alpha, void *X,
FILE: dlib/external/cblas/cblas_csscal.c
function cblas_csscal (line 11) | void cblas_csscal( const CBLAS_INT_TYPE N, const float alpha, void *X,
FILE: dlib/external/cblas/cblas_cswap.c
function cblas_cswap (line 11) | void cblas_cswap( const CBLAS_INT_TYPE N, void *X, const CBLAS_INT_TYPE ...
FILE: dlib/external/cblas/cblas_csymm.c
function cblas_csymm (line 12) | void cblas_csymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_csyr2k.c
function cblas_csyr2k (line 12) | void cblas_csyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_csyrk.c
function cblas_csyrk (line 12) | void cblas_csyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ctbmv.c
function cblas_ctbmv (line 10) | void cblas_ctbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ctbsv.c
function cblas_ctbsv (line 10) | void cblas_ctbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ctpmv.c
function cblas_ctpmv (line 10) | void cblas_ctpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ctpsv.c
function cblas_ctpsv (line 10) | void cblas_ctpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ctrmm.c
function cblas_ctrmm (line 12) | void cblas_ctrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_ctrmv.c
function cblas_ctrmv (line 10) | void cblas_ctrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ctrsm.c
function cblas_ctrsm (line 12) | void cblas_ctrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_ctrsv.c
function cblas_ctrsv (line 10) | void cblas_ctrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dasum.c
function cblas_dasum (line 12) | double cblas_dasum( const CBLAS_INT_TYPE N, const double *X, const CBLAS...
FILE: dlib/external/cblas/cblas_daxpy.c
function cblas_daxpy (line 11) | void cblas_daxpy( const CBLAS_INT_TYPE N, const double alpha, const doub...
FILE: dlib/external/cblas/cblas_dcopy.c
function cblas_dcopy (line 11) | void cblas_dcopy( const CBLAS_INT_TYPE N, const double *X,
FILE: dlib/external/cblas/cblas_ddot.c
function cblas_ddot (line 12) | double cblas_ddot( const CBLAS_INT_TYPE N, const double *X,
FILE: dlib/external/cblas/cblas_dgbmv.c
function cblas_dgbmv (line 11) | void cblas_dgbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_dgemm.c
function cblas_dgemm (line 12) | void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOS...
FILE: dlib/external/cblas/cblas_dgemv.c
function cblas_dgemv (line 11) | void cblas_dgemv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_dger.c
function cblas_dger (line 12) | void cblas_dger(const enum CBLAS_ORDER order, const CBLAS_INT_TYPE M, co...
FILE: dlib/external/cblas/cblas_dnrm2.c
function cblas_dnrm2 (line 12) | double cblas_dnrm2( const CBLAS_INT_TYPE N, const double *X, const CBLAS...
FILE: dlib/external/cblas/cblas_drot.c
function cblas_drot (line 11) | void cblas_drot(const CBLAS_INT_TYPE N, double *X, const CBLAS_INT_TYPE ...
FILE: dlib/external/cblas/cblas_drotg.c
function cblas_drotg (line 11) | void cblas_drotg( double *a, double *b, double *c, double *s)
FILE: dlib/external/cblas/cblas_drotm.c
function cblas_drotm (line 3) | void cblas_drotm( const CBLAS_INT_TYPE N, double *X, const CBLAS_INT_TYP...
FILE: dlib/external/cblas/cblas_drotmg.c
function cblas_drotmg (line 11) | void cblas_drotmg( double *d1, double *d2, double *b1,
FILE: dlib/external/cblas/cblas_dsbmv.c
function cblas_dsbmv (line 12) | void cblas_dsbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_dscal.c
function cblas_dscal (line 11) | void cblas_dscal( const CBLAS_INT_TYPE N, const double alpha, double *X,
FILE: dlib/external/cblas/cblas_dsdot.c
function cblas_dsdot (line 12) | double cblas_dsdot( const CBLAS_INT_TYPE N, const float *X,
FILE: dlib/external/cblas/cblas_dspmv.c
function cblas_dspmv (line 13) | void cblas_dspmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_dspr.c
function cblas_dspr (line 12) | void cblas_dspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dspr2.c
function cblas_dspr2 (line 10) | void cblas_dspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dswap.c
function cblas_dswap (line 11) | void cblas_dswap( const CBLAS_INT_TYPE N, double *X, const CBLAS_INT_TYP...
FILE: dlib/external/cblas/cblas_dsymm.c
function cblas_dsymm (line 12) | void cblas_dsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_dsymv.c
function cblas_dsymv (line 12) | void cblas_dsymv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_dsyr.c
function cblas_dsyr (line 12) | void cblas_dsyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dsyr2.c
function cblas_dsyr2 (line 12) | void cblas_dsyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dsyr2k.c
function cblas_dsyr2k (line 12) | void cblas_dsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dsyrk.c
function cblas_dsyrk (line 12) | void cblas_dsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dtbmv.c
function cblas_dtbmv (line 10) | void cblas_dtbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dtbsv.c
function cblas_dtbsv (line 10) | void cblas_dtbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dtpmv.c
function cblas_dtpmv (line 10) | void cblas_dtpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dtpsv.c
function cblas_dtpsv (line 10) | void cblas_dtpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dtrmm.c
function cblas_dtrmm (line 12) | void cblas_dtrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_dtrmv.c
function cblas_dtrmv (line 12) | void cblas_dtrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dtrsm.c
function cblas_dtrsm (line 12) | void cblas_dtrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_dtrsv.c
function cblas_dtrsv (line 10) | void cblas_dtrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_dzasum.c
function cblas_dzasum (line 12) | double cblas_dzasum( const CBLAS_INT_TYPE N, const void *X, const CBLAS_...
FILE: dlib/external/cblas/cblas_dznrm2.c
function cblas_dznrm2 (line 12) | double cblas_dznrm2( const CBLAS_INT_TYPE N, const void *X, const CBLAS_...
FILE: dlib/external/cblas/cblas_icamax.c
function CBLAS_INDEX (line 12) | CBLAS_INDEX cblas_icamax( const CBLAS_INT_TYPE N, const void *X, const C...
FILE: dlib/external/cblas/cblas_idamax.c
function CBLAS_INDEX (line 12) | CBLAS_INDEX cblas_idamax( const CBLAS_INT_TYPE N, const double *X, const...
FILE: dlib/external/cblas/cblas_isamax.c
function CBLAS_INDEX (line 12) | CBLAS_INDEX cblas_isamax( const CBLAS_INT_TYPE N, const float *X, const ...
FILE: dlib/external/cblas/cblas_izamax.c
function CBLAS_INDEX (line 12) | CBLAS_INDEX cblas_izamax( const CBLAS_INT_TYPE N, const void *X, const C...
FILE: dlib/external/cblas/cblas_sasum.c
function cblas_sasum (line 12) | float cblas_sasum( const CBLAS_INT_TYPE N, const float *X, const CBLAS_I...
FILE: dlib/external/cblas/cblas_saxpy.c
function cblas_saxpy (line 12) | void cblas_saxpy( const CBLAS_INT_TYPE N, const float alpha, const float...
FILE: dlib/external/cblas/cblas_scasum.c
function cblas_scasum (line 12) | float cblas_scasum( const CBLAS_INT_TYPE N, const void *X, const CBLAS_I...
FILE: dlib/external/cblas/cblas_scnrm2.c
function cblas_scnrm2 (line 12) | float cblas_scnrm2( const CBLAS_INT_TYPE N, const void *X, const CBLAS_I...
FILE: dlib/external/cblas/cblas_scopy.c
function cblas_scopy (line 11) | void cblas_scopy( const CBLAS_INT_TYPE N, const float *X,
FILE: dlib/external/cblas/cblas_sdot.c
function cblas_sdot (line 12) | float cblas_sdot( const CBLAS_INT_TYPE N, const float *X,
FILE: dlib/external/cblas/cblas_sdsdot.c
function cblas_sdsdot (line 12) | float cblas_sdsdot( const CBLAS_INT_TYPE N, const float alpha, const flo...
FILE: dlib/external/cblas/cblas_sgbmv.c
function cblas_sgbmv (line 12) | void cblas_sgbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_sgemm.c
function cblas_sgemm (line 12) | void cblas_sgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOS...
FILE: dlib/external/cblas/cblas_sgemv.c
function cblas_sgemv (line 11) | void cblas_sgemv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_sger.c
function cblas_sger (line 12) | void cblas_sger(const enum CBLAS_ORDER order, const CBLAS_INT_TYPE M, co...
FILE: dlib/external/cblas/cblas_snrm2.c
function cblas_snrm2 (line 12) | float cblas_snrm2( const CBLAS_INT_TYPE N, const float *X, const CBLAS_I...
FILE: dlib/external/cblas/cblas_srot.c
function cblas_srot (line 11) | void cblas_srot( const CBLAS_INT_TYPE N, float *X, const CBLAS_INT_TYPE ...
FILE: dlib/external/cblas/cblas_srotg.c
function cblas_srotg (line 11) | void cblas_srotg( float *a, float *b, float *c, float *s)
FILE: dlib/external/cblas/cblas_srotm.c
function cblas_srotm (line 11) | void cblas_srotm( const CBLAS_INT_TYPE N, float *X, const CBLAS_INT_TYPE...
FILE: dlib/external/cblas/cblas_srotmg.c
function cblas_srotmg (line 11) | void cblas_srotmg( float *d1, float *d2, float *b1,
FILE: dlib/external/cblas/cblas_ssbmv.c
function cblas_ssbmv (line 11) | void cblas_ssbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_sscal.c
function cblas_sscal (line 11) | void cblas_sscal( const CBLAS_INT_TYPE N, const float alpha, float *X,
FILE: dlib/external/cblas/cblas_sspmv.c
function cblas_sspmv (line 11) | void cblas_sspmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_sspr.c
function cblas_sspr (line 12) | void cblas_sspr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_sspr2.c
function cblas_sspr2 (line 12) | void cblas_sspr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_sswap.c
function cblas_sswap (line 11) | void cblas_sswap( const CBLAS_INT_TYPE N, float *X, const CBLAS_INT_TYPE...
FILE: dlib/external/cblas/cblas_ssymm.c
function cblas_ssymm (line 12) | void cblas_ssymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_ssymv.c
function cblas_ssymv (line 12) | void cblas_ssymv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_ssyr.c
function cblas_ssyr (line 11) | void cblas_ssyr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ssyr2.c
function cblas_ssyr2 (line 12) | void cblas_ssyr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ssyr2k.c
function cblas_ssyr2k (line 12) | void cblas_ssyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ssyrk.c
function cblas_ssyrk (line 12) | void cblas_ssyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_stbmv.c
function cblas_stbmv (line 10) | void cblas_stbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_stbsv.c
function cblas_stbsv (line 10) | void cblas_stbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_stpmv.c
function cblas_stpmv (line 11) | void cblas_stpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_stpsv.c
function cblas_stpsv (line 10) | void cblas_stpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_strmm.c
function cblas_strmm (line 12) | void cblas_strmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_strmv.c
function cblas_strmv (line 11) | void cblas_strmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_strsm.c
function cblas_strsm (line 12) | void cblas_strsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_strsv.c
function cblas_strsv (line 10) | void cblas_strsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_xerbla.c
function cblas_xerbla (line 8) | void cblas_xerbla(int info, const char *rout, const char *form, ...)
FILE: dlib/external/cblas/cblas_zaxpy.c
function cblas_zaxpy (line 11) | void cblas_zaxpy( const CBLAS_INT_TYPE N, const void *alpha, const void *X,
FILE: dlib/external/cblas/cblas_zcopy.c
function cblas_zcopy (line 11) | void cblas_zcopy( const CBLAS_INT_TYPE N, const void *X,
FILE: dlib/external/cblas/cblas_zdotc_sub.c
function cblas_zdotc_sub (line 12) | void cblas_zdotc_sub( const CBLAS_INT_TYPE N, const void *X, const CBLAS...
FILE: dlib/external/cblas/cblas_zdotu_sub.c
function cblas_zdotu_sub (line 12) | void cblas_zdotu_sub( const CBLAS_INT_TYPE N, const void *X, const CBLAS...
FILE: dlib/external/cblas/cblas_zdscal.c
function cblas_zdscal (line 11) | void cblas_zdscal( const CBLAS_INT_TYPE N, const double alpha, void *X,
FILE: dlib/external/cblas/cblas_zgbmv.c
function cblas_zgbmv (line 12) | void cblas_zgbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_zgemm.c
function cblas_zgemm (line 12) | void cblas_zgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOS...
FILE: dlib/external/cblas/cblas_zgemv.c
function cblas_zgemv (line 12) | void cblas_zgemv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_zgerc.c
function cblas_zgerc (line 12) | void cblas_zgerc(const enum CBLAS_ORDER order, const CBLAS_INT_TYPE M, c...
FILE: dlib/external/cblas/cblas_zgeru.c
function cblas_zgeru (line 10) | void cblas_zgeru(const enum CBLAS_ORDER order, const CBLAS_INT_TYPE M, c...
FILE: dlib/external/cblas/cblas_zhbmv.c
function cblas_zhbmv (line 12) | void cblas_zhbmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_zhemm.c
function cblas_zhemm (line 12) | void cblas_zhemm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_zhemv.c
function cblas_zhemv (line 12) | void cblas_zhemv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_zher.c
function cblas_zher (line 12) | void cblas_zher(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zher2.c
function cblas_zher2 (line 12) | void cblas_zher2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zher2k.c
function cblas_zher2k (line 12) | void cblas_zher2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zherk.c
function cblas_zherk (line 12) | void cblas_zherk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zhpmv.c
function cblas_zhpmv (line 12) | void cblas_zhpmv(const enum CBLAS_ORDER order,
FILE: dlib/external/cblas/cblas_zhpr.c
function cblas_zhpr (line 12) | void cblas_zhpr(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zhpr2.c
function cblas_zhpr2 (line 12) | void cblas_zhpr2(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zscal.c
function cblas_zscal (line 11) | void cblas_zscal( const CBLAS_INT_TYPE N, const void *alpha, void *X,
FILE: dlib/external/cblas/cblas_zswap.c
function cblas_zswap (line 11) | void cblas_zswap( const CBLAS_INT_TYPE N, void *X, const CBLAS_INT_TYPE...
FILE: dlib/external/cblas/cblas_zsymm.c
function cblas_zsymm (line 12) | void cblas_zsymm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_zsyr2k.c
function cblas_zsyr2k (line 12) | void cblas_zsyr2k(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_zsyrk.c
function cblas_zsyrk (line 12) | void cblas_zsyrk(const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ztbmv.c
function cblas_ztbmv (line 10) | void cblas_ztbmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ztbsv.c
function cblas_ztbsv (line 10) | void cblas_ztbsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ztpmv.c
function cblas_ztpmv (line 10) | void cblas_ztpmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ztpsv.c
function cblas_ztpsv (line 10) | void cblas_ztpsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ztrmm.c
function cblas_ztrmm (line 12) | void cblas_ztrmm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_ztrmv.c
function cblas_ztrmv (line 10) | void cblas_ztrmv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/cblas/cblas_ztrsm.c
function cblas_ztrsm (line 12) | void cblas_ztrsm(const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side,
FILE: dlib/external/cblas/cblas_ztrsv.c
function cblas_ztrsv (line 10) | void cblas_ztrsv(const enum CBLAS_ORDER order, const enum CBLAS_UPLO Uplo,
FILE: dlib/external/libjpeg/cdjpeg.h
type cjpeg_source_struct (line 25) | struct cjpeg_source_struct
type cjpeg_source_struct (line 27) | struct cjpeg_source_struct {
type djpeg_dest_struct (line 46) | struct djpeg_dest_struct
type djpeg_dest_struct (line 48) | struct djpeg_dest_struct {
type cdjpeg_progress_mgr (line 82) | struct cdjpeg_progress_mgr {
type cdjpeg_progress_mgr (line 90) | struct cdjpeg_progress_mgr
FILE: dlib/external/libjpeg/jcapimin.c
function jpeg_CreateCompress (line 30) | GLOBAL(void)
function jpeg_destroy_compress (line 95) | GLOBAL(void)
function jpeg_abort_compress (line 107) | GLOBAL(void)
function jpeg_suppress_tables (line 126) | GLOBAL(void)
function jpeg_finish_compress (line 154) | GLOBAL(void)
function jpeg_write_marker (line 199) | GLOBAL(void)
function jpeg_write_m_header (line 221) | GLOBAL(void)
function jpeg_write_m_byte (line 233) | GLOBAL(void)
function jpeg_write_tables (line 261) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcapistd.c
function jpeg_start_compress (line 38) | GLOBAL(void)
function jpeg_write_scanlines (line 77) | GLOBAL(JDIMENSION)
function jpeg_write_raw_data (line 120) | GLOBAL(JDIMENSION)
FILE: dlib/external/libjpeg/jcarith.c
type arith_entropy_encoder (line 23) | typedef struct {
type arith_entropy_encoder (line 48) | typedef arith_entropy_encoder * arith_entropy_ptr;
function emit_byte (line 115) | LOCAL(void)
function finish_pass (line 132) | METHODDEF(void)
function arith_encode (line 218) | LOCAL(void)
function emit_restart (line 320) | LOCAL(void)
function encode_mcu_DC_first (line 363) | METHODDEF(boolean)
function encode_mcu_AC_first (line 452) | METHODDEF(boolean)
function encode_mcu_DC_refine (line 559) | METHODDEF(boolean)
function encode_mcu_AC_refine (line 594) | METHODDEF(boolean)
function encode_mcu (line 693) | METHODDEF(boolean)
function start_pass (line 842) | METHODDEF(void)
function jinit_arith_encoder (line 925) | GLOBAL(void)
FILE: dlib/external/libjpeg/jccoefct.c
type my_coef_controller (line 35) | typedef struct {
type my_coef_controller (line 59) | typedef my_coef_controller * my_coef_ptr;
function start_iMCU_row (line 73) | LOCAL(void)
function start_pass_coef (line 101) | METHODDEF(void)
function compress_data (line 143) | METHODDEF(boolean)
function compress_first_pass (line 245) | METHODDEF(boolean)
function compress_output (line 343) | METHODDEF(boolean)
function jinit_c_coef_controller (line 409) | GLOBAL(void)
FILE: dlib/external/libjpeg/jccolor.c
type my_color_converter (line 19) | typedef struct {
type my_color_converter (line 26) | typedef my_color_converter * my_cconvert_ptr;
function rgb_ycc_start (line 98) | METHODDEF(void)
function rgb_ycc_convert (line 142) | METHODDEF(void)
function rgb_gray_convert (line 198) | METHODDEF(void)
function cmyk_ycck_convert (line 236) | METHODDEF(void)
function rgb_rgb1_convert (line 294) | METHODDEF(void)
function grayscale_convert (line 333) | METHODDEF(void)
function rgb_convert (line 361) | METHODDEF(void)
function null_convert (line 394) | METHODDEF(void)
function null_method (line 426) | METHODDEF(void)
function jinit_color_converter (line 437) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcdctmgr.c
type my_fdct_controller (line 23) | typedef struct {
type my_fdct_controller (line 35) | typedef my_fdct_controller * my_fdct_ptr;
type divisor_table (line 45) | typedef union {
function forward_DCT (line 73) | METHODDEF(void)
function forward_DCT_float (line 133) | METHODDEF(void)
function start_pass_fdctmgr (line 182) | METHODDEF(void)
function jinit_forward_dct (line 448) | GLOBAL(void)
FILE: dlib/external/libjpeg/jchuff.c
type c_derived_tbl (line 42) | typedef struct {
type savable_state (line 55) | typedef struct {
type huff_entropy_encoder (line 81) | typedef struct {
type huff_entropy_encoder (line 117) | typedef huff_entropy_encoder * huff_entropy_ptr;
type working_state (line 123) | typedef struct {
function jpeg_make_c_derived_tbl (line 160) | LOCAL(void)
function dump_buffer_s (line 267) | LOCAL(boolean)
function dump_buffer_e (line 282) | LOCAL(void)
function INLINE (line 304) | INLINE
function INLINE (line 346) | INLINE
function flush_bits_s (line 389) | LOCAL(boolean)
function flush_bits_e (line 400) | LOCAL(void)
function INLINE (line 413) | INLINE
function INLINE (line 426) | INLINE
function emit_buffered_bits (line 443) | LOCAL(void)
function emit_eobrun (line 462) | LOCAL(void)
function emit_restart_s (line 493) | LOCAL(boolean)
function emit_restart_e (line 514) | LOCAL(void)
function encode_mcu_DC_first (line 544) | METHODDEF(boolean)
function encode_mcu_AC_first (line 627) | METHODDEF(boolean)
function encode_mcu_DC_refine (line 738) | METHODDEF(boolean)
function encode_mcu_AC_refine (line 781) | METHODDEF(boolean)
function encode_one_block (line 911) | LOCAL(boolean)
function encode_mcu_huff (line 1011) | METHODDEF(boolean)
function finish_pass_huff (line 1068) | METHODDEF(void)
function htest_one_block (line 1117) | LOCAL(void)
function encode_mcu_gather (line 1192) | METHODDEF(boolean)
function jpeg_gen_optimal_table (line 1251) | LOCAL(void)
function finish_pass_gather (line 1464) | METHODDEF(void)
function start_pass_huff (line 1518) | METHODDEF(void)
function jinit_huff_encoder (line 1621) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcinit.c
function jpeg_calc_jpeg_dimensions (line 30) | GLOBAL(void)
function jinit_compress_master (line 192) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcmainct.c
type my_main_controller (line 29) | typedef struct {
type my_main_controller (line 51) | typedef my_main_controller * my_main_ptr;
function start_pass_main (line 69) | METHODDEF(void)
function process_data_simple_main (line 113) | METHODDEF(void)
function process_data_buffer_main (line 169) | METHODDEF(void)
function jinit_c_main_controller (line 247) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcmarker.c
type JPEG_MARKER (line 17) | typedef enum { /* JPEG marker codes */
type my_marker_writer (line 88) | typedef struct {
type my_marker_writer (line 94) | typedef my_marker_writer * my_marker_ptr;
function emit_byte (line 109) | LOCAL(void)
function emit_marker (line 123) | LOCAL(void)
function emit_2bytes (line 132) | LOCAL(void)
function emit_dqt (line 145) | LOCAL(int)
function emit_dht (line 186) | LOCAL(void)
function emit_dac (line 224) | LOCAL(void)
function emit_dri (line 273) | LOCAL(void)
function emit_lse_ict (line 285) | LOCAL(void)
function emit_sof (line 316) | LOCAL(void)
function emit_sos (line 347) | LOCAL(void)
function emit_pseudo_sos (line 382) | LOCAL(void)
function emit_jfif_app0 (line 398) | LOCAL(void)
function emit_adobe_app14 (line 433) | LOCAL(void)
function write_marker_header (line 486) | METHODDEF(void)
function write_marker_byte (line 498) | METHODDEF(void)
function write_file_header (line 517) | METHODDEF(void)
function write_frame_header (line 543) | METHODDEF(void)
function write_scan_header (line 611) | METHODDEF(void)
function write_file_trailer (line 655) | METHODDEF(void)
function write_tables_only (line 669) | METHODDEF(void)
function jinit_marker_writer (line 698) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcmaster.c
type c_pass_type (line 22) | typedef enum {
type my_comp_master (line 28) | typedef struct {
type my_comp_master (line 39) | typedef my_comp_master * my_master_ptr;
function initial_setup (line 46) | LOCAL(void)
function validate_script (line 177) | LOCAL(void)
function reduce_script (line 308) | LOCAL(void)
function select_scan_parameters (line 343) | LOCAL(void)
function per_scan_setup (line 387) | LOCAL(void)
function prepare_for_pass (line 478) | METHODDEF(void)
function pass_startup (line 566) | METHODDEF(void)
function finish_pass_master (line 580) | METHODDEF(void)
function jinit_c_master_control (line 620) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcomapi.c
function jpeg_abort (line 29) | GLOBAL(void)
function jpeg_destroy (line 69) | GLOBAL(void)
function jpeg_alloc_quant_table (line 86) | GLOBAL(JQUANT_TBL *)
function jpeg_alloc_huff_table (line 98) | GLOBAL(JHUFF_TBL *)
function jpeg_std_huff_table (line 116) | GLOBAL(JHUFF_TBL *)
FILE: dlib/external/libjpeg/jconfig.h
type boolean (line 24) | typedef unsigned char boolean;
FILE: dlib/external/libjpeg/jcparam.c
function jpeg_add_quant_table (line 23) | GLOBAL(void)
function jpeg_default_qtables (line 91) | GLOBAL(void)
function jpeg_set_linear_quality (line 106) | GLOBAL(void)
function jpeg_quality_scaling (line 123) | GLOBAL(int)
function jpeg_set_quality (line 149) | GLOBAL(void)
function std_huff_tables (line 169) | LOCAL(void)
function jpeg_set_defaults (line 196) | GLOBAL(void)
function jpeg_default_colorspace (line 297) | GLOBAL(void)
function jpeg_set_colorspace (line 336) | GLOBAL(void)
function fill_a_scan (line 451) | LOCAL(jpeg_scan_info *)
function fill_scans (line 466) | LOCAL(jpeg_scan_info *)
function fill_dc_scans (line 485) | LOCAL(jpeg_scan_info *)
function jpeg_simple_progression (line 513) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcprepct.c
type my_prep_controller (line 54) | typedef struct {
type my_prep_controller (line 71) | typedef my_prep_controller * my_prep_ptr;
function start_pass_prep (line 78) | METHODDEF(void)
function expand_bottom_edge (line 106) | LOCAL(void)
function pre_process_data (line 129) | METHODDEF(void)
function pre_process_context (line 198) | METHODDEF(void)
function create_context_buffer (line 270) | LOCAL(void)
function jinit_c_prep_controller (line 318) | GLOBAL(void)
FILE: dlib/external/libjpeg/jcsample.c
type cinfo (line 55) | typedef JMETHOD(void, downsample1_ptr,
type my_downsampler (line 61) | typedef struct {
type my_downsampler (line 77) | typedef my_downsampler * my_downsample_ptr;
function start_pass_downsample (line 84) | METHODDEF(void)
function expand_right_edge (line 96) | LOCAL(void)
function sep_downsample (line 123) | METHODDEF(void)
function int_downsample (line 150) | METHODDEF(void)
function fullsize_downsample (line 199) | METHODDEF(void)
function h2v1_downsample (line 224) | METHODDEF(void)
function h2v2_downsample (line 261) | METHODDEF(void)
function h2v2_smooth_downsample (line 305) | METHODDEF(void)
function fullsize_smooth_downsample (line 406) | METHODDEF(void)
function jinit_downsampler (line 478) | GLOBAL(void)
FILE: dlib/external/libjpeg/jctrans.c
function jpeg_write_coefficients (line 38) | GLOBAL(void)
function jpeg_copy_critical_parameters (line 63) | GLOBAL(void)
function jpeg_calc_trans_dimensions (line 163) | LOCAL(void)
function transencode_master_selection (line 180) | LOCAL(void)
type my_coef_controller (line 223) | typedef struct {
type my_coef_controller (line 238) | typedef my_coef_controller * my_coef_ptr;
function start_iMCU_row (line 241) | LOCAL(void)
function start_pass_coef (line 269) | METHODDEF(void)
function compress_output (line 292) | METHODDEF(boolean)
function transencode_coef_controller (line 382) | LOCAL(void)
FILE: dlib/external/libjpeg/jdapimin.c
function jpeg_CreateDecompress (line 30) | GLOBAL(void)
function jpeg_destroy_decompress (line 91) | GLOBAL(void)
function jpeg_abort_decompress (line 103) | GLOBAL(void)
function default_decompress_parms (line 114) | LOCAL(void)
function jpeg_read_header (line 257) | GLOBAL(int)
function jpeg_consume_input (line 303) | GLOBAL(int)
function jpeg_input_complete (line 350) | GLOBAL(boolean)
function jpeg_has_multiple_scans (line 365) | GLOBAL(boolean)
function jpeg_finish_decompress (line 385) | GLOBAL(boolean)
FILE: dlib/external/libjpeg/jdapistd.c
function jpeg_start_decompress (line 38) | GLOBAL(boolean)
function output_pass_setup (line 95) | LOCAL(boolean)
function jpeg_read_scanlines (line 152) | GLOBAL(JDIMENSION)
function jpeg_read_raw_data (line 185) | GLOBAL(JDIMENSION)
function jpeg_start_output (line 228) | GLOBAL(boolean)
function jpeg_finish_output (line 253) | GLOBAL(boolean)
FILE: dlib/external/libjpeg/jdarith.c
type arith_entropy_decoder (line 23) | typedef struct {
type arith_entropy_decoder (line 45) | typedef arith_entropy_decoder * arith_entropy_ptr;
function get_byte (line 64) | LOCAL(int)
function arith_decode (line 105) | LOCAL(int)
function process_restart (line 189) | LOCAL(void)
function decode_mcu_DC_first (line 241) | METHODDEF(boolean)
function decode_mcu_AC_first (line 320) | METHODDEF(boolean)
function decode_mcu_DC_refine (line 402) | METHODDEF(boolean)
function decode_mcu_AC_refine (line 436) | METHODDEF(boolean)
function decode_mcu (line 511) | METHODDEF(boolean)
function start_pass (line 643) | METHODDEF(void)
function finish_pass (line 753) | METHODDEF(void)
function jinit_arith_decoder (line 764) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdatadst.c
type my_destination_mgr (line 31) | typedef struct {
type my_destination_mgr (line 38) | typedef my_destination_mgr * my_dest_ptr;
type my_mem_destination_mgr (line 45) | typedef struct {
type my_mem_destination_mgr (line 55) | typedef my_mem_destination_mgr * my_mem_dest_ptr;
function init_destination (line 63) | METHODDEF(void)
function init_mem_destination (line 76) | METHODDEF(void)
function empty_output_buffer (line 106) | METHODDEF(boolean)
function empty_mem_output_buffer (line 121) | METHODDEF(boolean)
function term_destination (line 161) | METHODDEF(void)
function term_mem_destination (line 178) | METHODDEF(void)
function jpeg_stdio_dest (line 194) | GLOBAL(void)
function jpeg_mem_dest (line 232) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdatasrc.c
type my_source_mgr (line 26) | typedef struct {
type my_source_mgr (line 34) | typedef my_source_mgr * my_src_ptr;
function init_source (line 44) | METHODDEF(void)
function init_mem_source (line 56) | METHODDEF(void)
function fill_input_buffer (line 96) | METHODDEF(boolean)
function fill_mem_input_buffer (line 121) | METHODDEF(boolean)
function skip_input_data (line 155) | METHODDEF(void)
function term_source (line 198) | METHODDEF(void)
function jpeg_stdio_src (line 211) | GLOBAL(void)
function jpeg_mem_src (line 248) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdcoefct.c
type my_coef_controller (line 31) | typedef struct {
type my_coef_controller (line 65) | typedef my_coef_controller * my_coef_ptr;
function start_iMCU_row (line 82) | LOCAL(void)
function start_input_pass (line 110) | METHODDEF(void)
function start_output_pass (line 122) | METHODDEF(void)
function decompress_onepass (line 150) | METHODDEF(int)
function dummy_consume_data (line 230) | METHODDEF(int)
function consume_data (line 246) | METHODDEF(int)
function decompress_data (line 319) | METHODDEF(int)
function smoothing_ok (line 409) | LOCAL(boolean)
function decompress_smooth_data (line 464) | METHODDEF(int)
function jinit_d_coef_controller (line 679) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdcolor.c
type my_color_deconverter (line 25) | typedef struct {
type my_color_deconverter (line 38) | typedef my_color_deconverter * my_cconvert_ptr;
function build_ycc_rgb_table (line 118) | LOCAL(void)
function build_bg_ycc_rgb_table (line 152) | LOCAL(void)
function ycc_rgb_convert (line 198) | METHODDEF(void)
function build_rgb_y_table (line 248) | LOCAL(void)
function rgb_gray_convert (line 271) | METHODDEF(void)
function rgb1_rgb_convert (line 312) | METHODDEF(void)
function rgb1_gray_convert (line 350) | METHODDEF(void)
function rgb_convert (line 393) | METHODDEF(void)
function null_convert (line 426) | METHODDEF(void)
function grayscale_convert (line 465) | METHODDEF(void)
function gray_rgb_convert (line 481) | METHODDEF(void)
function ycck_cmyk_convert (line 511) | METHODDEF(void)
function cmyk_yk_convert (line 562) | METHODDEF(void)
function start_pass_dcolor (line 602) | METHODDEF(void)
function jinit_color_deconverter (line 613) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdct.h
type DCTELEM (line 36) | typedef int DCTELEM;
type INT32 (line 38) | typedef INT32 DCTELEM;
type data (line 41) | typedef JMETHOD(void, forward_DCT_method_ptr, (DCTELEM * data,
type data (line 44) | typedef JMETHOD(void, float_DCT_method_ptr, (FAST_FLOAT * data,
type MULTIPLIER (line 66) | typedef MULTIPLIER ISLOW_MULT_TYPE;
type MULTIPLIER (line 68) | typedef MULTIPLIER IFAST_MULT_TYPE;
type INT32 (line 71) | typedef INT32 IFAST_MULT_TYPE;
type FAST_FLOAT (line 74) | typedef FAST_FLOAT FLOAT_MULT_TYPE;
FILE: dlib/external/libjpeg/jddctmgr.c
type my_idct_controller (line 44) | typedef struct {
type my_idct_controller (line 55) | typedef my_idct_controller * my_idct_ptr;
type multiplier_table (line 60) | typedef union {
function start_pass (line 89) | METHODDEF(void)
function jinit_inverse_dct (line 361) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdhuff.c
type d_derived_tbl (line 28) | typedef struct {
type INT32 (line 69) | typedef INT32 bit_buf_type;
type bitread_perm_state (line 79) | typedef struct { /* Bitreading state saved across MCUs */
type bitread_working_state (line 84) | typedef struct { /* Bitreading working state within an MCU */
type savable_state (line 198) | typedef struct {
type huff_entropy_decoder (line 222) | typedef struct {
type huff_entropy_decoder (line 257) | typedef huff_entropy_decoder * huff_entropy_ptr;
function jpeg_make_d_derived_tbl (line 322) | LOCAL(void)
function jpeg_fill_bit_buffer (line 463) | LOCAL(boolean)
function jpeg_huff_decode (line 590) | LOCAL(int)
function finish_pass_huff (line 633) | METHODDEF(void)
function process_restart (line 650) | LOCAL(boolean)
function decode_mcu_DC_first (line 706) | METHODDEF(boolean)
function decode_mcu_AC_first (line 778) | METHODDEF(boolean)
function decode_mcu_DC_refine (line 866) | METHODDEF(boolean)
function decode_mcu_AC_refine (line 915) | METHODDEF(boolean)
function decode_mcu_sub (line 1074) | METHODDEF(boolean)
function decode_mcu (line 1203) | METHODDEF(boolean)
function start_pass_huff_decoder (line 1327) | METHODDEF(void)
function jinit_huff_decoder (line 1526) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdinput.c
type my_input_controller (line 22) | typedef struct {
type my_input_controller (line 28) | typedef my_input_controller * my_inputctl_ptr;
function jpeg_core_output_dimensions (line 46) | GLOBAL(void)
function initial_setup (line 207) | LOCAL(void)
function per_scan_setup (line 386) | LOCAL(void)
function latch_quant_tables (line 483) | LOCAL(void)
function start_input_pass (line 516) | METHODDEF(void)
function finish_input_pass (line 533) | METHODDEF(void)
function consume_markers (line 555) | METHODDEF(int)
function reset_input_controller (line 615) | METHODDEF(void)
function jinit_input_controller (line 637) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdmainct.c
type my_main_controller (line 115) | typedef struct {
type my_main_controller (line 136) | typedef my_main_controller * my_main_ptr;
function alloc_funny_pointers (line 158) | LOCAL(void)
function make_funny_pointers (line 197) | LOCAL(void)
function set_wraparound_pointers (line 242) | LOCAL(void)
function set_bottom_pointers (line 272) | LOCAL(void)
function start_pass_main (line 315) | METHODDEF(void)
function process_data_simple_main (line 352) | METHODDEF(void)
function process_data_context_main (line 382) | METHODDEF(void)
function process_data_crank_post (line 455) | METHODDEF(void)
function jinit_d_main_controller (line 471) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdmarker.c
type JPEG_MARKER (line 21) | typedef enum { /* JPEG marker codes */
type my_marker_reader (line 92) | typedef struct {
type my_marker_reader (line 109) | typedef my_marker_reader * my_marker_ptr;
function get_soi (line 198) | LOCAL(boolean)
function get_sof (line 239) | LOCAL(boolean)
function get_sos (line 321) | LOCAL(boolean)
function get_dac (line 412) | LOCAL(boolean)
function get_dht (line 458) | LOCAL(boolean)
function get_dqt (line 530) | LOCAL(boolean)
function get_dri (line 620) | LOCAL(boolean)
function get_lse (line 644) | LOCAL(boolean)
function examine_app0 (line 718) | LOCAL(void)
function examine_app14 (line 794) | LOCAL(void)
function get_interesting_appn (line 825) | METHODDEF(boolean)
function save_marker (line 872) | METHODDEF(boolean)
function skip_variable (line 977) | METHODDEF(boolean)
function next_marker (line 1006) | LOCAL(boolean)
function first_marker (line 1053) | LOCAL(boolean)
function read_markers (line 1089) | METHODDEF(int)
function read_restart_marker (line 1258) | METHODDEF(boolean)
function jpeg_resync_to_restart (line 1337) | GLOBAL(boolean)
function reset_marker_reader (line 1387) | METHODDEF(void)
function jinit_marker_reader (line 1407) | GLOBAL(void)
function jpeg_save_markers (line 1444) | GLOBAL(void)
function jpeg_set_marker_processor (line 1493) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdmaster.c
type my_decomp_master (line 22) | typedef struct {
type my_decomp_master (line 36) | typedef my_decomp_master * my_master_ptr;
function use_merged_upsample (line 44) | LOCAL(boolean)
function jpeg_calc_output_dimensions (line 100) | GLOBAL(void)
function prepare_range_limit_table (line 228) | LOCAL(void)
function master_selection (line 261) | LOCAL(void)
function prepare_for_output_pass (line 413) | METHODDEF(void)
function finish_output_pass (line 473) | METHODDEF(void)
function jpeg_new_colormap (line 490) | GLOBAL(void)
function jinit_master_decompress (line 518) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdmerge.c
type my_upsampler (line 51) | typedef struct {
type my_upsampler (line 77) | typedef my_upsampler * my_upsample_ptr;
function build_ycc_rgb_table (line 89) | LOCAL(void)
function build_bg_ycc_rgb_table (line 123) | LOCAL(void)
function start_pass_merged_upsample (line 161) | METHODDEF(void)
function merged_2v_upsample (line 179) | METHODDEF(void)
function merged_1v_upsample (line 228) | METHODDEF(void)
function h2v1_merged_upsample (line 261) | METHODDEF(void)
function h2v2_merged_upsample (line 323) | METHODDEF(void)
function jinit_merged_upsampler (line 405) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdpostct.c
type my_post_controller (line 26) | typedef struct {
type my_post_controller (line 42) | typedef my_post_controller * my_post_ptr;
function start_pass_dpost (line 72) | METHODDEF(void)
function post_process_1pass (line 125) | METHODDEF(void)
function post_process_prepass (line 157) | METHODDEF(void)
function post_process_2pass (line 201) | METHODDEF(void)
function jinit_d_post_controller (line 249) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdsample.c
type cinfo (line 28) | typedef JMETHOD(void, upsample1_ptr,
type my_upsampler (line 34) | typedef struct {
type my_upsampler (line 62) | typedef my_upsampler * my_upsample_ptr;
function start_pass_upsample (line 69) | METHODDEF(void)
function sep_upsample (line 89) | METHODDEF(void)
function fullsize_upsample (line 160) | METHODDEF(void)
function int_upsample (line 179) | METHODDEF(void)
function h2v1_upsample (line 221) | METHODDEF(void)
function h2v2_upsample (line 249) | METHODDEF(void)
function jinit_upsampler (line 279) | GLOBAL(void)
FILE: dlib/external/libjpeg/jdtrans.c
function jpeg_read_coefficients (line 45) | GLOBAL(jvirt_barray_ptr *)
function transdecode_master_selection (line 97) | LOCAL(void)
FILE: dlib/external/libjpeg/jerror.c
function error_exit (line 70) | METHODDEF(noreturn_t)
function output_message (line 98) | METHODDEF(void)
function emit_message (line 128) | METHODDEF(void)
function format_message (line 157) | METHODDEF(void)
function reset_error_mgr (line 212) | METHODDEF(void)
function jpeg_std_error (line 231) | GLOBAL(struct jpeg_error_mgr *)
FILE: dlib/external/libjpeg/jfdctflt.c
function jpeg_fdct_float (line 61) | GLOBAL(void)
FILE: dlib/external/libjpeg/jfdctfst.c
function jpeg_fdct_ifast (line 116) | GLOBAL(void)
FILE: dlib/external/libjpeg/jfdctint.c
function jpeg_fdct_islow (line 157) | GLOBAL(void)
function jpeg_fdct_7x7 (line 334) | GLOBAL(void)
function jpeg_fdct_6x6 (line 470) | GLOBAL(void)
function jpeg_fdct_5x5 (line 584) | GLOBAL(void)
function jpeg_fdct_4x4 (line 695) | GLOBAL(void)
function jpeg_fdct_3x3 (line 790) | GLOBAL(void)
function jpeg_fdct_2x2 (line 876) | GLOBAL(void)
function jpeg_fdct_1x1 (line 921) | GLOBAL(void)
function jpeg_fdct_9x9 (line 942) | GLOBAL(void)
function jpeg_fdct_10x10 (line 1093) | GLOBAL(void)
function jpeg_fdct_11x11 (line 1257) | GLOBAL(void)
function jpeg_fdct_12x12 (line 1441) | GLOBAL(void)
function jpeg_fdct_13x13 (line 1607) | GLOBAL(void)
function jpeg_fdct_14x14 (line 1807) | GLOBAL(void)
function jpeg_fdct_15x15 (line 2008) | GLOBAL(void)
function jpeg_fdct_16x16 (line 2188) | GLOBAL(void)
function jpeg_fdct_16x8 (line 2398) | GLOBAL(void)
function jpeg_fdct_14x7 (line 2581) | GLOBAL(void)
function jpeg_fdct_12x6 (line 2746) | GLOBAL(void)
function jpeg_fdct_10x5 (line 2886) | GLOBAL(void)
function jpeg_fdct_8x4 (line 3019) | GLOBAL(void)
function jpeg_fdct_6x3 (line 3160) | GLOBAL(void)
function jpeg_fdct_4x2 (line 3261) | GLOBAL(void)
function jpeg_fdct_2x1 (line 3351) | GLOBAL(void)
function jpeg_fdct_8x16 (line 3386) | GLOBAL(void)
function jpeg_fdct_7x14 (line 3580) | GLOBAL(void)
function jpeg_fdct_6x12 (line 3762) | GLOBAL(void)
function jpeg_fdct_5x10 (line 3912) | GLOBAL(void)
function jpeg_fdct_4x8 (line 4059) | GLOBAL(void)
function jpeg_fdct_3x6 (line 4200) | GLOBAL(void)
function jpeg_fdct_2x4 (line 4306) | GLOBAL(void)
function jpeg_fdct_1x2 (line 4386) | GLOBAL(void)
FILE: dlib/external/libjpeg/jidctflt.c
function jpeg_idct_float (line 70) | GLOBAL(void)
FILE: dlib/external/libjpeg/jidctfst.c
function jpeg_idct_ifast (line 143) | GLOBAL(void)
FILE: dlib/external/libjpeg/jidctint.c
function jpeg_idct_islow (line 173) | GLOBAL(void)
function jpeg_idct_7x7 (line 438) | GLOBAL(void)
function jpeg_idct_6x6 (line 589) | GLOBAL(void)
function jpeg_idct_5x5 (line 712) | GLOBAL(void)
function jpeg_idct_4x4 (line 829) | GLOBAL(void)
function jpeg_idct_3x3 (line 936) | GLOBAL(void)
function jpeg_idct_2x2 (line 1027) | GLOBAL(void)
function jpeg_idct_1x1 (line 1082) | GLOBAL(void)
function jpeg_idct_9x9 (line 1113) | GLOBAL(void)
function jpeg_idct_10x10 (line 1286) | GLOBAL(void)
function jpeg_idct_11x11 (line 1483) | GLOBAL(void)
function jpeg_idct_12x12 (line 1679) | GLOBAL(void)
function jpeg_idct_13x13 (line 1897) | GLOBAL(void)
function jpeg_idct_14x14 (line 2127) | GLOBAL(void)
function jpeg_idct_15x15 (line 2355) | GLOBAL(void)
function jpeg_idct_16x16 (line 2599) | GLOBAL(void)
function jpeg_idct_16x8 (line 2862) | GLOBAL(void)
function jpeg_idct_14x7 (line 3139) | GLOBAL(void)
function jpeg_idct_12x6 (line 3338) | GLOBAL(void)
function jpeg_idct_10x5 (line 3518) | GLOBAL(void)
function jpeg_idct_8x4 (line 3683) | GLOBAL(void)
function jpeg_idct_6x3 (line 3843) | GLOBAL(void)
function jpeg_idct_4x2 (line 3957) | GLOBAL(void)
function jpeg_idct_2x1 (line 4048) | GLOBAL(void)
function jpeg_idct_8x16 (line 4090) | GLOBAL(void)
function jpeg_idct_7x14 (line 4314) | GLOBAL(void)
function jpeg_idct_6x12 (line 4501) | GLOBAL(void)
function jpeg_idct_5x10 (line 4669) | GLOBAL(void)
function jpeg_idct_4x8 (line 4825) | GLOBAL(void)
function jpeg_idct_3x6 (line 5012) | GLOBAL(void)
function jpeg_idct_2x4 (line 5120) | GLOBAL(void)
function jpeg_idct_1x2 (line 5207) | GLOBAL(void)
FILE: dlib/external/libjpeg/jmemansi.c
function jpeg_get_small (line 35) | GLOBAL(void *)
function jpeg_free_small (line 41) | GLOBAL(void)
function jpeg_get_large (line 55) | GLOBAL(void FAR *)
function jpeg_free_large (line 61) | GLOBAL(void)
function jpeg_mem_available (line 80) | GLOBAL(long)
function read_backing_store (line 96) | METHODDEF(void)
function write_backing_store (line 109) | METHODDEF(void)
function close_backing_store (line 122) | METHODDEF(void)
function jpeg_open_backing_store (line 140) | GLOBAL(void)
function jpeg_mem_init (line 157) | GLOBAL(long)
function jpeg_mem_term (line 163) | GLOBAL(void)
FILE: dlib/external/libjpeg/jmemmgr.c
type small_pool_hdr (line 92) | typedef union small_pool_struct {
type large_pool_hdr (line 103) | typedef union large_pool_struct {
type my_memory_mgr (line 117) | typedef struct {
type my_memory_mgr (line 141) | typedef my_memory_mgr * my_mem_ptr;
type jvirt_sarray_control (line 151) | struct jvirt_sarray_control {
type jvirt_barray_control (line 167) | struct jvirt_barray_control {
function print_mem_stats (line 186) | LOCAL(void)
function out_of_memory (line 217) | LOCAL(noreturn_t)
function alloc_small (line 257) | METHODDEF(void *)
function alloc_large (line 342) | METHODDEF(void FAR *)
function alloc_sarray (line 395) | METHODDEF(JSAMPARRAY)
function alloc_barray (line 442) | METHODDEF(JBLOCKARRAY)
function request_virt_sarray (line 521) | METHODDEF(jvirt_sarray_ptr)
function request_virt_barray (line 551) | METHODDEF(jvirt_barray_ptr)
function realize_virt_arrays (line 581) | METHODDEF(void)
function do_sarray_io (line 686) | LOCAL(void)
function do_barray_io (line 719) | LOCAL(void)
function access_virt_sarray (line 752) | METHODDEF(JSAMPARRAY)
function access_virt_barray (line 837) | METHODDEF(JBLOCKARRAY)
function free_pool (line 926) | METHODDEF(void)
function self_destruct (line 998) | METHODDEF(void)
function jinit_memory_mgr (line 1024) | GLOBAL(void)
FILE: dlib/external/libjpeg/jmemname.c
function select_file_name (line 94) | LOCAL(void)
function select_file_name (line 125) | LOCAL(void)
function jpeg_get_small (line 142) | GLOBAL(void *)
function jpeg_free_small (line 148) | GLOBAL(void)
function jpeg_get_large (line 162) | GLOBAL(void FAR *)
function jpeg_free_large (line 168) | GLOBAL(void)
function jpeg_mem_available (line 187) | GLOBAL(long)
function read_backing_store (line 203) | METHODDEF(void)
function write_backing_store (line 216) | METHODDEF(void)
function close_backing_store (line 229) | METHODDEF(void)
function jpeg_open_backing_store (line 246) | GLOBAL(void)
function jpeg_mem_init (line 265) | GLOBAL(long)
function jpeg_mem_term (line 272) | GLOBAL(void)
FILE: dlib/external/libjpeg/jmemnobs.c
function jpeg_get_small (line 35) | GLOBAL(void *)
function jpeg_free_small (line 41) | GLOBAL(void)
function jpeg_get_large (line 55) | GLOBAL(void FAR *)
function jpeg_free_large (line 61) | GLOBAL(void)
function jpeg_mem_available (line 72) | GLOBAL(long)
function jpeg_open_backing_store (line 90) | GLOBAL(void)
function jpeg_mem_init (line 103) | GLOBAL(long)
function jpeg_mem_term (line 109) | GLOBAL(void)
FILE: dlib/external/libjpeg/jmemsys.h
type XMSH (line 121) | typedef unsigned short XMSH;
type EMSH (line 122) | typedef unsigned short EMSH;
type handle_union (line 124) | typedef union {
type backing_store_struct (line 137) | struct backing_store_struct
type backing_store_info (line 139) | typedef struct backing_store_struct {
FILE: dlib/external/libjpeg/jmorecfg.h
type JSAMPLE (line 69) | typedef unsigned char JSAMPLE;
type JSAMPLE (line 74) | typedef char JSAMPLE;
type JSAMPLE (line 94) | typedef short JSAMPLE;
type JSAMPLE (line 108) | typedef short JSAMPLE;
type JSAMPLE (line 122) | typedef short JSAMPLE;
type JSAMPLE (line 136) | typedef short JSAMPLE;
type JCOEF (line 151) | typedef short JCOEF;
type JOCTET (line 162) | typedef unsigned char JOCTET;
type JOCTET (line 167) | typedef char JOCTET;
type UINT8 (line 187) | typedef unsigned char UINT8;
type UINT8 (line 190) | typedef char UINT8;
type UINT8 (line 192) | typedef short UINT8;
type UINT16 (line 199) | typedef unsigned short UINT16;
type UINT16 (line 201) | typedef unsigned int UINT16;
type INT16 (line 207) | typedef short INT16;
type INT32 (line 216) | typedef long INT32;
type JDIMENSION (line 229) | typedef unsigned int JDIMENSION;
type noreturn_t (line 280) | typedef void noreturn_t;
type boolean (line 309) | typedef int boolean;
type boolean (line 317) | typedef enum { FALSE = 0, TRUE = 1 } boolean;
FILE: dlib/external/libjpeg/jpegint.h
type J_BUF_MODE (line 17) | typedef enum { /* Operating modes for buffer controllers */
type jpeg_comp_master (line 46) | struct jpeg_comp_master {
type jpeg_c_main_controller (line 57) | struct jpeg_c_main_controller {
type jpeg_c_prep_controller (line 65) | struct jpeg_c_prep_controller {
type jpeg_c_coef_controller (line 77) | struct jpeg_c_coef_controller {
type jpeg_color_converter (line 84) | struct jpeg_color_converter {
type jpeg_downsampler (line 92) | struct jpeg_downsampler {
type cinfo (line 103) | typedef JMETHOD(void, forward_DCT_ptr,
type jpeg_forward_dct (line 108) | struct jpeg_forward_dct {
type jpeg_entropy_encoder (line 115) | struct jpeg_entropy_encoder {
type jpeg_marker_writer (line 122) | struct jpeg_marker_writer {
type jpeg_decomp_master (line 139) | struct jpeg_decomp_master {
type jpeg_input_controller (line 148) | struct jpeg_input_controller {
type jpeg_d_main_controller (line 160) | struct jpeg_d_main_controller {
type jpeg_d_coef_controller (line 168) | struct jpeg_d_coef_controller {
type jpeg_d_post_controller (line 179) | struct jpeg_d_post_controller {
type jpeg_marker_reader (line 191) | struct jpeg_marker_reader {
type jpeg_entropy_decoder (line 211) | struct jpeg_entropy_decoder {
type cinfo (line 218) | typedef JMETHOD(void, inverse_DCT_method_ptr,
type jpeg_inverse_dct (line 223) | struct jpeg_inverse_dct {
type jpeg_upsampler (line 230) | struct jpeg_upsampler {
type jpeg_color_deconverter (line 244) | struct jpeg_color_deconverter {
type jpeg_color_quantizer (line 252) | struct jpeg_color_quantizer {
type jvirt_sarray_control (line 442) | struct jvirt_sarray_control { long dummy; }
type jvirt_barray_control (line 443) | struct jvirt_barray_control { long dummy; }
FILE: dlib/external/libjpeg/jpeglib.h
type JSAMPLE (line 75) | typedef JSAMPLE FAR *JSAMPROW;
type JSAMPROW (line 76) | typedef JSAMPROW *JSAMPARRAY;
type JSAMPARRAY (line 77) | typedef JSAMPARRAY *JSAMPIMAGE;
type JCOEF (line 79) | typedef JCOEF JBLOCK[DCTSIZE2];
type JBLOCK (line 80) | typedef JBLOCK FAR *JBLOCKROW;
type JBLOCKROW (line 81) | typedef JBLOCKROW *JBLOCKARRAY;
type JBLOCKARRAY (line 82) | typedef JBLOCKARRAY *JBLOCKIMAGE;
type JCOEF (line 84) | typedef JCOEF FAR *JCOEFPTR;
type JQUANT_TBL (line 92) | typedef struct {
type JHUFF_TBL (line 109) | typedef struct {
type jpeg_component_info (line 125) | typedef struct {
type jpeg_scan_info (line 198) | typedef struct {
type jpeg_marker_struct (line 207) | struct jpeg_marker_struct
type jpeg_marker_struct (line 209) | struct jpeg_marker_struct {
type J_COLOR_SPACE (line 220) | typedef enum {
type J_COLOR_TRANSFORM (line 233) | typedef enum {
type J_DCT_METHOD (line 240) | typedef enum {
type J_DITHER_MODE (line 255) | typedef enum {
type jpeg_memory_mgr (line 266) | struct jpeg_memory_mgr
type jpeg_progress_mgr (line 267) | struct jpeg_progress_mgr
type jpeg_common_struct (line 276) | struct jpeg_common_struct {
type jpeg_common_struct (line 284) | struct jpeg_common_struct
type jpeg_compress_struct (line 285) | struct jpeg_compress_struct
type jpeg_decompress_struct (line 286) | struct jpeg_decompress_struct
type jpeg_compress_struct (line 291) | struct jpeg_compress_struct {
type jpeg_decompress_struct (line 459) | struct jpeg_decompress_struct {
type jpeg_error_mgr (line 702) | struct jpeg_error_mgr {
type jpeg_progress_mgr (line 760) | struct jpeg_progress_mgr {
type jpeg_destination_mgr (line 772) | struct jpeg_destination_mgr {
type jpeg_source_mgr (line 784) | struct jpeg_source_mgr {
type jvirt_sarray_control (line 811) | struct jvirt_sarray_control
type jvirt_barray_control (line 812) | struct jvirt_barray_control
type jpeg_memory_mgr (line 815) | struct jpeg_memory_mgr {
type jpeg_error_mgr (line 949) | struct jpeg_error_mgr
type jpeg_error_mgr (line 950) | struct jpeg_error_mgr
type jvirt_sarray_control (line 1139) | struct jvirt_sarray_control { long dummy; }
type jvirt_barray_control (line 1140) | struct jvirt_barray_control { long dummy; }
type jpeg_comp_master (line 1141) | struct jpeg_comp_master { long dummy; }
type jpeg_c_main_controller (line 1142) | struct jpeg_c_main_controller { long dummy; }
type jpeg_c_prep_controller (line 1143) | struct jpeg_c_prep_controller { long dummy; }
type jpeg_c_coef_controller (line 1144) | struct jpeg_c_coef_controller { long dummy; }
type jpeg_marker_writer (line 1145) | struct jpeg_marker_writer { long dummy; }
type jpeg_color_converter (line 1146) | struct jpeg_color_converter { long dummy; }
type jpeg_downsampler (line 1147) | struct jpeg_downsampler { long dummy; }
type jpeg_forward_dct (line 1148) | struct jpeg_forward_dct { long dummy; }
type jpeg_entropy_encoder (line 1149) | struct jpeg_entropy_encoder { long dummy; }
type jpeg_decomp_master (line 1150) | struct jpeg_decomp_master { long dummy; }
type jpeg_d_main_controller (line 1151) | struct jpeg_d_main_controller { long dummy; }
type jpeg_d_coef_controller (line 1152) | struct jpeg_d_coef_controller { long dummy; }
type jpeg_d_post_controller (line 1153) | struct jpeg_d_post_controller { long dummy; }
type jpeg_input_controller (line 1154) | struct jpeg_input_controller { long dummy; }
type jpeg_marker_reader (line 1155) | struct jpeg_marker_reader { long dummy; }
type jpeg_entropy_decoder (line 1156) | struct jpeg_entropy_decoder { long dummy; }
type jpeg_inverse_dct (line 1157) | struct jpeg_inverse_dct { long dummy; }
type jpeg_upsampler (line 1158) | struct jpeg_upsampler { long dummy; }
type jpeg_color_deconverter (line 1159) | struct jpeg_color_deconverter { long dummy; }
type jpeg_color_quantizer (line 1160) | struct jpeg_color_quantizer { long dummy; }
FILE: dlib/external/libjpeg/jpegtran.c
function usage (line 46) | LOCAL(void)
function select_transform (line 100) | LOCAL(void)
function parse_switches (line 123) | LOCAL(int)
function main (line 408) | int
FILE: dlib/external/libjpeg/jquant1.c
type INT16 (line 129) | typedef INT16 FSERROR;
type LOCFSERROR (line 130) | typedef int LOCFSERROR;
type INT32 (line 132) | typedef INT32 FSERROR;
type INT32 (line 133) | typedef INT32 LOCFSERROR;
type FSERROR (line 136) | typedef FSERROR FAR *FSERRPTR;
type my_cquantizer (line 143) | typedef struct {
type my_cquantizer (line 168) | typedef my_cquantizer * my_cquantize_ptr;
function select_ncolors (line 186) | LOCAL(int)
function output_value (line 245) | LOCAL(int)
function largest_input_value (line 259) | LOCAL(int)
function create_colormap (line 273) | LOCAL(void)
function create_colorindex (line 332) | LOCAL(void)
function make_odither_array (line 395) | LOCAL(ODITHER_MATRIX_PTR)
function create_odither_tables (line 430) | LOCAL(void)
function color_quantize (line 457) | METHODDEF(void)
function color_quantize3 (line 485) | METHODDEF(void)
function quantize_ord_dither (line 513) | METHODDEF(void)
function quantize3_ord_dither (line 562) | METHODDEF(void)
function quantize_fs_dither (line 607) | METHODDEF(void)
function alloc_fs_workspace (line 718) | LOCAL(void)
function start_pass_1_quant (line 737) | METHODDEF(void)
function finish_pass_1_quant (line 793) | METHODDEF(void)
function new_color_map_1_quant (line 805) | METHODDEF(void)
function jinit_1pass_quantizer (line 816) | GLOBAL(void)
FILE: dlib/external/libjpeg/jquant2.c
type UINT16 (line 148) | typedef UINT16 histcell;
type histcell (line 150) | typedef histcell FAR * histptr;
type histcell (line 152) | typedef histcell hist1d[HIST_C2_ELEMS];
type hist1d (line 153) | typedef hist1d FAR * hist2d;
type hist2d (line 154) | typedef hist2d * hist3d;
type INT16 (line 182) | typedef INT16 FSERROR;
type LOCFSERROR (line 183) | typedef int LOCFSERROR;
type INT32 (line 185) | typedef INT32 FSERROR;
type INT32 (line 186) | typedef INT32 LOCFSERROR;
type FSERROR (line 189) | typedef FSERROR FAR *FSERRPTR;
type my_cquantizer (line 194) | typedef struct {
type my_cquantizer (line 212) | typedef my_cquantizer * my_cquantize_ptr;
function prescan_quantize (line 224) | METHODDEF(void)
type box (line 259) | typedef struct {
type box (line 270) | typedef box * boxptr;
function find_biggest_color_pop (line 273) | LOCAL(boxptr)
function find_biggest_volume (line 293) | LOCAL(boxptr)
function update_box (line 313) | LOCAL(void)
function median_cut (line 424) | LOCAL(int)
function compute_color (line 499) | LOCAL(void)
function select_colors (line 539) | LOCAL(void)
function find_nearby_colors (line 646) | LOCAL(int)
function find_best_colors (line 775) | LOCAL(void)
function fill_inverse_cmap (line 855) | LOCAL(void)
function pass2_no_dither (line 915) | METHODDEF(void)
function pass2_fs_dither (line 949) | METHODDEF(void)
function init_error_limit (line 1108) | LOCAL(void)
function finish_pass1 (line 1143) | METHODDEF(void)
function finish_pass2 (line 1156) | METHODDEF(void)
function start_pass_2_quant (line 1167) | METHODDEF(void)
function new_color_map_2_quant (line 1230) | METHODDEF(void)
function jinit_2pass_quantizer (line 1244) | GLOBAL(void)
FILE: dlib/external/libjpeg/jutils.c
function jdiv_round_up (line 123) | GLOBAL(long)
function jround_up (line 132) | GLOBAL(long)
function jzero_far (line 160) | GLOBAL(void)
function jcopy_sample_rows (line 176) | GLOBAL(void)
function jcopy_block_row (line 207) | GLOBAL(void)
FILE: dlib/external/libjpeg/rdbmp.c
type U_CHAR (line 33) | typedef unsigned char U_CHAR;
type U_CHAR (line 36) | typedef char U_CHAR;
type _bmp_source_struct (line 50) | struct _bmp_source_struct
type bmp_source_struct (line 52) | typedef struct _bmp_source_struct {
function read_byte (line 68) | LOCAL(int)
function read_colormap (line 81) | LOCAL(void)
function get_8bit_row (line 118) | METHODDEF(JDIMENSION)
function get_24bit_row (line 150) | METHODDEF(JDIMENSION)
function get_32bit_row (line 177) | METHODDEF(JDIMENSION)
function preload_image (line 212) | METHODDEF(JDIMENSION)
function start_input_bmp (line 266) | METHODDEF(void)
function finish_input_bmp (line 442) | METHODDEF(void)
function jinit_read_bmp (line 453) | GLOBAL(cjpeg_source_ptr)
FILE: dlib/external/libjpeg/rdcolmap.c
function add_map_entry (line 45) | LOCAL(void)
function read_gif_map (line 78) | LOCAL(void)
function pbm_getc (line 120) | LOCAL(int)
function read_pbm_integer (line 137) | LOCAL(unsigned int)
function read_ppm_map (line 170) | LOCAL(void)
function read_color_map (line 230) | GLOBAL(void)
FILE: dlib/external/libjpeg/rdgif.c
type U_CHAR (line 41) | typedef unsigned char U_CHAR;
type U_CHAR (line 44) | typedef char U_CHAR;
type gif_source_struct (line 94) | typedef struct {
type gif_source_struct (line 135) | typedef gif_source_struct * gif_source_ptr;
function ReadByte (line 147) | LOCAL(int)
function GetDataBlock (line 160) | LOCAL(int)
function SkipDataBlocks (line 176) | LOCAL(void)
function ReInitLZW (line 187) | LOCAL(void)
function InitLZWCode (line 198) | LOCAL(void)
function GetCode (line 219) | LOCAL(int)
function LZWReadByte (line 268) | LOCAL(int)
function ReadColorMap (line 351) | LOCAL(void)
function DoExtension (line 370) | LOCAL(void)
function start_input_gif (line 389) | METHODDEF(void)
function get_pixel_rows (line 539) | METHODDEF(JDIMENSION)
function load_interlaced_image (line 565) | METHODDEF(JDIMENSION)
function get_interlaced_row (line 608) | METHODDEF(JDIMENSION)
function finish_input_gif (line 652) | METHODDEF(void)
function jinit_read_gif (line 663) | GLOBAL(cjpeg_source_ptr)
FILE: dlib/external/libjpeg/rdjpgcom.c
function read_1_byte (line 76) | static int
function read_2_bytes (line 89) | static unsigned int
function next_marker (line 141) | static int
function first_marker (line 176) | static int
function skip_variable (line 198) | static void
function process_COM (line 224) | static void
function process_SOFn (line 281) | static void
function scan_JPEG_header (line 339) | static int
function usage (line 408) | static void
function keymatch (line 424) | static int
function main (line 453) | int
FILE: dlib/external/libjpeg/rdppm.c
type U_CHAR (line 42) | typedef unsigned char U_CHAR;
type U_CHAR (line 45) | typedef char U_CHAR;
type ppm_source_struct (line 70) | typedef struct {
type ppm_source_struct (line 81) | typedef ppm_source_struct * ppm_source_ptr;
function pbm_getc (line 84) | LOCAL(int)
function read_pbm_integer (line 101) | LOCAL(unsigned int)
function get_text_gray_row (line 141) | METHODDEF(JDIMENSION)
function get_text_rgb_row (line 164) | METHODDEF(JDIMENSION)
function get_scaled_gray_row (line 195) | METHODDEF(JDIMENSION)
function get_scaled_rgb_row (line 221) | METHODDEF(JDIMENSION)
function get_raw_row (line 255) | METHODDEF(JDIMENSION)
function get_word_gray_row (line 270) | METHODDEF(JDIMENSION)
function get_word_rgb_row (line 297) | METHODDEF(JDIMENSION)
function start_input_ppm (line 338) | METHODDEF(void)
function finish_input_ppm (line 475) | METHODDEF(void)
function jinit_read_ppm (line 486) | GLOBAL(cjpeg_source_ptr)
FILE: dlib/external/libjpeg/rdrle.c
type rle_kind (line 52) | typedef enum
type _rle_source_struct (line 63) | struct _rle_source_struct
type rle_source_struct (line 65) | typedef struct _rle_source_struct {
function start_input_rle (line 81) | METHODDEF(void)
function get_rle_row (line 181) | METHODDEF(JDIMENSION)
function get_pseudocolor_row (line 199) | METHODDEF(JDIMENSION)
function load_image (line 235) | METHODDEF(JDIMENSION)
function finish_input_rle (line 353) | METHODDEF(void)
function jinit_read_rle (line 364) | GLOBAL(cjpeg_source_ptr)
FILE: dlib/external/libjpeg/rdswitch.c
function text_getc (line 22) | LOCAL(int)
function read_text_integer (line 39) | LOCAL(boolean)
function read_quant_tables (line 74) | GLOBAL(boolean)
function read_scan_integer (line 130) | LOCAL(boolean)
function read_scan_script (line 159) | GLOBAL(boolean)
function set_quality_ratings (line 266) | GLOBAL(boolean)
function set_quant_slots (line 297) | GLOBAL(boolean)
function set_sample_factors (line 331) | GLOBAL(boolean)
FILE: dlib/external/libjpeg/rdtarga.c
type U_CHAR (line 29) | typedef unsigned char U_CHAR;
type U_CHAR (line 32) | typedef char U_CHAR;
type _tga_source_struct (line 46) | struct _tga_source_struct
type tga_source_struct (line 48) | typedef struct _tga_source_struct {
function read_byte (line 88) | LOCAL(int)
function read_colormap (line 101) | LOCAL(void)
function read_non_rle_pixel (line 123) | METHODDEF(void)
function read_rle_pixel (line 134) | METHODDEF(void)
function get_8bit_gray_row (line 170) | METHODDEF(JDIMENSION)
function get_8bit_row (line 186) | METHODDEF(JDIMENSION)
function get_16bit_row (line 212) | METHODDEF(JDIMENSION)
function get_24bit_row (line 240) | METHODDEF(JDIMENSION)
function get_memory_row (line 274) | METHODDEF(JDIMENSION)
function preload_image (line 300) | METHODDEF(JDIMENSION)
function start_input_tga (line 333) | METHODDEF(void)
function finish_input_tga (line 474) | METHODDEF(void)
function jinit_read_targa (line 485) | GLOBAL(cjpeg_source_ptr)
FILE: dlib/external/libjpeg/transupp.c
function drop_request_virt_barray (line 95) | METHODDEF(jvirt_barray_ptr)
function drop_consume_input (line 112) | METHODDEF(int)
function drop_start_input_pass (line 119) | METHODDEF(void)
function drop_request_from_src (line 126) | LOCAL(void)
function dequant_comp (line 163) | LOCAL(void)
function requant_comp (line 193) | LOCAL(void)
function largest_common_denominator (line 246) | LOCAL(JCOEF)
function adjust_quant (line 261) | LOCAL(void)
function do_drop (line 296) | LOCAL(void)
function do_crop (line 348) | LOCAL(void)
function do_crop_ext_zero (line 386) | LOCAL(void)
function do_crop_ext_flat (line 464) | LOCAL(void)
function do_crop_ext_reflect (line 547) | LOCAL(void)
function do_wipe (line 648) | LOCAL(void)
function do_flatten (line 681) | LOCAL(void)
function do_reflect (line 731) | LOCAL(void)
function do_flip_h_no_crop (line 803) | LOCAL(void)
function do_flip_h (line 870) | LOCAL(void)
function do_flip_v (line 932) | LOCAL(void)
function do_transpose (line 1012) | LOCAL(void)
function do_rot_90 (line 1060) | LOCAL(void)
function do_rot_270 (line 1141) | LOCAL(void)
function do_rot_180 (line 1212) | LOCAL(void)
function do_transverse (line 1320) | LOCAL(void)
function jt_read_integer (line 1440) | LOCAL(boolean)
function jtransform_parse_crop_spec (line 1470) | GLOBAL(boolean)
function trim_right_edge (line 1530) | LOCAL(void)
function trim_bottom_edge (line 1541) | LOCAL(void)
function jtransform_request_workspace (line 1570) | GLOBAL(boolean)
function transpose_critical_parameters (line 1904) | LOCAL(void)
function adjust_exif_parameters (line 1950) | LOCAL(void)
function jtransform_adjust_parameters (line 2112) | GLOBAL(jvirt_barray_ptr *)
function jtransform_execute_transform (line 2214) | GLOBAL(void)
function jtransform_perfect_transform (line 2327) | GLOBAL(boolean)
function jcopy_markers_setup (line 2366) | GLOBAL(void)
function jcopy_markers_execute (line 2391) | GLOBAL(void)
FILE: dlib/external/libjpeg/transupp.h
type JXFORM_CODE (line 105) | typedef enum {
type JCROP_CODE (line 124) | typedef enum {
type jpeg_transform_info (line 138) | typedef struct {
type JCOPY_OPTION (line 216) | typedef enum {
FILE: dlib/external/libjpeg/wrbmp.c
type bmp_dest_struct (line 45) | typedef struct {
type bmp_dest_struct (line 57) | typedef bmp_dest_struct * bmp_dest_ptr;
function put_pixel_rows (line 71) | METHODDEF(void)
function put_gray_rows (line 103) | METHODDEF(void)
function start_output_bmp (line 136) | METHODDEF(void)
function write_bmp_header (line 151) | LOCAL(void)
function write_os2_header (line 224) | LOCAL(void)
function write_colormap (line 286) | LOCAL(void)
function finish_output_bmp (line 338) | METHODDEF(void)
function jinit_write_bmp (line 382) | GLOBAL(djpeg_dest_ptr)
FILE: dlib/external/libjpeg/wrgif.c
type INT16 (line 37) | typedef INT16 code_int;
type hash_int (line 43) | typedef int hash_int;
type INT32 (line 64) | typedef INT32 hash_entry;
type gif_dest_struct (line 71) | typedef struct {
type gif_dest_struct (line 103) | typedef gif_dest_struct * gif_dest_ptr;
function flush_packet (line 111) | LOCAL(void)
function output (line 135) | LOCAL(void)
function clear_hash (line 167) | LOCAL(void)
function clear_block (line 176) | LOCAL(void)
function compress_init (line 188) | LOCAL(void)
function compress_term (line 211) | LOCAL(void)
function put_word (line 232) | LOCAL(void)
function put_3bytes (line 241) | LOCAL(void)
function emit_header (line 251) | LOCAL(void)
function start_output_gif (line 334) | METHODDEF(void)
function put_LZW_pixel_rows (line 356) | METHODDEF(void)
function put_raw_pixel_rows (line 457) | METHODDEF(void)
function finish_output_gif (line 492) | METHODDEF(void)
function jinit_write_gif (line 514) | GLOBAL(djpeg_dest_ptr)
FILE: dlib/external/libjpeg/wrjpgcom.c
function read_1_byte (line 92) | static int
function read_2_bytes (line 105) | static unsigned int
function write_1_byte (line 122) | static void
function write_2_bytes (line 128) | static void
function write_marker (line 135) | static void
function copy_rest_of_file (line 142) | static void
function next_marker (line 187) | static int
function first_marker (line 222) | static int
function copy_variable (line 244) | static void
function skip_variable (line 264) | static void
function scan_JPEG_header (line 289) | static int
function usage (line 351) | static void
function keymatch (line 384) | static int
function main (line 413) | int
FILE: dlib/external/libjpeg/wrppm.c
type ppm_dest_struct (line 69) | typedef struct {
type ppm_dest_struct (line 79) | typedef ppm_dest_struct * ppm_dest_ptr;
function put_pixel_rows (line 90) | METHODDEF(void)
function copy_pixel_rows (line 105) | METHODDEF(void)
function put_demapped_rgb (line 128) | METHODDEF(void)
function put_demapped_gray (line 152) | METHODDEF(void)
function start_output_ppm (line 175) | METHODDEF(void)
function finish_output_ppm (line 202) | METHODDEF(void)
function jinit_write_ppm (line 216) | GLOBAL(djpeg_dest_ptr)
FILE: dlib/external/libjpeg/wrrle.c
type rle_dest_struct (line 54) | typedef struct {
type rle_dest_struct (line 63) | typedef rle_dest_struct * rle_dest_ptr;
function start_output_rle (line 78) | METHODDEF(void)
function rle_put_pixel_rows (line 154) | METHODDEF(void)
function finish_output_rle (line 174) | METHODDEF(void)
function jinit_write_rle (line 279) | GLOBAL(djpeg_dest_ptr)
FILE: dlib/external/libjpeg/wrtarga.c
type tga_dest_struct (line 44) | typedef struct {
type tga_dest_struct (line 51) | typedef tga_dest_struct * tga_dest_ptr;
function write_header (line 54) | LOCAL(void)
function put_pixel_rows (line 99) | METHODDEF(void)
function put_gray_rows (line 120) | METHODDEF(void)
function put_demapped_gray (line 144) | METHODDEF(void)
function start_output_tga (line 167) | METHODDEF(void)
function finish_output_tga (line 213) | METHODDEF(void)
function jinit_write_targa (line 227) | GLOBAL(djpeg_dest_ptr)
FILE: dlib/external/libpng/arm/arm_init.c
function png_have_neon (line 33) | static int
function safe_read (line 61) | static size_t
function png_have_neon (line 119) | static int
function png_init_filter_functions_neon (line 154) | void
FILE: dlib/external/libpng/arm/filter_neon_intrinsics.c
function png_read_filter_row_up_neon (line 41) | void
function png_read_filter_row_sub3_neon (line 60) | void
function png_read_filter_row_sub4_neon (line 105) | void
function png_read_filter_row_avg3_neon (line 132) | void
function png_read_filter_row_avg4_neon (line 198) | void
function uint8x8_t (line 236) | static uint8x8_t
function png_read_filter_row_paeth3_neon (line 263) | void
function png_read_filter_row_paeth4_neon (line 329) | void
FILE: dlib/external/libpng/arm/palette_neon_intrinsics.c
function png_riffle_palette_neon (line 24) | void
function png_do_expand_palette_rgba8_neon (line 61) | int
function png_do_expand_palette_rgb8_neon (line 105) | int
FILE: dlib/external/libpng/png.c
type png_libpng_version_1_6_37 (line 17) | typedef png_libpng_version_1_6_37 Your_png_h_is_not_version_1_6_37;
function png_set_sig_bytes (line 4
Copy disabled (too large)
Download .json
Condensed preview — 1964 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,315K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/bug.yml",
"chars": 2469,
"preview": "name: Bug Report\ndescription: Create a bug report.\ntitle: \"[Bug]: \"\nassignees: []\nbody:\n - type: markdown\n attribute"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 163,
"preview": "blank_issues_enabled: false\ncontact_links:\n- name: 💬 Discussions\n url: https://github.com/davisking/dlib/discussions\n "
},
{
"path": ".github/ISSUE_TEMPLATE/feature.yml",
"chars": 893,
"preview": "name: Feature Request\ndescription: Suggest an idea for dlib\nlabels: type:enhancement\nassignees: []\nbody:\n - type: markd"
},
{
"path": ".github/workflows/build_cpp.yml",
"chars": 7533,
"preview": "name: C++\n\non:\n push:\n branches:\n - master\n paths:\n - \".github/workflows/build_cpp.yml\"\n - \"**.cpp\"\n "
},
{
"path": ".github/workflows/build_matlab.yml",
"chars": 941,
"preview": "name: Matlab\n\non:\n push:\n branches:\n - master\n paths:\n - \".github/workflows/build_matlab.yml\"\n - \"**.cpp"
},
{
"path": ".github/workflows/build_python.yml",
"chars": 1666,
"preview": "name: Python\n\non:\n push:\n branches:\n - master\n paths:\n - \".github/workflows/build_python.yml\"\n - \"**.cpp"
},
{
"path": ".gitignore",
"chars": 257,
"preview": "**/.idea\n*~\n*.swp\n*.o\n*.so\n*.pyc\nbuild\nbuild2\ndist\n*.egg-info/\ndocs/release/\ndocs/docs/web/\ndocs/docs/chm/\ndocs/docs/cac"
},
{
"path": "CMakeLists.txt",
"chars": 1654,
"preview": "cmake_minimum_required(VERSION 3.17.0)\n\nproject(dlib_project)\n\n\n\n#######################################################"
},
{
"path": "LICENSE.txt",
"chars": 1337,
"preview": "Boost Software License - Version 1.0 - August 17th, 2003\n\nPermission is hereby granted, free of charge, to any person or"
},
{
"path": "MANIFEST.in",
"chars": 351,
"preview": "#\n# MANIFEST.in\n#\n# Manifest template for creating the dlib source distribution.\n\ninclude MANIFEST.in\ninclude setup.py\ni"
},
{
"path": "README.md",
"chars": 3535,
"preview": "# dlib C++ library [ 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/all/source.cpp",
"chars": 3251,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any.h",
"chars": 2244,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_abstract.h",
"chars": 6028,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_decision_function.h",
"chars": 692,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_decision_function_abstract.h",
"chars": 681,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_function.h",
"chars": 4219,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_function_abstract.h",
"chars": 8622,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_trainer.h",
"chars": 4023,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/any_trainer_abstract.h",
"chars": 7242,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any/storage.h",
"chars": 36203,
"preview": "// Copyright (C) 2022 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/any.h",
"chars": 308,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array/array_kernel.h",
"chars": 20277,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array/array_kernel_abstract.h",
"chars": 11512,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array/array_tools.h",
"chars": 937,
"preview": "// Copyright (C) 2013 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array/array_tools_abstract.h",
"chars": 1113,
"preview": "// Copyright (C) 2013 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array.h",
"chars": 257,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array2d/array2d_generic_image.h",
"chars": 1585,
"preview": "// Copyright (C) 2014 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array2d/array2d_kernel.h",
"chars": 13604,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array2d/array2d_kernel_abstract.h",
"chars": 10014,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array2d/serialize_pixel_overloads.h",
"chars": 10725,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/array2d.h",
"chars": 328,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/assert.h",
"chars": 9199,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/base64/base64_kernel_1.cpp",
"chars": 12160,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/base64/base64_kernel_1.h",
"chars": 2319,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/base64/base64_kernel_abstract.h",
"chars": 3677,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/base64.h",
"chars": 233,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bayes_utils/bayes_utils.h",
"chars": 58508,
"preview": "// Copyright (C) 2007 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bayes_utils/bayes_utils_abstract.h",
"chars": 31986,
"preview": "// Copyright (C) 2007 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bayes_utils.h",
"chars": 259,
"preview": "// Copyright (C) 2007 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint/bigint_kernel_1.cpp",
"chars": 45806,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint/bigint_kernel_1.h",
"chars": 13708,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint/bigint_kernel_2.cpp",
"chars": 53429,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint/bigint_kernel_2.h",
"chars": 14545,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint/bigint_kernel_abstract.h",
"chars": 17886,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint/bigint_kernel_c.h",
"chars": 32046,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bigint.h",
"chars": 825,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/binary_search_tree/binary_search_tree_kernel_1.h",
"chars": 61276,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/binary_search_tree/binary_search_tree_kernel_2.h",
"chars": 54564,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/binary_search_tree/binary_search_tree_kernel_abstract.h",
"chars": 10463,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/binary_search_tree/binary_search_tree_kernel_c.h",
"chars": 6742,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/binary_search_tree.h",
"chars": 1274,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_kernel_1.cpp",
"chars": 5099,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_kernel_1.h",
"chars": 3084,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_kernel_abstract.h",
"chars": 5315,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_kernel_c.h",
"chars": 4748,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_multi_1.h",
"chars": 2567,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_multi_abstract.h",
"chars": 2177,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream/bit_stream_multi_c.h",
"chars": 3115,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bit_stream.h",
"chars": 999,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bits/c++config.h",
"chars": 45,
"preview": "#include \"../dlib_include_path_tutorial.txt\"\n"
},
{
"path": "dlib/bound_function_pointer/bound_function_pointer_kernel_1.h",
"chars": 22881,
"preview": "// Copyright (C) 2008 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bound_function_pointer/bound_function_pointer_kernel_abstract.h",
"chars": 13121,
"preview": "// Copyright (C) 2008 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bound_function_pointer.h",
"chars": 315,
"preview": "// Copyright (C) 2008 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bridge/bridge.h",
"chars": 23615,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bridge/bridge_abstract.h",
"chars": 13062,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bridge.h",
"chars": 310,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bsp/bsp.cpp",
"chars": 18050,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bsp/bsp.h",
"chars": 30785,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bsp/bsp_abstract.h",
"chars": 42983,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/bsp.h",
"chars": 217,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/byte_orderer/byte_orderer_kernel_1.h",
"chars": 4906,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/byte_orderer/byte_orderer_kernel_abstract.h",
"chars": 3974,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/byte_orderer.h",
"chars": 267,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cassert",
"chars": 42,
"preview": "#include \"dlib_include_path_tutorial.txt\"\n"
},
{
"path": "dlib/clustering/bottom_up_cluster.h",
"chars": 8930,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/bottom_up_cluster_abstract.h",
"chars": 4526,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/chinese_whispers.h",
"chars": 4556,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/chinese_whispers_abstract.h",
"chars": 4018,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/modularity_clustering.h",
"chars": 19209,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/modularity_clustering_abstract.h",
"chars": 6193,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/spectral_cluster.h",
"chars": 2776,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering/spectral_cluster_abstract.h",
"chars": 1690,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/clustering.h",
"chars": 404,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmake",
"chars": 96,
"preview": "\ncmake_minimum_required(VERSION 3.8.0)\n\nadd_subdirectory(${CMAKE_CURRENT_LIST_DIR} dlib_build)\n\n"
},
{
"path": "dlib/cmake_utils/FindCUDNN.cmake",
"chars": 3549,
"preview": "# Find the CUDNN libraries\n#\n# The following variables are optionally searched for defaults\n# CUDNN_ROOT: Base director"
},
{
"path": "dlib/cmake_utils/check_if_avx_instructions_executable_on_host.cmake",
"chars": 629,
"preview": "# This script checks if your compiler and host processor can generate and then run programs with AVX instructions.\n\ncmak"
},
{
"path": "dlib/cmake_utils/check_if_neon_available.cmake",
"chars": 582,
"preview": "# This script checks if __ARM_NEON__ is defined for your compiler\n\ncmake_minimum_required(VERSION 3.10.0)\n\n# Don't rerun"
},
{
"path": "dlib/cmake_utils/check_if_sse4_instructions_executable_on_host.cmake",
"chars": 638,
"preview": "# This script checks if your compiler and host processor can generate and then run programs with SSE4 instructions.\n\ncma"
},
{
"path": "dlib/cmake_utils/dlib.pc.in",
"chars": 287,
"preview": "libdir=@CMAKE_INSTALL_FULL_LIBDIR@\nincludedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@\n\nName: @PROJECT_NAME@\nDescription: Numeric"
},
{
"path": "dlib/cmake_utils/dlibConfig.cmake.in",
"chars": 1950,
"preview": "# ===================================================================================\n# The dlib CMake configuration fi"
},
{
"path": "dlib/cmake_utils/find_blas.cmake",
"chars": 19906,
"preview": "#\n# This is a CMake makefile. You can find the cmake utility and\n# information about it at http://www.cmake.org\n#\n#\n# T"
},
{
"path": "dlib/cmake_utils/find_ffmpeg.cmake",
"chars": 1255,
"preview": "cmake_minimum_required(VERSION 3.10.0)\n\nmessage(STATUS \"Searching for FFMPEG/LIBAV\")\nfind_package(PkgConfig)\nif (PkgConf"
},
{
"path": "dlib/cmake_utils/find_libjpeg.cmake",
"chars": 1155,
"preview": "#This script just runs CMake's built in JPEG finding tool. But it also checks that the\n#copy of libjpeg that cmake find"
},
{
"path": "dlib/cmake_utils/find_libjxl.cmake",
"chars": 2297,
"preview": "#=============================================================================\n# Find JPEG XL library\n#================="
},
{
"path": "dlib/cmake_utils/find_libpng.cmake",
"chars": 1126,
"preview": "#This script just runs CMake's built in PNG finding tool. But it also checks that the\n#copy of libpng that cmake finds "
},
{
"path": "dlib/cmake_utils/find_libwebp.cmake",
"chars": 1760,
"preview": "#=============================================================================\n# Find WebP library\n# From OpenCV\n#======"
},
{
"path": "dlib/cmake_utils/release_build_by_default",
"chars": 219,
"preview": "\n#set default build type to Release\nif(NOT CMAKE_BUILD_TYPE)\n set(CMAKE_BUILD_TYPE \"Release\" CACHE STRING\n \"Choos"
},
{
"path": "dlib/cmake_utils/set_compiler_specific_options.cmake",
"chars": 5266,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\n\n\n# Check if we are being built as part of a pybind11 module. \nif (COMMAND pybin"
},
{
"path": "dlib/cmake_utils/tell_visual_studio_to_use_static_runtime.cmake",
"chars": 678,
"preview": "\n# Including this cmake script into your cmake project will cause visual studio\n# to build your project against the stat"
},
{
"path": "dlib/cmake_utils/test_for_avx/CMakeLists.txt",
"chars": 985,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(avx_test)\n\nset(USE_AVX_INSTRUCTIONS ON CACHE BOOL \"Use AVX instructions\""
},
{
"path": "dlib/cmake_utils/test_for_avx/avx_test.cpp",
"chars": 217,
"preview": "\n#include <immintrin.h> \n\nint main()\n{\n __m256 x;\n x = _mm256_set1_ps(1.23);\n x = _mm256_add_ps(x,x);\n retur"
},
{
"path": "dlib/cmake_utils/test_for_avx/this_file_doesnt_compile.cpp",
"chars": 38,
"preview": "\n#error \"This file doesn't compile!\"\n\n"
},
{
"path": "dlib/cmake_utils/test_for_libjpeg/CMakeLists.txt",
"chars": 237,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(test_if_libjpeg_is_broken)\n\nfind_package(JPEG)\n\ninclude_directories(${JP"
},
{
"path": "dlib/cmake_utils/test_for_libjpeg/libjpeg_test.cpp",
"chars": 1712,
"preview": "// Copyright (C) 2019 Davis E. King (davis@dlib.net), Nils Labugt\n// License: Boost Software License See LICENSE.txt "
},
{
"path": "dlib/cmake_utils/test_for_libjxl/CMakeLists.txt",
"chars": 209,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(test_if_libjxl_is_broken)\n\ninclude_directories(${JXL_INCLUDE_DIR})\nadd_e"
},
{
"path": "dlib/cmake_utils/test_for_libjxl/libjxl_test.cpp",
"chars": 706,
"preview": "// Copyright (C) 2023 Davis E. King (davis@dlib.net), Adrià Arrufat\n// License: Boost Software License See LICENSE.txt"
},
{
"path": "dlib/cmake_utils/test_for_libpng/CMakeLists.txt",
"chars": 232,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(test_if_libpng_is_broken)\n\nfind_package(PNG)\n\ninclude_directories(${PNG_"
},
{
"path": "dlib/cmake_utils/test_for_libpng/libpng_test.cpp",
"chars": 1840,
"preview": "// Copyright (C) 2019 Davis E. King (davis@dlib.net), Nils Labugt\n// License: Boost Software License See LICENSE.txt "
},
{
"path": "dlib/cmake_utils/test_for_libwebp/CMakeLists.txt",
"chars": 215,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(test_if_libwebp_is_broken)\n\ninclude_directories(${WEBP_INCLUDE_DIR})\nadd"
},
{
"path": "dlib/cmake_utils/test_for_libwebp/libwebp_test.cpp",
"chars": 759,
"preview": "// Copyright (C) 2019 Davis E. King (davis@dlib.net), Nils Labugt\n// License: Boost Software License See LICENSE.txt "
},
{
"path": "dlib/cmake_utils/test_for_neon/CMakeLists.txt",
"chars": 106,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(neon_test)\n\nadd_library(neon_test STATIC neon_test.cpp )\n\n"
},
{
"path": "dlib/cmake_utils/test_for_neon/neon_test.cpp",
"chars": 154,
"preview": "#ifdef __ARM_NEON__\n#else\n#error \"No NEON\"\n#endif\nint main(){}\n\n\n// ----------------------------------------------------"
},
{
"path": "dlib/cmake_utils/test_for_sse4/CMakeLists.txt",
"chars": 995,
"preview": "\ncmake_minimum_required(VERSION 3.10.0)\nproject(sse4_test)\n\nset(USE_SSE4_INSTRUCTIONS ON CACHE BOOL \"Use SSE4 instructio"
},
{
"path": "dlib/cmake_utils/test_for_sse4/sse4_test.cpp",
"chars": 339,
"preview": "\n#include <xmmintrin.h>\n#include <emmintrin.h>\n#include <mmintrin.h>\n#include <pmmintrin.h> // SSE3\n#include <tmmintrin."
},
{
"path": "dlib/cmake_utils/test_for_sse4/this_file_doesnt_compile.cpp",
"chars": 38,
"preview": "\n#error \"This file doesn't compile!\"\n\n"
},
{
"path": "dlib/cmd_line_parser/cmd_line_parser_check_1.h",
"chars": 18813,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/cmd_line_parser_check_c.h",
"chars": 18936,
"preview": "// Copyright (C) 2006 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/cmd_line_parser_kernel_1.h",
"chars": 26609,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/cmd_line_parser_kernel_abstract.h",
"chars": 26391,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/cmd_line_parser_kernel_c.h",
"chars": 6794,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/cmd_line_parser_print_1.h",
"chars": 6242,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/get_option.h",
"chars": 6702,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser/get_option_abstract.h",
"chars": 5623,
"preview": "// Copyright (C) 2012 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cmd_line_parser.h",
"chars": 2679,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/compress_stream/compress_stream_kernel_1.h",
"chars": 7267,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/compress_stream/compress_stream_kernel_2.h",
"chars": 14574,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/compress_stream/compress_stream_kernel_3.h",
"chars": 11013,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/compress_stream/compress_stream_kernel_abstract.h",
"chars": 2853,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/compress_stream.h",
"chars": 4982,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class/conditioning_class_kernel_1.h",
"chars": 9281,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class/conditioning_class_kernel_2.h",
"chars": 14755,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class/conditioning_class_kernel_3.h",
"chars": 12279,
"preview": "// Copyright (C) 2004 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class/conditioning_class_kernel_4.h",
"chars": 16023,
"preview": "// Copyright (C) 2004 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class/conditioning_class_kernel_abstract.h",
"chars": 7951,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class/conditioning_class_kernel_c.h",
"chars": 5231,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/conditioning_class.h",
"chars": 2484,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/config.h",
"chars": 1321,
"preview": "\n\n// If you are compiling dlib as a shared library and installing it somewhere on your system\n// then it is important th"
},
{
"path": "dlib/config.h.in",
"chars": 1644,
"preview": "\n\n// If you are compiling dlib as a shared library and installing it somewhere on your system\n// then it is important th"
},
{
"path": "dlib/config_reader/config_reader_kernel_1.h",
"chars": 21711,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/config_reader/config_reader_kernel_abstract.h",
"chars": 14415,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/config_reader/config_reader_thread_safe_1.h",
"chars": 12293,
"preview": "// Copyright (C) 2007 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/config_reader/config_reader_thread_safe_abstract.h",
"chars": 1369,
"preview": "// Copyright (C) 2007 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/config_reader.h",
"chars": 990,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/console_progress_indicator.h",
"chars": 8959,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/constexpr_if.h",
"chars": 4451,
"preview": "// Copyright (C) 2022 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control/approximate_linear_models.h",
"chars": 3608,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control/approximate_linear_models_abstract.h",
"chars": 7264,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control/lspi.h",
"chars": 4947,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control/lspi_abstract.h",
"chars": 6106,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control/mpc.h",
"chars": 13591,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control/mpc_abstract.h",
"chars": 10841,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/control.h",
"chars": 252,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_pretty_printer/cpp_pretty_printer_kernel_1.h",
"chars": 20239,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_pretty_printer/cpp_pretty_printer_kernel_2.h",
"chars": 17265,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_pretty_printer/cpp_pretty_printer_kernel_abstract.h",
"chars": 2675,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_pretty_printer.h",
"chars": 907,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_tokenizer/cpp_tokenizer_kernel_1.h",
"chars": 23933,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_tokenizer/cpp_tokenizer_kernel_abstract.h",
"chars": 7263,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_tokenizer/cpp_tokenizer_kernel_c.h",
"chars": 3888,
"preview": "// Copyright (C) 2003 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cpp_tokenizer.h",
"chars": 941,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/crc32/crc32_kernel_1.h",
"chars": 8460,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/crc32/crc32_kernel_abstract.h",
"chars": 3098,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/crc32.h",
"chars": 229,
"preview": "// Copyright (C) 2005 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cstring",
"chars": 42,
"preview": "#include \"dlib_include_path_tutorial.txt\"\n"
},
{
"path": "dlib/cuda/cpu_dlib.cpp",
"chars": 125005,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cpu_dlib.h",
"chars": 30844,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cublas_dlibapi.cpp",
"chars": 8653,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cublas_dlibapi.h",
"chars": 3018,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cuda_data_ptr.cpp",
"chars": 5032,
"preview": "// Copyright (C) 2017 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cuda_data_ptr.h",
"chars": 13974,
"preview": "// Copyright (C) 2017 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cuda_dlib.cu",
"chars": 120925,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full"
},
{
"path": "dlib/cuda/cuda_dlib.h",
"chars": 29813,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cuda_errors.h",
"chars": 1844,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cuda_utils.h",
"chars": 15130,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cudnn_dlibapi.cpp",
"chars": 77174,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cudnn_dlibapi.h",
"chars": 12022,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full"
},
{
"path": "dlib/cuda/curand_dlibapi.cpp",
"chars": 3488,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/curand_dlibapi.h",
"chars": 1891,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cusolver_dlibapi.cu",
"chars": 6770,
"preview": "// Copyright (C) 2017 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/cusolver_dlibapi.h",
"chars": 1904,
"preview": "// Copyright (C) 2017 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/gpu_data.cpp",
"chars": 9437,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/gpu_data.h",
"chars": 8127,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/gpu_data_abstract.h",
"chars": 10382,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/operation_mode.h",
"chars": 951,
"preview": "// Copyright (C) 2024 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/tensor.h",
"chars": 21814,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/tensor_abstract.h",
"chars": 25820,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/tensor_tools.cpp",
"chars": 39942,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/cuda/tensor_tools.h",
"chars": 98765,
"preview": "// Copyright (C) 2015 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full"
},
{
"path": "dlib/data_io/arc_agi.h",
"chars": 36715,
"preview": "// Copyright (C) 2025 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/data_io/arc_agi_abstract.h",
"chars": 11418,
"preview": "// Copyright (C) 2025 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full"
},
{
"path": "dlib/data_io/cifar.cpp",
"chars": 3598,
"preview": "// Copyright (C) 2020 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/data_io/cifar.h",
"chars": 862,
"preview": "// Copyright (C) 2020 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/data_io/cifar_abstract.h",
"chars": 2166,
"preview": "// Copyright (C) 2020 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/data_io/image_dataset_metadata.cpp",
"chars": 17083,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/data_io/image_dataset_metadata.h",
"chars": 5466,
"preview": "// Copyright (C) 2011 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
},
{
"path": "dlib/data_io/libsvm_io.h",
"chars": 9288,
"preview": "// Copyright (C) 2010 Davis E. King (davis@dlib.net)\n// License: Boost Software License See LICENSE.txt for the full "
}
]
// ... and 1764 more files (download for full content)
About this extraction
This page contains the full source code of the davisking/dlib GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1964 files (24.2 MB), approximately 4.0M tokens, and a symbol index with 7194 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.